소스 검색

新账号中心页面增加优软云协议链接,完成密码重置申诉,以及增加判断用户是否登录的接口

hangb 7 년 전
부모
커밋
9371a85903

+ 2 - 5
components/appeal/AccountAppeal.vue

@@ -20,7 +20,7 @@
                          @click="getCheckCode"
                          :disabled="getCodeBtnIsDisabled">获取验证码</el-button>
               <el-button type="primary"  v-show="!sendAccountCode" class="code code-send">已发送({{account_time}}s)</el-button>
-              <span v-show="codeErrorChecked" class="tip codeError-tip" >验证码输入错误</span>
+              <!--<span v-show="codeErrorChecked" class="tip codeError-tip" >验证码输入错误</span>-->
             </el-form-item>
             <el-form-item prop="password">
               <el-input type="password" v-model="account.password" auto-complete="off" placeholder="登录密码"></el-input>
@@ -45,7 +45,7 @@
             </el-form-item>
             <el-form-item>
               <el-checkbox name="type" v-model="checked" @click="checkboxChecked"></el-checkbox>
-              <span class="agree">我已阅读并同意 <a href="">《优软云服务条款》</a></span>
+              <span class="agree">我已阅读并同意 <a href="/common/agreement">《优软云服务条款》</a></span>
             </el-form-item>
           </el-form>
         </div>
@@ -95,7 +95,6 @@
           this.codeChecked = false
         } else {
           if (this.account.code !== '') {
-            console.log(this.token)
             if (this.token !== '') {
               if (this.account.code !== '' && this.account.mobile !== '') {
                 let param = new FormData()
@@ -263,8 +262,6 @@
         this.$http.get(`/appeal/check/mobile`, {params: {mobile: this.account.mobile}})
           .then(response => {
             this.token = response.data.content.token
-            console.log(response.data.content)
-            console.log(this.token)
             if (this.token !== '') {
               this.$message({
                 message: '验证码已经发送到您的手机,请注意查收',

+ 622 - 0
components/appeal/PasswordRestAppeal.vue

@@ -0,0 +1,622 @@
+<template>
+  <div class="certification">
+    <div class="container">
+      <div class="content" v-show="goNextStep">
+        <div class="content-top">
+          <h3>密码重置</h3>
+        </div>
+        <div>
+          <el-form :model="passwordRest" :rules="rules" ref="passwordRest" label-width="100px" class="demo-ruleForm">
+            <el-form-item prop="mobile">
+              <el-input v-model="passwordRest.mobile" placeholder="新手机号码"></el-input>
+            </el-form-item>
+            <el-form-item prop="code">
+              <el-input type="text" v-model="passwordRest.code"
+                        v-bind:class="{ active: codeErrorChecked }"
+                        auto-complete="off" class="msg"
+                        placeholder="短信验证码"></el-input>
+              <el-button type="primary" class="code"
+                         v-show="sendAccountCode"
+                         @click="getCheckCode"
+                         :disabled="getCodeBtnIsDisabled">获取验证码</el-button>
+              <el-button type="primary"  v-show="!sendAccountCode" class="code code-send">已发送({{account_time}}s)</el-button>
+              <!--<span v-show="codeErrorChecked" class="tip codeError-tip" >验证码输入错误</span>-->
+            </el-form-item>
+            <el-form-item prop="password">
+              <el-input type="password" v-model="passwordRest.password" auto-complete="off" placeholder="新密码"></el-input>
+              <div class="pwd sm" v-show="showMsgTip1">密码强度 <em></em><em></em><em></em><span>弱</span></div>
+              <div class="pwd md" v-show="showMsgTip2">密码强度 <em></em><em></em><em></em><span>中</span></div>
+              <div class="pwd lar" v-show="showMsgTip3">密码强度 <em></em><em></em><em></em><span>强</span></div>
+              <div class="pwd low" v-show="showMsgTip4">密码强度 <em></em><em></em><em></em></div>
+            </el-form-item>
+            <el-form-item prop="confirm">
+              <el-input type="password" v-model="passwordRest.confirm" auto-complete="off" placeholder="密码确认"></el-input>
+            </el-form-item>
+            <el-form-item prop="description">
+              <el-input type="textarea" v-model="passwordRest.description" placeholder="申诉说明"></el-input>
+              <span class="tip description" v-show="descriptionTip">请描述您申诉的原因,并尽可能多地列举出证明此账号为您所有的证据</span>
+            </el-form-item>
+            <el-form-item prop="contactName">
+              <el-input type="text" v-model="passwordRest.contactName" auto-complete="off" placeholder="姓名"></el-input>
+            </el-form-item>
+            <el-form-item prop="contactTel">
+              <el-input type="text" v-model="passwordRest.contactTel" auto-complete="off" placeholder="联系电话"></el-input>
+            </el-form-item>
+            <el-form-item prop="contactEmail">
+              <el-input type="text" v-model="passwordRest.contactEmail" auto-complete="off" placeholder="电子邮箱"></el-input>
+            </el-form-item>
+            <el-form-item>
+              <a class="btn finish"
+                 @click="submit"
+                 :disabled="!checked || !mobileChecked || !codeChecked || !passwordChecked  || !confirmChecked || !descriptionChecked || !contactNameChecked || !contactTelChecked || !contactEmailChecked">提交</a>
+            </el-form-item>
+            <el-form-item>
+              <el-checkbox name="type" v-model="checked" @click="checkboxChecked"></el-checkbox>
+              <span class="agree">我已阅读并同意 <a href="/common/agreement">《优软云服务条款》</a></span>
+            </el-form-item>
+          </el-form>
+        </div>
+      </div>
+      <div class="content" v-show="!goNextStep">
+        <div class="content-top">
+          <h3>密码重置</h3>
+        </div>
+        <div class="content-bottom">
+          <p class="passed"><img src="/images/all/pass.png" alt=""/>申诉已提交</p>
+          <span>申诉内容已提交,请耐心等待审核</span>
+          <div class="close-btn" @click="goReturn">关闭</div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+  export default {
+    name: 'AccountAppeal',
+    data () {
+      var validateMobile = (rule, value, callback) => {
+        if (value === '') {
+          callback(new Error('请填写正确的手机号'))
+          this.getCodeBtnIsDisabled = true
+          this.mobileChecked = false
+        } else {
+          if (this.passwordRest.mobile !== '') {
+            var reg = /^1[0-9]{10}$/
+            if (!reg.test(value)) {
+              callback(new Error('请填写正确的手机号'))
+              this.getCodeBtnIsDisabled = true
+              this.mobileChecked = false
+            } else {
+              this.getCodeBtnIsDisabled = false
+              this.mobileChecked = true
+            }
+          }
+          callback()
+        }
+      }
+      var validateCode = (rule, value, callback) => {
+        if (value === '') {
+          callback(new Error('请填写正确的验证码'))
+          this.codeErrorChecked = false
+          this.codeChecked = false
+        } else {
+          if (this.passwordRest.code !== '') {
+            if (this.token !== '') {
+              if (this.passwordRest.code !== '' && this.passwordRest.mobile !== '') {
+                let param = new FormData()
+                param.append('mobile', this.passwordRest.mobile)
+                param.append('code', this.passwordRest.code)
+                param.append('token', this.token)
+                let config = {
+                  headers: {'Content-Type': 'multipart/form-data'}
+                }
+                this.$http.post(`/appeal/check/mobile`, param, config)
+                  .then(response => {
+                    if (response.data.success) {
+                      this.codeChecked = true
+                      this.codeErrorChecked = false
+                    } else {
+                      this.codeErrorChecked = true
+                      this.codeChecked = false
+                      return Promise.reject(response.data)
+                    }
+                  }).catch(err => {
+                    this.$message.error(err.errMsg)
+                  })
+              }
+            } else {}
+          }
+          callback()
+        }
+      }
+      var validatePassword = (rule, value, callback) => {
+        if (this.passwordRest.password !== '') {
+          if (value.length <= 20 && value.length >= 8) {
+            var reg1 = /^(?=.{8,20})(((?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]))|((?=.*[0-9])((?=.*[a-zA-Z]))(?=.*[^a-zA-Z0-9]))).*$/
+            var reg2 = /^(?=.{8,20})(((?=.*[0-9])(?=.*[a-z]))|((?=.*[0-9])(?=.*[A-Z]))).*$/
+            if (reg1.test(value)) {
+//                callback(new Error('密码强度强'))
+              this.showMsgTip3 = true
+              this.showMsgTip2 = false
+              this.showMsgTip1 = false
+              this.showMsgTip4 = false
+              this.passwordChecked = true
+            } else if (reg2.test(value)) {
+//                callback(new Error('密码强度中'))
+              this.showMsgTip2 = true
+              this.showMsgTip3 = false
+              this.showMsgTip1 = false
+              this.showMsgTip4 = false
+              this.passwordChecked = true
+            } else {
+              this.showMsgTip1 = true
+              this.showMsgTip3 = false
+              this.showMsgTip2 = false
+              this.showMsgTip4 = false
+              this.passwordChecked = false
+            }
+          } else {
+            this.showMsgTip3 = false
+            this.showMsgTip2 = false
+            this.showMsgTip1 = false
+            this.showMsgTip4 = true
+            this.passwordChecked = false
+          }
+        }
+        callback()
+      }
+      var validatePasswordTip = (rule, value, callback) => {
+        if (value === '') {
+          callback(new Error('请输入密码'))
+          this.passwordChecked = false
+        } else {
+          if (this.passwordRest.password !== '') {
+            if (value.length <= 20 && value.length >= 8) {
+              var reg1 = /^(?=.{8,20})(((?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]))|((?=.*[0-9])((?=.*[a-zA-Z]))(?=.*[^a-zA-Z0-9]))).*$/
+              var reg2 = /^(?=.{8,20})(((?=.*[0-9])(?=.*[a-z]))|((?=.*[0-9])(?=.*[A-Z]))).*$/
+              if (reg1.test(value)) {
+                this.passwordChecked = true
+              } else if (reg2.test(value)) {
+                this.passwordChecked = true
+              } else {
+                callback(new Error('密码须为8-20字符的英文、数字混合'))
+                this.passwordChecked = false
+              }
+            } else {
+              callback(new Error('密码须为8-20字符的英文、数字混合'))
+              this.passwordChecked = false
+            }
+          }
+          callback()
+        }
+      }
+      var validateConfirm = (rule, value, callback) => {
+        if (value === '') {
+          callback(new Error('请再次输入密码'))
+          this.confirmChecked = false
+        } else if (value !== this.passwordRest.password) {
+          callback(new Error('两次输入密码不一致!'))
+          this.confirmChecked = false
+        } else {
+          this.confirmChecked = true
+          callback()
+        }
+      }
+      var validateDescription = (rule, value, callback) => {
+        if (value === '') {
+          callback(new Error('请填写申诉说明'))
+          this.descriptionChecked = false
+          this.descriptionTip = false
+        } else {
+          if (this.passwordRest.description !== '') {
+            if (value.length >= 100) {
+              callback(new Error('输入长度过长,100个字符以内'))
+              this.descriptionChecked = false
+              this.descriptionTip = false
+            } else {
+              this.descriptionChecked = true
+              this.descriptionTip = false
+            }
+          }
+          callback()
+        }
+      }
+      var validateContactName = (rule, value, callback) => {
+        if (value === '') {
+          callback(new Error('请填写您的姓名'))
+          this.contactNameChecked = false
+        } else {
+          if (this.passwordRest.contactName !== '') {
+            if (value.length >= 20) {
+              callback(new Error('输入长度过长,20个字符以内'))
+              this.contactNameChecked = false
+            } else {
+              this.contactNameChecked = true
+            }
+          }
+          callback()
+        }
+      }
+      var validateContactTel = (rule, value, callback) => {
+        if (value === '') {
+          callback(new Error('请填写正确的联系电话'))
+          this.contactTelChecked = false
+        } else {
+          if (this.passwordRest.contactTel !== '') {
+            var reg = /^1[0-9]{10}$/
+            if (!reg.test(value)) {
+              callback(new Error('请填写正确的联系电话'))
+              this.contactTelChecked = false
+            } else {
+              this.contactTelChecked = true
+            }
+          }
+          callback()
+        }
+      }
+      var validateContactEmail = (rule, value, callback) => {
+        if (value === '') {
+          callback(new Error('请填写正确的电子邮箱'))
+          this.contactEmailChecked = false
+        } else {
+          if (this.passwordRest.contactEmail !== '') {
+            var reg = /^([\w-])+(\.\w+)*@([\w-])+((\.\w{2,3}){1,3})$/
+            if (!reg.test(value)) {
+              callback(new Error('请输入正确的邮箱地址格式'))
+              this.contactEmailChecked = false
+            } else {
+              this.contactEmailChecked = true
+            }
+          }
+          callback()
+        }
+      }
+      return {
+        goNextStep: true,
+        passwordRest: {
+          mobile: '',
+          code: '',
+          password: '',
+          conform: '',
+          description: '',
+          contactName: '',
+          contactTel: '',
+          contactEmail: ''
+        },
+        checked: true,
+        sendAccountCode: true,
+        account_time: 0,
+        getCodeBtnIsDisabled: true,
+        codeErrorChecked: false,
+        descriptionTip: true,
+        showMsgTip1: false,
+        showMsgTip2: false,
+        showMsgTip3: false,
+        showMsgTip4: false,
+        mobileChecked: false,
+        codeChecked: false,
+        passwordChecked: false,
+        confirmChecked: false,
+        descriptionChecked: false,
+        contactNameChecked: false,
+        contactTelChecked: false,
+        contactEmailChecked: false,
+        rules: {
+          mobile: [
+            {validator: validateMobile, trigger: 'blur'}
+          ],
+          code: [
+            {validator: validateCode, trigger: 'blur'}
+          ],
+          password: [
+            {validator: validatePassword, trigger: 'change'},
+            {validator: validatePasswordTip, trigger: 'blur'}
+          ],
+          confirm: [
+            {validator: validateConfirm, trigger: 'blur'}
+          ],
+          description: [
+            {validator: validateDescription, trigger: 'blur'}
+          ],
+          contactName: [
+            {validator: validateContactName, trigger: 'blur'}
+          ],
+          contactTel: [
+            {validator: validateContactTel, trigger: 'blur'}
+          ],
+          contactEmail: [
+            {validator: validateContactEmail, trigger: 'blur'}
+          ]
+        }
+      }
+    },
+    methods: {
+//      判断我同意是否被选中
+      checkboxChecked () {
+        this.checked = !this.checked
+      },
+//      获取校验码
+      getCheckCode () {
+        this.$http.get(`/appeal/check/mobile`, {params: {mobile: this.passwordRest.mobile}})
+          .then(response => {
+            this.token = response.data.content.token
+            if (this.token !== '') {
+              this.$message({
+                message: '验证码已经发送到您的手机,请注意查收',
+                type: 'success'
+              })
+              this.sendAccountCode = false
+              this.account_time = 60
+              var accountTime = setInterval(() => {
+                this.account_time--
+                if (this.account_time <= 0) {
+                  this.sendAccountCode = true
+                  clearInterval(accountTime)
+                }
+              }, 1000)
+            }
+          }).catch(err => {
+            this.$message.error(err.errMsg)
+          })
+      },
+      //    提交表单
+      submit () {
+        if (this.mobileChecked && this.codeChecked && this.passwordChecked && this.confirmChecked && this.descriptionChecked && this.contactNameChecked && this.contactTelChecked && this.contactEmailChecked && this.checked) {
+          let param = new FormData()
+          param.append('mobile', this.passwordRest.mobile)
+          param.append('code', this.passwordRest.code)
+          param.append('password', this.passwordRest.password)
+          param.append('description', this.passwordRest.description)
+          param.append('contactName', this.passwordRest.contactName)
+          param.append('contactTel', this.passwordRest.contactTel)
+          param.append('contactEmail', this.passwordRest.contactEmail)
+          param.append('token', this.token)
+          let config = {
+            headers: {'Content-Type': 'multipart/form-data'}
+          }
+          this.$http.post('/appeal/resetPwd', param, config)
+            .then(response => {
+              if (response.data.success) {
+                this.goNextStep = false
+//                待跳转到设置页面
+//                window.loaction.href = ''
+              } else {
+                this.goNextStep = true
+                return Promise.reject(response.data)
+              }
+            }).catch(err => {
+              this.$message.error(err.errMsg)
+            })
+        }
+      },
+//      跳转至个人页面
+      goReturn () {
+//        window.loaction.href = ''
+      }
+    }
+  }
+</script>
+<style lang="scss" scoped>
+  .certification {
+    padding-bottom: 145px;
+    margin: 0 auto;
+    width: 100%;
+    background: #eee;
+  .container{
+    padding-top: 50px;
+    margin: 0 auto;
+    width: 980px;
+    text-align: center;
+  .content{
+    padding: 0 50px;
+    margin: 50px auto 0;
+    width: 100%;
+    text-align: center;
+    background: #fff;
+  .content-top{
+    height: 80px;
+    line-height: 80px;
+  h3{
+    margin-bottom: 0;
+    font-size: 24px;
+    color: #000;
+    border-bottom: 1px solid #dcdcdc;
+  }
+  .step{
+    position: relative;
+    margin-top: 10px;
+  img{
+    width: 315px;
+    height: 46px;
+  }
+  .step-item{
+    position: absolute;
+    top: 45px;
+    left: 265px;
+  span{
+    margin-right: 85px;
+    font-size: 14px;
+    color: #b4b4b4;
+  }
+  span.active {
+    color: #0076ad;
+  }
+  }
+  }
+  }
+  form {
+    padding-bottom: 44px;
+    margin-top: 36px;
+  input{
+    padding: 0 0 0 18px;
+    width: 360px;
+    height: 44px;
+    line-height: 44px;
+    font-size: 14px;
+    color: #000;
+    border-radius: 0;
+  }
+  .pwd {
+    margin: 6px 0 -15px 0;
+    text-align: left;
+    font-size: 13px;
+  em{
+    display: inline-block;
+    margin: 0 8px 2px 0;
+    width: 24px;
+    height: 6px;
+  &:first-child{
+     margin-left: 10px;
+   }
+  }
+  span{
+    margin-left: 10px;
+    font-size: 13px;
+  }
+  }
+  .pwd.sm{
+    color: #8c8c8c;
+  em {
+    background: #bfbfbf;
+  &:first-child{
+     background: #ff4e00;
+   }
+  }
+  span{
+    color: #ff4e00;
+  }
+  }
+  .pwd.md{
+    color: #8c8c8c;
+  em {
+    background: #22ac38;
+  &:nth-child(3){
+     background: #bfbfbf;
+   }
+  }
+  span{
+    color: #22ac38;
+  }
+  }
+  .pwd.lar{
+    color: #8c8c8c;
+  em {
+    background: #00a0e9;
+  }
+  span{
+    color: #00a0e9;
+  }
+  }
+  .pwd.low{
+    color: #8c8c8c;
+  em{
+    background: #bfbfbf;
+  }
+  }
+  span.tip{
+    position: absolute;
+    top: 0;
+    right: -238px;
+    font-size: 13px;
+    color: #8c8c8c;
+  a{
+    font-size: 13px;
+    color: #0076ad;
+  }
+  }
+  span.tip.description {
+    top: 10px;
+    right: -266px;
+    width: 245px;
+    line-height: 18px;
+    text-align: left;
+  }
+  span.tip.codeError-tip {
+    right: -112px;
+    color: #f56c6c;
+  }
+  i{
+    position: absolute;
+    top: 13px;
+    left: 20px;
+    font-size: 20px;
+    color: #a0a0a0;
+  }
+  input[type='checkbox']{
+    margin: 0 14px 0 55px;
+    float: left;
+    width: 16px;
+    height: 16px;
+  }
+  span.agree{
+    float: left;
+    margin: 1px 0 0 10px;
+    font-size: 14px;
+    color: #8b8b8b;
+  a{
+    color: #0076ad;
+  }
+  }
+  .form-group.agree{
+    margin: 20px auto 0 !important;
+  }
+  .btn {
+    margin: 34px 0 16px 0;
+    width: 360px;
+    height: 44px;
+    line-height: 44px;
+    font-size: 16px;
+    color: #fff;
+    background: #0076AD;
+    border-radius: 3px;
+  }
+  }
+  .content-bottom{
+    margin-top: 35px;
+    padding-bottom: 50px;
+  p{
+    font-size: 24px;
+    color: #323232;
+  img{
+    margin-right: 20px;
+    width: 30px;
+    height: 28px;
+  }
+  }
+  p.pass{
+    font-size: 24px;
+    color: #e77405;
+  img{
+    height: 30px;
+  }
+  }
+  p.passed {
+    color: #2ab300;
+  img{
+    height: 30px;
+  }
+  }
+  span{
+    display: inline-block;
+    margin: 15px 0 140px 0;
+    font-size: 14px;
+    color: #8b8b8b;
+  }
+  .close-btn{
+    margin: 0 auto;
+    width: 200px;
+    height: 36px;
+    line-height: 36px;
+    font-size: 14px;
+    text-align: center;
+    color: #323232;
+    border: 1px solid #d2d2d2;
+    border-radius: 3px;
+    cursor: pointer ;
+  }
+  }
+  }
+  }
+  }
+</style>

+ 2 - 1
components/appeal/index.js

@@ -1,3 +1,4 @@
 import AccountAppeal from './AccountAppeal.vue'
+import PasswordRetrievalAppeal from './PasswordRetrievalAppeal.vue'
 
-export { AccountAppeal }
+export { AccountAppeal, PasswordRetrievalAppeal }

+ 22 - 14
components/certification/EnterpriseCertification.vue

@@ -41,11 +41,11 @@
             </el-form-item>
             <el-form-item>
               <a class="btn finish"
-                 :disabled="!checked" @click="getCookie">提交</a>
+                 :disabled="!checked" @click="isLogin">提交</a>
             </el-form-item>
             <el-form-item>
               <el-checkbox name="type" v-model="checked" @click="checkboxIsChecked"></el-checkbox>
-              <span class="agree">我已阅读并同意 <a href="">《优软云服务条款》</a></span>
+              <span class="agree">我已阅读并同意 <a href="/common/agreement">《优软云服务条款》</a></span>
             </el-form-item>
           </el-form>
         </div>
@@ -217,23 +217,31 @@
         }
       }
     },
+    computed: {
+      logged () {
+        return this.$store.state.option.isLogin.logged
+      }
+    },
+    mounted () {
+      this.$nextTick(() => {
+        this.isLogin()
+        // 刷新统计信息
+        setInterval(() => {
+          this.isLogin()
+        }, 10000)
+      })
+    },
     methods: {
 //      我同意是否被选中
       checkboxIsChecked () {
         this.checked = !this.checked
       },
-//      获取是否登录
-      getCookie () {
-        var strCookie = document.cookie
-        var arrCookie = strCookie.split(';')
-        console.log(strCookie)
-        console.log(arrCookie)
-        for (var i = 0; i < arrCookie.length; i++) {
-          var cookie = arrCookie[i].split('=')
-          console.log(cookie)
-          if (cookie[0] === 'uid') {} else {
-//            window.location.href = '/'
-          }
+//      判断用户是否登录
+      isLogin () {
+        if (!this.logged) {
+          console.log(this.logged)
+//          未登录跳到登录页面
+//          window.location.href = '/'
         }
       }
     }

+ 1 - 1
components/certification/RealNameCertification.vue

@@ -20,7 +20,7 @@
           <button class="btn">提交</button>
           <div class="form-group agree">
             <input type="checkbox"/>
-            <span class="agree">我已阅读并同意 <a href="">《优软云服务条款》</a></span>
+            <span class="agree">我已阅读并同意 <a href="/common/agreement">《优软云服务条款》</a></span>
           </div>
         </form>
       </div>

+ 3 - 3
components/register/EnterpriseRegistration.vue

@@ -22,7 +22,7 @@
                          @click="getCheckCode"
                          :disabled="getCodeBtnIsDisabled">获取验证码</el-button>
               <el-button type="primary"  v-show="!sendEnterpriseCode" class="code code-send">已发送({{enterprise_time}}s)</el-button>
-              <span v-show="codeErrorChecked" class="codeError-tip">验证码输入错误</span>
+              <!--<span v-show="codeErrorChecked" class="codeError-tip">验证码输入错误</span>-->
             </el-form-item>
             <el-form-item>
               <a class="btn finish"
@@ -31,7 +31,7 @@
             </el-form-item>
             <el-form-item>
               <el-checkbox name="type" v-model="checked" @click="checkboxIsChecked"></el-checkbox>
-              <span class="agree">我已阅读并同意 <a href="">《优软云服务条款》</a></span>
+              <span class="agree">我已阅读并同意 <a href="/common/agreement">《优软云服务条款》</a></span>
             </el-form-item>
           </el-form>
         </div>
@@ -89,7 +89,7 @@
 
             <el-form-item>
               <el-checkbox name="type" v-model="checked" @click="checkboxIsChecked"></el-checkbox>
-              <span class="agree">我已阅读并同意 <a href="">《优软云服务条款》</a></span>
+              <span class="agree">我已阅读并同意 <a href="/common/agreement">《优软云服务条款》</a></span>
             </el-form-item>
           </el-form>
         </div>

+ 1 - 1
components/register/PersonalRegistration.vue

@@ -45,7 +45,7 @@
 
             <el-form-item>
               <el-checkbox name="type" v-model="checked" @click="checkboxChecked"></el-checkbox>
-              <span class="agree">我已阅读并同意 <a href="">《优软云服务条款》</a></span>
+              <span class="agree">我已阅读并同意 <a href="/common/agreement">《优软云服务条款》</a></span>
             </el-form-item>
           </el-form>
         </div>

+ 17 - 0
pages/appeals/passwordRestAppeal.vue

@@ -0,0 +1,17 @@
+<template>
+  <div>
+    <manualAppeal-header/>
+    <passwordRest-appeal/>
+  </div>
+</template>
+<script>
+  import ManualAppealHeader from '~components/default/ManualAppealHeader.vue'
+  import PasswordRestAppeal from '~components/appeal/PasswordRestAppeal.vue'
+  export default {
+    layout: 'default',
+    components: {
+      ManualAppealHeader,
+      PasswordRestAppeal
+    }
+  }
+</script>

+ 10 - 9
store/index.js

@@ -19,28 +19,29 @@ export const actions = {
     }
     return Promise.all([
       // 全局数据
-      store.dispatch('loadCarouselInfo', { client_type: 'cc', cityId: '5' }),
-      store.dispatch('loadUserInfo')
+      // store.dispatch('loadCarouselInfo', { client_type: 'cc', cityId: '5' }),
+      store.dispatch('loadIsLogin')
     ])
   },
-  // 获取用户信息
-  loadUserInfo ({ commit }) {
-    commit('option/REQUEST_USER_INFO')
-    return axios.get('/user/authentication')
+  // 判断是否登录
+  loadIsLogin ({ commit }) {
+    commit('option/REQUEST_IS_LOGIN')
+    return axios.get('/sso/login/isLogin')
     .then(response => {
       console.log(JSON.stringify(response.data))
-      commit('option/REQUEST_USER_INFO_SUCCESS', response.data.data)
+      commit('option/REQUEST_IS_LOGIN_SUCCESS', response.data.data)
     }, err => {
-      commit('option/REQUEST_USER_INFO_FAILURE', err)
+      commit('option/REQUEST_IS_LOGIN_FAILURE', err)
     })
   },
   // 用户退出
   logout ({ commit }) {
-    return axios.get('/logout')
+    return axios.get('/sso/login/logout')
     .then(response => {
       commit('option/REQUEST_LOGOUT_SUCCESS', response.data)
     })
   },
+
   // 获取表单配置
   loadFormData ({ commit }, params = {}) {
     commit('formConfig/REQUEST_FORMDATA')

+ 9 - 9
store/option.js

@@ -12,7 +12,7 @@ export const state = {
   // 正式系统地址
   // url: 'http://218.17.158.219:9090/platform-b2c',
   // 用户信息
-  user: {
+  isLogin: {
     // 是否登录
     logged: false,
     fetching: false,
@@ -42,20 +42,20 @@ export const mutations = {
     state.url = result
   },
   REQUEST_USER_INFO (state) {
-    state.user.fetching = true
+    state.isLogin.fetching = true
   },
   REQUEST_USER_INFO_SUCCESS (state, result) {
-    state.user.fetching = false
-    state.user.data = result || {}
-    state.user.logged = !!(result && result.userName)
+    state.isLogin.fetching = false
+    state.isLogin.data = result || {}
+    state.isLogin.logged = !!(result && result.userName)
   },
   REQUEST_USER_INFO_FAILURE (state) {
-    state.user.fetching = false
-    state.user.data = {}
+    state.isLogin.fetching = false
+    state.isLogin.data = {}
   },
   REQUEST_LOGOUT_SUCCESS (state) {
-    state.user.data = {}
-    state.user.logged = false
+    state.isLogin.data = {}
+    state.isLogin.logged = false
   },
   REQUEST_GLOBAL_OPTIONS (state) {
     state.globalOptions.fetching = true