From 55f5543d41569f7c42f50799b2200393ffd5b31a Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期日, 04 八月 2024 10:55:29 +0800 Subject: [PATCH] addd 支持特殊二维码 --- pages/login/supplier-reg.vue | 194 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 169 insertions(+), 25 deletions(-) diff --git a/pages/login/supplier-reg.vue b/pages/login/supplier-reg.vue index 0038663..135ff49 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" @@ -32,42 +35,55 @@ <view class="t-a titles-top"> <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> + <!-- #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"> @@ -98,7 +114,8 @@ phoneNumber: '', smsCode: '', - + partnerId: '', + partnerName: '', checked: false, loginType: 'code', //pwd和code,密码和验证码登录 pcfvalue: undefined, @@ -107,6 +124,7 @@ getCodeisWaiting: false, Timer: undefined, protocal: false, + regCustomerName: '', source: '', // #ifdef PUB_SUPPLIER apitype: 'supplier', @@ -114,14 +132,80 @@ // #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 || '佚名' + } + } + // #endif + }, methods: { - backInfoPage(){ + async scanPartnerCode() { + // await this.$message.confirm('确定要绑定合伙人吗?') + //扫二维码确认 + let that = this + uni.scanCode({ + success: async function(res) { + console.log('条码内容:' + res.result); + 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 +245,7 @@ userType: this.apitype } }) - if (code == 0) { + if (code === 0) { uni.showToast({ title: '验证码已发送', icon: "none" @@ -206,7 +290,44 @@ 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) { + 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,6 +353,12 @@ }); return; } + // #ifdef PUB_CUSTOMER + if (!that.regCustomerName) { + this.$message.showToast('店铺名称未填写') + return + } + // #endif // if (this.pcfvalue == undefined) { // util.showMyToast('必须勾选《用户服务协议》及《隐私政策》'); // return; @@ -243,24 +370,42 @@ 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 + 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 +441,6 @@ // this.toLogin() // }, 1000); // } - // } else { -- Gitblit v1.9.3