wwf
14 小时以前 9a6cd220224fd3a9a6c84b5bb37c6410a470969f
src/views/h5/login/index.vue
@@ -1,5 +1,5 @@
<template>
  <div class="login">
  <div class="login" v-if="loginType == 'mobilePhone'">
    <el-form ref="form" :model="form">
      <el-form-item :rules="[$rules.required('请输入手机号') , $rules.phone()]" prop="mobile">
        <el-input v-model="form.mobile" placeholder="请输入手机号" style="width: 100%" size="large" />
@@ -32,9 +32,17 @@
</template>
<script>
import { tokenUtils } from '@/utils/axios.js';
import { useLoginStore } from '@/stores/login.js'
import { storeToRefs } from 'pinia';
import { isWeixin } from '@/utils/UA.js'
export default {
  setup() {
    const { lastRouteInfo } = storeToRefs(useLoginStore())
    return { lastRouteInfo }
  },
  data() {
    return {
      loginType: '', //mobilePhone、weixin
      form: {
        mobile: '',
        code: '',
@@ -47,6 +55,11 @@
  },
  created() {
    tokenUtils.clearTokens()
    this.loginType = isWeixin ? 'weixin' : 'mobilePhone'
    if (isWeixin) {
      this.loginType = 'weixin'
      this.$router.replace({ path: '/h5/redirect' })
    }
  },
  computed: {
    appId() {
@@ -104,20 +117,18 @@
        if (res.data.code == 0) {
          const resData = res.data.data
          tokenUtils.setTokens(resData.accessToken, resData.refreshToken)
          this.$router.replace({ path: '/h5/verify', query: { appId: this.appId } })
          this.$message.success('登录成功')
          const path = localStorage.getItem('verify_url')
          if (path) {
            this.$router.replace(path)
          }
        } else {
          this.$message.error(res.data.msg)
          this.$message.error(res.data.msg || '登录失败')
        }
      }).finally(() => {
        this.loginLoading = false
      })
    },
    verify() {
      this.$router.push('/h5/verify')
    },
    signup() {
      this.$router.push('/h5/signup')
    }
  }
}
</script>