wwf
18 小时以前 38712ae83223cb244020e255fc37e1ce35775c45
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: '',
@@ -46,7 +54,14 @@
    }
  },
  created() {
    tokenUtils.clearTokens()
    this.loginType = isWeixin ? 'weixin' : 'mobilePhone'
    if (isWeixin) {
      this.loginType = 'weixin'
      localStorage.removeItem('weChatRedirectCount')
      this.$router.replace({ path: '/h5/redirect' })
    }
  },
  computed: {
    appId() {
@@ -79,7 +94,7 @@
        const data = {
          captchaVerification: '',
          mobile: this.form.mobile,
          scene: 21,
          scene: 31,
        }
        this.sendCodeLoading = true
        this.$axios.post('/system/auth/send-sms-code', data).then(res => {
@@ -104,20 +119,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>