xuxueyang
2024-08-03 345706a1c57053dae0ef56d0ed911b68b5ecd863
pages/login/supplier-login.vue
@@ -50,8 +50,10 @@
               <button @tap="login()" class="bottom-button">登 录</button>
               <view class="flex">
                  <view class="topic-font" v-if="loginType=='pwd'&&apitype!=='loginAdmin'" @click="loginType='code'">手机验证码登录</view>
                  <view class="topic-font" v-if="loginType=='code'&&apitype!=='loginAdmin'" @click="loginType='pwd'">账号密码登录</view>
                  <view class="topic-font" v-if="loginType=='pwd'&&apitype!=='loginAdmin'"
                     @click="loginType='code'">手机验证码登录</view>
                  <view class="topic-font" v-if="loginType=='code'&&apitype!=='loginAdmin'"
                     @click="loginType='pwd'">账号密码登录</view>
                  <view class="topic-font m-l-a m-r-0" v-if="apitype!=='loginAdmin'" @click="toReg">前往注册</view>
@@ -61,7 +63,7 @@
                  <!-- #ifdef PUB_PARTNER -->
                  <view class="topic-font m-l-a m-r-0" @click="()=>{
                     if(apitype==='loginPartner'){
                        apitype = 'loginAdmin'
                        apitype = 'loginAdmin'
                        loginType = 'pwd'
                     }else{
                        apitype = 'loginPartner'
@@ -74,34 +76,163 @@
            </form>
         </view>
         <!--       <view v-if="optionsStr">
            {{optionsStr}}
         </view> -->
      </view>
   </view>
</template>
<script>
   // import util from '@/utils/util.js'
   // import gzmzApi from '@/api/gzmzApi.js'
   // import myCache from '@/utils/myCache.js'
   export default {
      // props: {
      //    // apitype: 'loginSupplier',
      //    apitype: {
      //       type: String,
      //       default () {
      //          // #ifdef PUB_SUPPLIER
      //          return 'loginSupplier'
      //          // #endif
      //          // #ifdef PUB_PARTNER
      //          return 'loginPartner'
      //          // #endif
      //          // #ifdef PUB_CUSTOMER
      //          return 'loginCustomer'
      //          // #endif
      //          // return 'loginPartner'
      //       }
      //    },
      // },
      async onLoad(options) {
         // #ifdef PUB_CUSTOMER
         var query = options.q && decodeURIComponent(options.q) || ''
         var querydto = {}
         if (query) {
            try {
               var keyvalues = query.split("?")[1].split("&")
               for (var item of keyvalues) {
                  var tarr = item.split("=")
                  querydto[tarr[0]] = tarr[1]
               }
            } catch (e) {
               console.error('error', e)
            }
         }
         console.log('options query111', querydto)
         // this.optionsStr = JSON.stringify(options) || ''
         if (querydto.partnerUserId) {
            //通过接口获取名称,兼容,url上不能放中文的情况
            if (!querydto.partnerUserName) {
               this.$message.showLoading()
               const resname = await this.$http.request('get', '/api/customer/partner/name', {
                  params: {
                     id: querydto.partnerUserId
                  }
               })
               this.$message.hideLoading()
               if (resname.code == 0) {
                  querydto.partnerUserName = resname.data || ''
               }
            }
            if (this.$storage.getItem('token')) {
               console.log('to login 1')
               this.$message.showLoading()
               //稍微等一会,避免currentInfo还在同步
               let tmp = this
               setTimeout(async () => {
                  try {
                     tmp.$message.hideLoading()
                     if (tmp.currentInfo && tmp.currentInfo.id || tmp.$storage.getItem('token')) {
                        await this.$store.dispatch('getCurrentInfo');
                        //这种已经登录的
                        //确定是注册绑定还是重新绑定
                        tmp.$nextTick(() => {
                           var tt = {
                              title: '提示:您已登录,是直接用该账号绑定,还是退出并注册新账号绑定合伙人',
                              content: '',
                              showCancel: true,
                              cancelText: '直接绑定',
                              cancelColor: '#000000',
                              confirmText: '退出注册',
                              confirmColor: '#20613D'
                           }
                           uni.showModal({
                              ...tt,
                              success: async (res) => {
                                 if (res.confirm) {
                                    //清空登录信息,
                                    this.$store.commit('updateLogin',
                                       false)
                                    setTimeout(() => {
                                       uni.navigateTo({
                                          url: `/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
                                       })
                                    }, 200)
                                 }
                                 if (res.cancel) {
                                    if (!tmp.currentInfo.customerDTO) {
                                       tmp.$message.showToast(
                                          '您尚未完善信息无法绑定')
                                       return
                                    } else {
                                       if (tmp.currentInfo.customerDTO
                                          .partnerId) {
                                          tmp.$message.showToast(
                                             '您已绑定,请联系客服解除绑定')
                                          return
                                       } else {
                                          //前往绑定页面
                                          uni.reLaunch({
                                             url: `/pages/user/supplier-user?partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
                                          })
                                       }
                                    }
                                 }
                              },
                              fail(res) {
                                 console.log('res uni model', res)
                              }
                           })
                        })
                     } else {
                        console.log('to login 3')
                        //退出登录了,或者失效了
                        uni.navigateTo({
                           url: `/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
                        })
                     }
                  } catch (e2) {
                     console.log('to login error', e2)
                  }
               }, 2000)
            } else {
               console.log('to login 2',
                  `/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
               )
               uni.navigateTo({
                  url: `/sub_pages/customer/customer-info/customer-info?source=step&partnerUserId=${querydto.partnerUserId}&partnerUserName=${querydto.partnerUserName}`
               })
            }
         }
         // #endif
      },
      onShareAppMessage() {
         let that = this;
         var name = that.currentInfo.customerDTO && currentInfo.customerDTO.name || that.currentInfo.supplierDTO &&
            currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && currentInfo.partnerDTO.name || ''
         var url =
            `/pages/login/supplier-login?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
         return {
            title: "花满芫",
            path: url,
         }
      },
      onShareTimeline() {
         let that = this;
         var name = that.currentInfo.customerDTO && currentInfo.customerDTO.name || that.currentInfo.supplierDTO &&
            currentInfo.supplierDTO.name || that.currentInfo.partnerDTO && currentInfo.partnerDTO.name || ''
         var url =
            `/pages/login/supplier-login?shareId=${this.currentInfo&&this.currentInfo.id||''}&shareName=${name||''}`; //你的转发页面路径拼接参数
         return {
            title: "花满芫",
            path: url,
         }
      },
      data() {
         return {
            optionsStr: '',
            openId: '-1',
            userName: '',
            password: '',
@@ -244,6 +375,7 @@
                  });
                  return;
               }
               that.phoneNumber = ''
            }
            if (this.loginType == 'code') {
               if (!that.phoneNumber) {