From a587937ce53f79b4680e930b5d5f7fee33de5311 Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期三, 14 八月 2024 14:50:40 +0800 Subject: [PATCH] 标签 --- pages/login/supplier-reg.vue | 254 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 221 insertions(+), 33 deletions(-) diff --git a/pages/login/supplier-reg.vue b/pages/login/supplier-reg.vue index 0ede898..7af59c7 100644 --- a/pages/login/supplier-reg.vue +++ b/pages/login/supplier-reg.vue @@ -1,8 +1,11 @@ <template> <view> <view v-if="source==='step'" style="padding: 20rpx 0rpx;color: red;;background-color: #e6e6e6;"> + <!-- #ifdef PUB_PARTNER --> <view style="padding: 20rpx;text-align: center;background-color: #fff;">仅限花满芫合伙人入驻</view> - <view v-if="source==='step'" class="" style="background-color: #fff;margin-top: 20rpx;padding: 20rpx;"> + <!-- #endif -->e + + <view v-if="source==='step'" class="" style="background-color:#ffffff;padding: 20rpx;padding-top: 60rpx;"> <u-steps current="1"> <u-steps-item title="信息填写" class="u-steps-item"> </u-steps-item> @@ -10,7 +13,7 @@ </u-steps> </view> </view> - + <view class="main-container login-container img100 relative" style="margin-top: 0rpx;"> <image class="component-bg" @@ -31,52 +34,85 @@ <form class="cl"> <view class="t-a titles-top"> <view class="title-1">HELLO</view> - <view class="title-2">欢迎入驻<span class="title-3">花满芜</span></view> + <view class="title-2">欢迎入驻<span class="title-3">花满芫</span></view> + <!-- #ifdef PUB_CUSTOMER --> + <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"> <view class="get-code" :style="{'color':getCodeBtnColor}" @click.stop="getCode()"> - {{getCodeText}} + {{ getCodeText }} </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'"> - <!-- <input type="text" :password="true" name="password" placeholder="请输入密码" v-model="password" /> --> <u-input :password="true" :border="false" placeholder="请输入密码" v-model="password"></u-input> </view> - <button @tap="login()" class="bottom-button">注 册</button> + <!-- #ifndef PUB_CUSTOMER --> + <button @tap="reg('')" class="bottom-button">注 册</button> + + <!-- #endif --> + <!-- #ifdef PUB_CUSTOMER --> + <!-- open-type="getUserInfo"--> + <button @tap="wxreg('')" class="bottom-button">注 册</button> + + <!-- #endif --> <view class="flex"> - <view class="topic-font m-l-0 m-r-a" @click="backInfoPage" v-if="source==='step'">返回填写</view> + <view class="topic-font m-l-0 m-r-a" @click="backInfoPage" v-if="source==='step'">返回上一步 + </view> + <!-- #ifdef PUB_CUSTOMER --> + <!-- 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> @@ -98,7 +134,8 @@ phoneNumber: '', smsCode: '', - + partnerId: '', + partnerName: '', checked: false, loginType: 'code', //pwd和code,密码和验证码登录 pcfvalue: undefined, @@ -107,6 +144,7 @@ getCodeisWaiting: false, Timer: undefined, protocal: false, + regCustomerName: '', source: '', // #ifdef PUB_SUPPLIER apitype: 'supplier', @@ -114,14 +152,86 @@ // #ifdef PUB_PARTNER apitype: 'partner', // #endif + // #ifdef PUB_CUSTOMER + apitype: 'customer', + // #endif }; }, 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: { - backInfoPage(){ + async scanPartnerCode() { + // 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 { + 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'] || '' + that.$message.showToast(`绑定合伙人${that.partnerName}成功`) + } else { + that.$message.showToast('二维码格式不正确扫码失败') + } + } catch (e) { + that.$message.showToast('二维码格式不正确扫码失败') + } + }, + fail() { + that.$message.showToast('扫码失败') + + } + }); + + }, + backInfoPage() { console.log('backInfoPage') uni.navigateBack() }, @@ -161,7 +271,7 @@ userType: this.apitype } }) - if (code == 0) { + if (code === 0) { uni.showToast({ title: '验证码已发送', icon: "none" @@ -198,7 +308,7 @@ }, 1000) }, toLogin() { - uni.redirectTo({ + uni.reLaunch({ url: '/pages/login/supplier-login' }) @@ -206,7 +316,48 @@ changeAll(e) { this.pcfvalue = e.detail.value[0] }, - async login() { + // async wxreg(e) { + // wx.login({ + // success: async res => { + // if (res.code) { + // + // } + // }, + // fail() { + // this.$message.showToast('获取微信信息失败') + // } + // }) + // }, + wxreg(e) { + if (!this.protocal) { + this.$message.showToast('请同意协议') + return; + } + let tmp = this + wx.login({ + success: async res => { + console.log(res) + if (res.code) { + tmp.reg(res.code) + } else { + tmp.$message.showToast('微信登录失败'); + } + }, + error: res => { + console.log('wx.login error', res) + tmp.$message.showToast('获取微信信息失败:' + res); + } + }); + }, + async reg(wxcode) { + // console.log('e', e) + // this.$message.showLoading() + // const res = await wx.getUserProfile({ + // desc: '用于完善会员资料', + // }); + // console.log(res); + // this.$message.hideLoading() + uni.showLoading({ title: '登陆中' }); @@ -232,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, @@ -243,24 +400,56 @@ type: this.apitype // openId: '123456789' } - if (this.source == 'step') { - var tjson = this.$storage.getItem('cache_partner_info') + if (this.source === 'step') { + var tjson = '' + // #ifdef PUB_PARTNER + tjson = this.$storage.getItem('cache_partner_info') + // #endif + // #ifdef PUB_CUSTOMER + tjson = this.$storage.getItem('cache_customer_info') + // #endif if (!tjson) { - this.$message.showToast('没有合伙人信息请返回重新填写') + this.$message.showToast('没有填写用户信息请返回重新填写') return } var dto = JSON.parse(tjson) + // dto.partnerId = this.partnerId || undefined + dto.partnerUserId = this.partnerId || undefined post.dto = dto + } 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') const resp = await this.$store.dispatch('regUser', post); // uni.hideLoading() - if (resp.code == 0) { + if (resp.code === 0) { // myCache.cache("userToken", res.data.accessToken) // let userRes = await gzmzApi.getMemberInfo(); @@ -296,7 +485,6 @@ // this.toLogin() // }, 1000); // } - // } else { -- Gitblit v1.9.3