From 6e12337e17704d873d8954d80e4567a94e23d92d Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期五, 09 八月 2024 19:02:14 +0800
Subject: [PATCH] 1
---
pages/login/supplier-reg.vue | 347 +++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 295 insertions(+), 52 deletions(-)
diff --git a/pages/login/supplier-reg.vue b/pages/login/supplier-reg.vue
index 5068173..e8d03b4 100644
--- a/pages/login/supplier-reg.vue
+++ b/pages/login/supplier-reg.vue
@@ -1,63 +1,101 @@
<template>
- <view class="main-container login-container img100 relative" style="margin-top: 0rpx;">
- <image class="component-bg"
- src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png"
- mode="scaleToFill" />
+ <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>
+ <!-- #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>
+ <u-steps-item title="提交申请" class="u-steps-item"></u-steps-item>
+ </u-steps>
+ </view>
+ </view>
- <view class="t-login top-bg">
- <view class="nav-title">注册</view>
- <view class="login">
- <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="main-container login-container img100 relative" style="margin-top: 0rpx;">
+ <image class="component-bg"
+ src="https://hmy-flower.oss-cn-shanghai.aliyuncs.com/a5/a54508de179a4942918ecb2c5a4aa9f5bg.png"
+ mode="scaleToFill" />
+
+
+ <view class="t-login top-bg">
+
+ <view class="nav-title" v-if="source!=='step'" :style="{'padding-top':source==='step'?'60rpx':'unset'
+ ,'padding-bottom':source==='step'?'80rpx':'unset'}">
+
+ <view>
+ 注册
</view>
+ </view>
+ <view class="login" style="padding-top: 40rpx;">
+ <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>
+ <!-- #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 }}
+ </view>
+ </template>
+ </u-input>
+ </view>
- <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}}
- </view>
- </template>
- </u-input>
+ <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'">
- <!-- <u-input type="text" name="userName" placeholder="请输入手机号" v-model="phoneNumber"
- style="position: relative;z-index: 1;" /> -->
+ <u-input :password="true" :border="false" placeholder="请输入密码" v-model="password"></u-input>
+ </view>
+ <!-- #ifndef PUB_CUSTOMER -->
+ <button @tap="reg('')" class="bottom-button">注 册</button>
- </view>
+ <!-- #endif -->
+ <!-- #ifdef PUB_CUSTOMER -->
+ <!-- open-type="getUserInfo"-->
+ <button @tap="wxreg('')" class="bottom-button">注 册</button>
+ <!-- #endif -->
- <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;" /> -->
- <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>
-
- <view class="flex">
- <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">
- <view :style="{'margin-top': '8rpx','margin-right': '12rpx','font-size':'24rpx'}"
- @click="protocal=!protocal" class="component-radio" :class="[protocal?'cur':'']">
+ <view class="flex">
+ <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="topic-gray" @click="toProtocol">请仔细阅读《花满芜合伙人供应商入口小程序隐私保护指引》如您同意该指引,请勾选开始使用本小程序
+ <view class="flex flex-wrap-normal"
+ style="position: fixed;bottom: 40rpx;left: 40rpx;right: 40rpx;" v-if="false">
+ <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">请仔细阅读《花满芫合伙人供应商入口小程序隐私保护指引》如您同意该指引,请勾选开始使用本小程序
+ </view>
</view>
- </view>
- </form>
+ </form>
+ </view>
</view>
</view>
</view>
@@ -76,7 +114,8 @@
phoneNumber: '',
smsCode: '',
-
+ partnerId: '',
+ partnerName: '',
checked: false,
loginType: 'code', //pwd和code,密码和验证码登录
pcfvalue: undefined,
@@ -85,16 +124,97 @@
getCodeisWaiting: false,
Timer: undefined,
protocal: false,
+ regCustomerName: '',
+ source: '',
// #ifdef PUB_SUPPLIER
apitype: 'supplier',
// #endif
// #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: {
+ 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()
+ },
toProtocol() {
uni.navigateTo({
url: '/sub_pages/supplier/protocol'
@@ -131,7 +251,7 @@
userType: this.apitype
}
})
- if (code == 0) {
+ if (code === 0) {
uni.showToast({
title: '验证码已发送',
icon: "none"
@@ -168,7 +288,7 @@
}, 1000)
},
toLogin() {
- uni.redirectTo({
+ uni.reLaunch({
url: '/pages/login/supplier-login'
})
@@ -176,7 +296,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: '登陆中'
});
@@ -202,6 +359,12 @@
});
return;
}
+ // #ifdef PUB_CUSTOMER
+ if (!that.regCustomerName) {
+ this.$message.showToast('店铺名称未填写')
+ return
+ }
+ // #endif
// if (this.pcfvalue == undefined) {
// util.showMyToast('必须勾选《用户服务协议》及《隐私政策》');
// return;
@@ -213,13 +376,56 @@
type: this.apitype
// openId: '123456789'
}
+ 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('没有填写用户信息请返回重新填写')
+ 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();
@@ -233,13 +439,50 @@
setTimeout(() => {
this.toLogin()
}, 1000);
+ // if (this.source == 'step') {
+ // // cache_partner_info
+ // var tjson = this.$storage.getItem('cache_partner_info')
+ // if (tjson) {
+ // var dto = JSON.parse(tjson)
+
+
+ // this.$message.showLoading()
+ // const re = await this.$http.request('post', '/api/partner/addOrUpdate', {
+ // data: dto
+ // })
+ // this.$message.hideLoading()
+ // if (re.code == 2000 || re.code == 0) {
+ // this.$storage.removeItem('cache_partner_info')
+
+ // this.toLogin()
+ // } else {
+ // this.$message.showToast('合伙人信息失效,请登录后重新填写提交审核')
+ // setTimeout(() => {
+ // this.toLogin()
+ // }, 1000);
+ // }
+
+
+ // } else {
+ // this.$message.showToast('合伙人信息失效,请登录后重新填写提交审核')
+ // setTimeout(() => {
+ // this.toLogin()
+ // }, 1000);
+ // }
+
+ // } else {
+ // setTimeout(() => {
+ // this.toLogin()
+ // }, 1000);
+ // }
+
} else {
// uni.showToast({
// title: '登录失败!',
// icon: 'none'
// });
- return;
+ return
}
},
--
Gitblit v1.9.3