xuxueyang
2024-08-14 e474ab6cee45627c34a8fc79f2b76c9e82763f2c
pages/login/supplier-reg.vue
@@ -36,11 +36,15 @@
                     <view class="title-1">HELLO</view>
                     <view class="title-2">欢迎入驻<span class="title-3">花满芫</span></view>
                     <!-- #ifdef PUB_CUSTOMER -->
                     <view class="title-2">{{!partnerId?'未绑定合伙人':`已绑定${partnerName}`}}</view>
                     <view class="title-2">{{!partnerId?'未绑定合伙人':`已绑定合伙人-${partnerName}`}}</view>
                     <!-- #endif -->
                  </view>
                  <!-- #ifdef PUB_CUSTOMER -->
                  <view class="t-a form-input">
                     <u-input placeholder="请输入店铺名称" :border="false" v-model="regCustomerName"></u-input>
                  </view>
                  <!-- #endif -->
                  <view class="t-a form-input" v-if="loginType=='code'">
                     <u-input placeholder="请输入手机号" :border="false" v-model="phoneNumber">
                        <template slot="suffix">
@@ -49,19 +53,11 @@
                           </view>
                        </template>
                     </u-input>
                     <!-- <u-input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber"
              style="position: relative;z-index: 1;" /> -->
                  </view>
                  <view class="t-a form-input" v-if="loginType=='code'">
                     <!--       <input type="text" name="userName" placeholder="请输入手机验证码" v-model="smsCode"
              style="position: relative;z-index: 1;" /> -->
                  <view class="t-a form-input">
                     <u-input placeholder="请输入手机验证码" :border="false" v-model="smsCode"></u-input>
                  </view>
                  <view class="t-a form-input" v-if="loginType=='code'">
@@ -74,8 +70,7 @@
                  <!-- #endif -->
                  <!-- #ifdef PUB_CUSTOMER -->
                  <!--            open-type="getUserInfo"-->
                  <button @tap="wxreg('')"
                     class="bottom-button">注 册</button>
                  <button @tap="wxreg('')" class="bottom-button">注 册</button>
                  <!-- #endif -->
@@ -83,20 +78,41 @@
                     <view class="topic-font m-l-0 m-r-a" @click="backInfoPage" v-if="source==='step'">返回上一步
                     </view>
                     <!-- #ifdef PUB_CUSTOMER -->
                     <view class="topic-font m-l-a m-r-a" @click="scanPartnerCode" v-if="source==='step'">扫码绑定合伙人
                     </view>
                     <!-- v-if="source==='step'" -->
                     <!-- <view class="topic-font m-l-0 m-r-a" @click="scanPartnerCode">扫码绑定合伙人
                     </view> -->
                     <!-- #endif -->
                     <view class="topic-font m-l-a m-r-0" @click="toLogin">前往登录</view>
                  </view>
                  <view class="flex flex-wrap-normal"
                     style="position: fixed;bottom: 40rpx;left: 40rpx;right: 40rpx;" v-if="false">
                     style="position: fixed;bottom: 40rpx;left: 40rpx;right: 40rpx;" v-if="true">
                     <view :style="{'margin-top': '8rpx','margin-right': '12rpx','font-size':'24rpx'}"
                        @click="protocal=!protocal" class="component-radio" :class="[protocal?'cur':'']">
                     </view>
                     <view class="topic-gray" @click="toProtocol">请仔细阅读《花满芫合伙人供应商入口小程序隐私保护指引》如您同意该指引,请勾选开始使用本小程序
                     <!-- /pages/help/content?id=新手帮助 -->
                     <!-- 用户协议,隐私政策、卖家入驻协议、合伙人入驻协议 -->
                     <!-- #ifdef PUB_PARTNER -->
                     <view class="topic-gray" @click="goto('/pages/help/content?id=合伙人入驻协议',false)">
                        请仔细阅读《合伙人入驻协议》如您同意该指引,请勾选开始使用本小程序
                     </view>
                     <!-- #endif -->
                     <!-- #ifdef PUB_SUPPLIER -->
                     <view class="topic-gray" @click="goto('/pages/help/content?id=卖家入驻协议',false)">
                        请仔细阅读《卖家入驻协议》如您同意该指引,请勾选开始使用本小程序
                     </view>
                     <!-- #endif -->
                     <!-- #ifdef PUB_CUSTOMER -->
                     <view class="topic-gray">
                        请仔细阅读<span class="t-red"
                           @click="goto('/pages/help/content?id=用户协议',false)">《用户协议》</span>和 <span class="t-red"
                           @click="goto('/pages/help/content?id=隐私政策',false)">《隐私政策》</span>
                        如您同意该指引,请勾选开始使用本小程序
                     </view>
                     <!-- #endif -->
                  </view>
               </form>
            </view>
@@ -128,6 +144,7 @@
            getCodeisWaiting: false,
            Timer: undefined,
            protocal: false,
            regCustomerName: '',
            source: '',
            // #ifdef PUB_SUPPLIER
            apitype: 'supplier',
@@ -143,18 +160,59 @@
      },
      onLoad(options) {
         this.source = options.source || ''
         // #ifdef PUB_CUSTOMER
         var tjson = this.$storage.getItem('cache_customer_info')
         if (tjson) {
            var dto = JSON.parse(tjson)
            if (dto.partnerUserId) {
               this.partnerId = dto.partnerUserId || ''
               this.partnerName = dto.partnerUserName || '佚名'
            }
         }
         if (options.partnerUserId) {
            this.partnerId = options.partnerUserId || ''
            if (options.partnerUserName) {
               this.partnerName = options.partnerUserName || '佚名'
            }
            //扫码过来的,自然要清除分享商品的id
            this.$storage.removeItem('cache_sharePartnerUserId')
         }
         // #endif
      },
      methods: {
         async scanPartnerCode() {
            await this.$message.confirm('确定要绑定合伙人吗?')
            // await this.$message.confirm('确定要绑定合伙人吗?')
            //扫二维码确认
            let that = this
            uni.scanCode({
               success: async function(res) {
                  console.log('条码内容:' + res.result);
                  if (!res.result) {
                     that.$message.showToast('未识别出信息,如果是微信小程序二维码,请微信扫码打开')
                     return
                  }
                  var dto = undefined
                  try {
                     dto = JSON.parse(res.result)
                     if (res.result && (res.result.startsWith('http://') || res.result.startsWith(
                           'https://')) && res.result.indexOf(
                           'partnerUserId') >= 0) {
                        var arr = res.result.split("?")[1].split("&")
                        dto = {}
                        for (var item of arr) {
                           var tarr = item.split("=")
                           if (tarr[1]) {
                              dto[tarr[0]] = tarr[1]
                           }
                        }
                        dto['name'] = dto['partnerUserName'] || ''
                        dto['userId'] = dto['partnerUserId'] || ''
                     } else {
                        dto = JSON.parse(res.result)
                     }
                     if (!!dto['userId']) {
                        that.partnerName = dto['name'] || ''
                        that.partnerId = dto['userId'] || ''
@@ -250,7 +308,7 @@
            }, 1000)
         },
         toLogin() {
            uni.redirectTo({
            uni.reLaunch({
               url: '/pages/login/supplier-login'
            })
@@ -271,6 +329,10 @@
         //   })
         // },
         wxreg(e) {
            if (!this.protocal) {
               this.$message.showToast('请同意协议')
               return;
            }
            let tmp = this
            wx.login({
               success: async res => {
@@ -321,10 +383,16 @@
               });
               return;
            }
            // if (this.pcfvalue == undefined) {
            //    util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
            //    return;
            // }
            // #ifdef PUB_CUSTOMER
            if (!that.regCustomerName) {
               this.$message.showToast('店铺名称未填写')
               return
            }
            // #endif
            if (!this.protocal) {
               this.$message.showToast('请同意协议')
               return;
            }
            let post = {
               tel: this.phoneNumber,
               smsCode: this.smsCode,
@@ -346,11 +414,35 @@
                  return
               }
               var dto = JSON.parse(tjson)
               dto.partnerId = this.partnerId || undefined
               // dto.partnerId = this.partnerId || undefined
               dto.partnerUserId = this.partnerId || undefined
               post.dto = dto
            }
            post.wxcode = wxcode
            } else {
               // #ifdef PUB_CUSTOMER
               var dto = {}
               dto.partnerUserId = this.partnerId || undefined
               //如果没有绑定,有商品详情的分享合伙人id的话缓存的话,尝试用这个
               if (!dto.partnerUserId) {
                  try {
                     var sharePartnerUserId = this.$storage.getItem('cache_sharePartnerUserId')
                     if (sharePartnerUserId) {
                        //试图绑定
                        this.$storage.removeItem('cache_sharePartnerUserId')
                        dto.partnerUserId = sharePartnerUserId
                     }
                  } catch (e) {
                     console.error('reg bind ', e)
                  }
               }
               dto.name = this.regCustomerName || ''
               post.dto = dto
               // #endif
            }
            post.wxcode = wxcode
            console.log('reg dto', post)
            // const {
            // code
            // } = await this.$http.request('get', '/api/login/admin')