QYF-GitLab1
20 小时以前 cf7e71c6d0fb64eeb6b5deac540da843b4bb465c
src/views/personalCenter/userInfo.vue
@@ -8,7 +8,7 @@
          <div class="info-box flex">
            <span class="label">用户名:</span>
            <span class="text">{{ userStore?.userInfo.name }}</span>
            <span class="change-info hover" @click="changeUserInfo('password')">修改密码</span>
            <!-- <span class="change-info hover" @click="changeUserInfo('password')">修改密码</span> -->
          </div>
          <div class="info-box flex">
            <span class="label">微信认证:</span>
@@ -28,7 +28,7 @@
              userStore?.userInfo?.phoneNumber ? '更换手机号' : '绑定'
            }}</span>
          </div>
          <div class="info-box flex">
          <!-- <div class="info-box flex">
            <span class="label">邮箱:</span>
            <span class="text">{{
              userStore?.userInfo?.Email ? userStore.userInfo?.Email : '--'
@@ -36,20 +36,7 @@
            <span class="change-info hover" @click="changeUserInfo('email')">{{
              userStore?.userInfo?.Email ? '更换邮箱' : '绑定邮箱'
            }}</span>
          </div>
        </div>
      </div>
      <div class="content-item">
        <div class="item-title flex jc-sb">
          <span>用户类型</span>
          <!-- <span class="change-info hover" @click="userTypeDialog = true">修改</span> -->
          <span class="change-info hover" @click="updateUserInfo()">修改</span>
        </div>
        <div class="item-box">
          <div class="info-box flex">
            <span class="label">用户类型:</span>
            <span class="text">{{ userInfo.userType }}</span>
          </div>
          </div> -->
        </div>
      </div>
      <div class="content-item">
@@ -74,24 +61,12 @@
              <span class="text wait" v-if="teacherState == 'WaitAudit'">等待审核</span>
              <span class="text yes" v-else-if="teacherState == 'Normal'">已认证</span>
              <span class="text no" v-else-if="teacherState == 'Reject'">已驳回</span>
              <span class="text wait" v-if="teacherState === ''">待认证</span>
              <span class="text no" v-if="teacherState === ''">待认证</span>
            </div>
            <div v-if="teacherState == 'Reject'">
              <span class="title">驳回原因</span> :
              <span @click="lookReason()" class="wait hover">查看原因</span>
            </div>
          </div>
        </div>
      </div>
      <div class="content-item">
        <div class="item-title flex jc-sb">
          <span>我的积分</span>
          <span class="record hover" @click="recordDialog()">积分记录</span>
        </div>
        <div class="item-box">
          <div class="info-box flex">
            <span class="label">积分:</span>
            <span class="text">{{ userInfo.integral }}</span>
          </div>
        </div>
      </div>
@@ -110,7 +85,7 @@
      class="myDialogs"
      @close="closeUserInfoDialog(userFormRef)"
    >
      <div>
      <div class="dialog-content">
        <el-form
          ref="userFormRef"
          :model="userInfoForm"
@@ -162,22 +137,6 @@
              </el-button>
            </div>
          </el-form-item>
          <el-form-item label="新密码:" prop="password" v-if="changeType == 'password'">
            <el-input
              type="password"
              v-model="userInfoForm.password"
              autocomplete="off"
              placeholder="请输入8-16位新密码,且不能为纯数字"
            />
          </el-form-item>
          <el-form-item label="确认密码:" prop="confirmPassword" v-if="changeType == 'password'">
            <el-input
              type="password"
              v-model="userInfoForm.confirmPassword"
              autocomplete="off"
              placeholder="请输入确认密码"
            />
          </el-form-item>
        </el-form>
      </div>
      <template #footer>
@@ -199,20 +158,20 @@
    >
      <div>
        <div class="qrcodeBox">
          <!-- <wxlogin
          <wxlogin
            :redirect_uri="wxLogin.redirectURL"
            style="width: 300px; height: 400px; margin: -40px auto 0; overflow: hidden"
            :appid="wxLogin.appid"
            :scope="wxLogin.scope"
            state="WeChatScanningCodeBind"
          >
          </wxlogin> -->
          </wxlogin>
        </div>
        <p class="tips">使用微信扫一扫扫描二维码进行绑定</p>
      </div>
    </el-dialog>
    <!-- 用户类型修改 -->
    <login ref="loginRef"></login>
    <!-- <login ref="loginRef"></login> -->
    <!-- 查看原因 -->
    <el-dialog
      align-center
@@ -273,19 +232,14 @@
<script setup lang="ts">
import { reactive, ref, inject, onMounted, watch } from 'vue'
import type { FormInstance, FormRules } from 'element-plus'
// import verify from '@/components/sliderImg/component/verify.vue'
// import '@/components/sliderImg/sliderImg.js'
// import '@/components/sliderImg/sliderImg.css'
import verify from '@/components/sliderImg/component/verify.vue'
import '@/components/sliderImg/sliderImg.js'
import '@/components/sliderImg/sliderImg.css'
import { ElMessage } from 'element-plus'
import tool from '@/assets/js/toolClass.js'
// import { useUserStore } from '@/store'
// import wxlogin from 'vue-wxlogin'
// import teacherCertification from '@/views/components/teacherCertification.vue'
// import login from '@/layout/components/login.vue'
// const userStore = useUserStore()
import { useRoute } from 'vue-router'
import { useUserStore } from '@/store'
import teacherCertification from './teacherCertification.vue'
const userStore = useUserStore()
import moment from 'moment'
const route = useRoute()
const MG: any = inject('MG')
const config: any = inject('config')
@@ -323,13 +277,13 @@
  }
}
// onMounted(() => {
//   getWechatAuthenticationState()
//   getIntegral()
//   if (localStorage.getItem(config.tokenKey)) {
//     getUserRole()
//   }
// })
onMounted(() => {
  getWechatAuthenticationState()
  getIntegral()
  if (localStorage.getItem(config.tokenKey)) {
    getUserRole()
  }
})
// watch(route, () => {
//   bindWeChat()
@@ -346,28 +300,29 @@
let changeType = ref('password')
const imgCode = ref<string>() // 图形验证码url
let countDown = ref(0)
// function changeUserInfo(type) {
//   changeType.value = type
//   if (type == 'password') {
//     if (userStore.userInfo?.phoneNumber) {
//       getImgCapcha()
//       userInfoDialog.value = true
//     } else {
//       ElMessage({
//         message: '修改密码需短信验证,请绑定手机号后再修改密码!',
//         type: 'warning'
//       })
//     }
//   } else {
//     getImgCapcha()
//     userInfoDialog.value = true
//   }
// }
// const getImgCapcha = () => {
//   MG.identity.getImgCode().then((res) => {
//     imgCode.value = 'data:image/png;base64,' + res
//   })
// }
const changeUserInfo = (type) => {
  changeType.value = type
  if (type == 'password') {
    if (userStore.userInfo?.phoneNumber) {
      getImgCapcha()
      userInfoDialog.value = true
    } else {
      ElMessage({
        message: '修改密码需短信验证,请绑定手机号后再修改密码!',
        type: 'warning',
      })
    }
  } else {
    getImgCapcha()
    userInfoDialog.value = true
  }
}
const getImgCapcha = () => {
  MG.identity.getImgCode().then((res) => {
    imgCode.value = 'data:image/png;base64,' + res
  })
}
const userFormRef = ref<FormInstance>()
const userInfoForm = reactive({
@@ -570,10 +525,11 @@
}
//微信认证
let wxLogin = reactive({
  appid: 'wx5cfe8b007a3c6f8c',
  appid: 'wx2b9d4a6308fd03d6',
  scope: 'snsapi_login',
  redirectURL: encodeURIComponent(config.requestCtx + '/home/#/personalCenter'),
  redirectURL: encodeURIComponent(config.requestCtx + '/#/personalCenter'),
})
//获取微信认证状态
const getWechatAuthenticationState = () => {
  MG.identity.checkBuildingWeChat({}).then((res: any) => {
    if (res) {
@@ -925,6 +881,7 @@
  .change-info {
    color: #019e58;
    font-size: 14px;
  }
  .record {
@@ -1057,6 +1014,11 @@
.myDialogs {
  width: 628px;
  .dialog-content {
    padding: 20px 0;
    box-sizing: border-box;
  }
  .el-dialog__header {
    padding: 15px;
    margin-right: 0;