qingyiay
2023-05-09 01e96c8855927df67ac8a6831e345b6cb33140d1
pages/login/userPassword.vue
@@ -24,22 +24,29 @@
            ></u--input>
         </view>
      </view>
      <view class="loginBtn"><u-button type="primary" text="登录" @click="submit()"></u-button></view>
      <view class="loginBtn"><u-button type="primary" :text="btnText == 1 ? '绑定' : '登录'" @click="submit()"></u-button></view>
   </view>
</template>
<script>
import { apiLoginPassword } from '@/api/publicInterface.js';
import { mapMutations } from 'vuex';
import { setToken, setRefreshToken, setUsernameKey, setCustomerId, redirectHome } from '@/utils/status.js';
import { setName, setToken, setRefreshToken, setUsernameKey, setCustomerId, redirectHome } from '@/utils/status.js';
export default {
   name: 'userPassword',
   props: {
      //0:正常,1:微信绑定
      btnText: {
         type: Number,
         default: 0
      }
   },
   data() {
      return {
         // username: 'appUser',
         // username:'siJi1',
         username:'siJi2',
         password: '123456',
         username: '', // 客户
         // username:'13333333331',//货代
         // username: '13333333332',// 司机
         password: '',
         remember: true,
         baseUrl: ''
      };
@@ -48,6 +55,9 @@
      ...mapMutations(['setUserTabbar']),
      //登录
      async submit() {
         uni.showLoading({
            title: '登录中...'
         });
         //表单校验
         if (this.username.length === 0) {
            this.$u.toast('请输入账号');
@@ -57,7 +67,7 @@
            this.$u.toast('请输入密码');
            return;
         }
         let grant_type = 'password'
         let grant_type = 'password';
         //登录接口
         await apiLoginPassword({
            username: this.username,
@@ -66,24 +76,58 @@
            scope: 'server'
         })
            .then(res => {
               this.$u.toast('恭喜您,登录成功!');
               // 登陆成功,存储相关信息
               setToken(res.access_token);
               setRefreshToken(res.refresh_token);
               setUsernameKey(res.username);
               //查询用户详细信息并储存
               this.$reqGet('getUserEntity').then(res => {
                  this.setUserTabbar(res.data.type);
                  uni.setStorageSync('roleType', res.data.type);
                  setCustomerId(res.data.customerid);
                  //跳转页面
                  this.$nextTick(() => {
                     redirectHome();
               if (this.btnText == 0) {
                  if (res.code != 1) {
                     // 登陆成功,存储相关信息
                     setToken(res.access_token);
                     setRefreshToken(res.refresh_token);
                     setUsernameKey(res.username);
                     //查询用户详细信息并储存
                     this.$reqGet('getUserEntity')
                        .then(res => {
                           this.$u.toast('登录成功');
                           this.setUserTabbar(res.data.type);
                           uni.setStorageSync('roleType', res.data.type);
                           setCustomerId(res.data.customerid);
                           setName(res.name);
                           uni.hideLoading();
                           //跳转页面
                           this.$nextTick(() => {
                              redirectHome();
                           });
                        })
                        .catch(err => {
                           this.$u.toast('登录异常!');
                           console.log(err);
                        });
                  } else {
                     uni.hideLoading();
                     this.$u.toast(res.msg);
                  }
               } else {
                  uni.login({
                     success: res => {
                        if (res.code) {
                           uni.setStorageSync('bindcode', res.code);
                        }
                     }
                  });
               });
                  if (uni.getStorageSync('bindcode')) {
                     this.$reqPost('wxBind', { state: 'MINI', code: uni.getStorageSync('bindcode') }, 'params').then(res => {
                        uni.hideLoading();
                        if (res.code == 0) {
                           this.$u.toast('绑定成功!即将回到登录页!');
                           setTimeout(() => {
                              uni.navigateBack();
                           }, 1000);
                        } else {
                           this.$u.toast(res.msg ? res.msg : '绑定失败');
                        }
                     });
                  }
               }
            })
            .catch(e => {
               this.$u.toast(e);