Browse Source

2023-11-8

cmy 1 year ago
parent
commit
bf4a382c1c

+ 2 - 2
manifest.json

@@ -2,8 +2,8 @@
     "name" : "御康堂",
     "appid" : "__UNI__5D30165",
     "description" : "御康堂",
-    "versionName" : "5.1.0",
-    "versionCode" : 510,
+    "versionName" : "5.1.6",
+    "versionCode" : 516,
     "transformPx" : false,
     /* 5+App特有相关 */
     "app-plus" : {

File diff suppressed because it is too large
+ 1 - 1
pages/columnGoods/static/yhxy.html


File diff suppressed because it is too large
+ 1 - 1
pages/columnGoods/static/yszc.html


+ 10 - 10
pages/user/index.vue

@@ -71,17 +71,17 @@
 										<image src="/static/images/svip.png"></image>
 									</view>
 								</view>
-								<view class="num" v-if="userInfo.phone" @click="goEdit()">
-									<view class="num-txt">{{userInfo.phone}}</view>
+								<view class="num" v-if="userInfo.vip_icon">
+									<view class="num-txt">{{userInfo.vip_name}}</view>
 								</view>
 								<!-- #ifdef MP -->
-								<button class="phone" v-if="!userInfo.phone && isLogin" open-type="getPhoneNumber"
-									@getphonenumber="getphonenumber">{{$t(`绑定手机号`)}}</button>
+								<!-- <button class="phone" v-if="!userInfo.phone && isLogin" open-type="getPhoneNumber"
+									@getphonenumber="getphonenumber">{{$t(`绑定手机号`)}}</button> -->
 								<!-- #endif -->
 								<!-- #ifndef MP -->
-								<view class="phone" v-if="!userInfo.phone && isLogin" @tap="bindPhone">
+								<!-- <view class="phone" v-if="!userInfo.phone && isLogin" @tap="bindPhone">
 									{{$t('绑定手机号')}}
-								</view>
+								</view> -->
 								<!-- #endif -->
 							</view>
 							<view class="message">
@@ -115,11 +115,11 @@
 								<text class="num">{{userInfo.brokerage_price || 0}}</text>
 								<view class="txt">{{$t('佣金')}}</view>
 							</view>
-							<!-- <view class="num-item" @click="goMenuPage('/pages/users/user_coupon/index')">
-								<text class="num">{{userInfo.couponCount || 0}}</text>
-								<view class="txt">{{$t('优惠券')}}</view>
+							<view class="num-item">
+								<text class="num">{{userInfo.achievement || 0}}</text>
+								<view class="txt">{{$t('总业绩')}}</view>
 							</view>
-							<view class="num-item" @click="goMenuPage('/pages/users/user_integral/index')">
+							<!-- <view class="num-item" @click="goMenuPage('/pages/users/user_integral/index')">
 								<text class="num">{{userInfo.integral || 0}}</text>
 								<view class="txt">{{$t('积分')}}</view>
 							</view> -->

+ 10 - 14
pages/users/login/index.vue

@@ -50,19 +50,16 @@
 			</view>
 			<view class="logon" @click="loginMobile" v-if="current !== 0">{{$t(`登录`)}}</view>
 			<view class="logon" @click="submit" v-if="current === 0">{{$t(`登录`)}}</view>
-			<!-- #ifndef APP-PLUS -->
 			<view class="tips">
 				<!-- <view v-if="current==0" @click="current = 1">{{$t(`快速登录`)}}</view> -->
 				<!-- <view v-if="current==1" @click="current = 0">{{$t(`账号登录`)}}</view> -->
 			</view>
 			<!-- TODO -->
-			<!-- <view class="choose">
-				<view class="reg"  @click="forget">忘记密码</view>
-				<view class="xian">|</view>
+			<view class="choose">
+				<!-- <view class="reg"  @click="forget">忘记密码</view>
+				<view class="xian">|</view> -->
 				<view class="zhuce" @click="zhuce">注册账号</view>
-			</view> -->
-			<!-- #endif -->
-			<!-- #ifdef APP-PLUS -->
+			</view>
 			<view class="appLogin" v-if="!appLoginStatus && !appleLoginStatus">
 				<view class="hds">
 					<span class="line"></span>
@@ -70,21 +67,20 @@
 					<span class="line"></span>
 				</view>
 				<view class="btn-wrapper">
-					<view class="btn wx" @click="wxLogin">
+					<!-- <view class="btn wx" @click="wxLogin">
 						<span class="iconfont icon-s-weixindenglu1"></span>
-					</view>
+					</view> -->
 					<view class="btn mima" v-if="current == 1" @click="current =0">
 						<span class="iconfont icon-s-mimadenglu1"></span>
 					</view>
 					<view class="btn yanzheng" v-if="current == 0" @click="current =1">
 						<span class="iconfont icon-s-yanzhengmadenglu1"></span>
 					</view>
-					<view class="apple-btn" @click="appleLogin" v-if="appleShow">
+					<!-- <view class="apple-btn" @click="appleLogin" v-if="appleShow">
 						<view class="iconfont icon-s-pingguo"></view>
-					</view>
+					</view> -->
 				</view>
 			</view>
-			<!-- #endif -->
 			<view class="protocol">
 				<checkbox-group @change='ChangeIsDefault'>
 					<checkbox :class="inAnimation?'trembling':''" @animationend='inAnimation=false'
@@ -94,12 +90,12 @@
 				</checkbox-group>
 			</view>
 		</view>
-		<view class="bottom">
+		<!-- <view class="bottom">
 			<view class="ver" v-if="copyRight">{{copyRight}}</view>
 			<view v-else class="ver">© 2014-2023
 				<a href="https://www.crmeb.com">www.crmeb.com</a>
 			</view>
-		</view>
+		</view> -->
 		<Verify @success="success" :captchaType="captchaType" :imgSize="{ width: '330px', height: '155px' }"
 			ref="verify"></Verify>
 	</view>

+ 605 - 257
pages/users/login/register.vue

@@ -1,305 +1,660 @@
 <template>
-	<view class="container">
-		<view class="container_text" >
-			<image class="banner-img" src="../../users/static/beijing.jpg" mode="scaleToFill"></image>
+	<view class="login-wrapper" :style="colorStyle">
+		<view class="shading">
+			<image :src="logoUrl" />
 		</view>
-		<!-- <view class="loginTitle"><text>注册</text></view> -->
-		<view class="login_text">
-			<view class="login_input flex">
-				<view class="login_img"><image src="../../users/static/phone.png"></image></view>
-				<view class="login_name"><input class="uni-input" v-model="phone" focus placeholder="请输入手机号" /></view>
+		<view class="whiteBg">
+			<view class="list" v-if="current !== 1">
+				<form @submit.prevent="submit">
+					<view class="item">
+						<view class="acea-row row-middle">
+							<image src="../static/phone_1.png" style="width: 24rpx; height: 34rpx;"></image>
+							<input type="text" :placeholder="$t(`输入手机号码`)" v-model="account" maxlength="11" required />
+						</view>
+					</view>
+					<view class="item">
+						<view class="acea-row row-middle">
+							<image src="../static/code_1.png" style="width: 28rpx; height: 32rpx;"></image>
+							<input type="password" :placeholder="$t(`填写登录密码`)" v-model="password" required />
+						</view>
+					</view>
+				</form>
+				<!-- <navigator class="forgetPwd" hover-class="none" url="/pages/users/retrievePassword/index">
+					<span class="iconfont icon-wenti"></span>忘记密码
+				</navigator> -->
 			</view>
-			<view class="login_input flex">
-				<view class="login_img"><image src="../../users/static/code.png"></image></view>
-				<view class="login_name"><input class="uni-input" type="password" v-model="password" focus placeholder="请输入密码" /></view>
-			</view>
-			<view class="login_input flex">
-				<view class="login_img"><image src="../../users/static/yzm.png"></image></view>
-				<view class="login_name"><input class="uni-input" type="text" v-model="invitation" focus placeholder="请输入邀请码" /></view>
-			</view>
-			<view class="login_input flex">
-				<view class="login_img"><image src="../../users/static/yzm.png"></image></view>
-				<view class="login_name flex">
-					<input class="uni-input width" v-model="code" focus placeholder="请输入验证码" />
-					<view class="code" @click="verification">{{ countDown == 0 ? '验证码' : countDown }}</view>
+			<view class="list" v-if="current !== 0 || appLoginStatus || appleLoginStatus">
+				<view class="item">
+					<view class="acea-row row-middle">
+						<image src="../static/phone_1.png" style="width: 24rpx; height: 34rpx;"></image>
+						<input type="text" :placeholder="$t(`输入手机号码`)" v-model="account" :maxlength="11" />
+					</view>
+				</view>
+				<view class="item">
+					<view class="acea-row row-middle">
+						<image src="../static/code_2.png" style="width: 28rpx; height: 32rpx;"></image>
+						<input type="text" :placeholder="$t(`填写邀请码`)" :maxlength="6" class="codeIput"
+							v-model="spread" />
+					</view>
+				</view>
+				<view class="item">
+					<view class="acea-row row-middle">
+						<image src="../static/code_2.png" style="width: 28rpx; height: 32rpx;"></image>
+						<input type="text" :placeholder="$t(`填写验证码`)" :maxlength="6" class="codeIput"
+							v-model="captcha" />
+						<button class="code" :disabled="disabled" :class="disabled === true ? 'on' : ''" @click="code">
+							{{ text }}
+						</button>
+					</view>
+				</view>
+				<view class="item" v-if="isShowCode">
+					<view class="acea-row row-middle">
+						<image src="../static/code_2.png" style="width: 28rpx; height: 32rpx;"></image>
+						<input type="text" :placeholder="$t(`填写验证码`)" class="codeIput" v-model="codeVal" />
+						<view class="code" @click="again"><img :src="codeUrl" /></view>
+					</view>
 				</view>
 			</view>
-			<view><button type="green" @click="register" class="uni-button uni-button-yello">注册</button></view>
+			<view class="logon" @click="loginMobile" v-if="current !== 0">{{$t(`注册`)}}</view>
+			<view class="logon" @click="submit" v-if="current === 0">{{$t(`登录`)}}</view>
+			<view class="tips">
+				<!-- <view v-if="current==0" @click="current = 1">{{$t(`快速登录`)}}</view> -->
+				<!-- <view v-if="current==1" @click="current = 0">{{$t(`账号登录`)}}</view> -->
+			</view>
+			<!-- TODO -->
 			<view class="choose">
-				<view class="reg" @click="forget">忘记密码</view>
-				<view class="xian">|</view>
-				<view class="zhuce" @click="deng">手机登录</view>
+				<!-- <view class="reg"  @click="forget">忘记密码</view>
+				<view class="xian">|</view> -->
+				<view class="zhuce" @click="zhuce">账号登录</view>
+			</view>
+			<view class="protocol">
+				<checkbox-group @change='ChangeIsDefault'>
+					<checkbox :class="inAnimation?'trembling':''" @animationend='inAnimation=false'
+						:checked="protocol ? true : false" />{{$t(`已阅读并同意`)}} <text class="main-color"
+						@click="privacy(4)">{{$t(`《用户协议》`)}}</text>
+					{{$t(`与`)}}<text class="main-color" @click="privacy(3)">{{$t(`《隐私协议》`)}}</text>
+				</checkbox-group>
 			</view>
 		</view>
+		<!-- <view class="bottom">
+			<view class="ver" v-if="copyRight">{{copyRight}}</view>
+			<view v-else class="ver">© 2014-2023
+				<a href="https://www.crmeb.com">www.crmeb.com</a>
+			</view>
+		</view> -->
+		<Verify @success="success" :captchaType="captchaType" :imgSize="{ width: '330px', height: '155px' }"
+			ref="verify"></Verify>
 	</view>
 </template>
 <script>
-// import { register, verify } from '@/api/login.js';
-export default {
-	data() {
-		return {
-			phone: '', //用户
-			password: '', //密码
-			repassword: '',
-			invitation: '', //邀请码
-			code: '', //验证码
-			time: '', //保存倒计时对象
-			countDown: 0 ,//倒计时
-			nickname: '', // 昵称
-		};
-	},
-	onLoad() {
-		this.invitation = uni.getStorageSync('spread')||'';
-		console.log(this.invitation);
-	},
-	watch: {
-		// 监听倒计时
-		countDown(i) {
-			if (i == 0) {
-				clearInterval(this.time);
+	import dayjs from "@/plugin/dayjs/dayjs.min.js";
+	import sendVerifyCode from "@/mixins/SendVerifyCode";
+	import {
+		loginH5,
+		loginMobile,
+		registerVerify,
+		register,
+		getCodeApi,
+		getUserInfo,
+		appleLogin
+	} from "@/api/user";
+	import attrs, {
+		required,
+		alpha_num,
+		chs_phone
+	} from "@/utils/validate";
+	import {
+		getLogo
+	} from "@/api/public";
+	// import cookie from "@/utils/store/cookie";
+	import {
+		VUE_APP_API_URL
+	} from "@/utils";
+	// #ifdef APP-PLUS
+	import {
+		wechatAppAuth
+	} from '@/api/api.js'
+	// #endif
+	const BACK_URL = "login_back_url";
+	import colors from '@/mixins/color.js';
+	import Verify from '../components/verify/index.vue';
+	export default {
+		name: "Login",
+		components: {
+			Verify
+		},
+		mixins: [sendVerifyCode, colors],
+		data: function() {
+			return {
+				copyRight: '',
+				inAnimation: false,
+				protocol: false,
+				current: 1,
+				spread:'',
+				account: "",
+				password: "",
+				captcha: "",
+				formItem: 2,
+				type: "login",
+				logoUrl: "",
+				keyCode: "",
+				codeUrl: "",
+				codeVal: "",
+				isShowCode: false,
+				appLoginStatus: false, // 微信登录强制绑定手机号码状态
+				appUserInfo: null, // 微信登录保存的用户信息
+				appleLoginStatus: false, // 苹果登录强制绑定手机号码状态
+				appleUserInfo: null,
+				appleShow: false, // 苹果登录版本必须要求ios13以上的
+				keyLock: true
+			};
+		},
+		watch: {
+			formItem: function(nval, oVal) {
+				if (nval == 1) {
+					this.type = 'login'
+				} else {
+					this.type = 'register'
+				}
 			}
-		}
-	},
-	methods: {
-		// 注册
-		register() {
-			let obj = this;
-			if (obj.phone == '') {
-				obj.$api.msg('请输入电话号码');
-				return;
+		},
+		onLoad() {
+			let self = this
+			if (uni.getStorageSync('copyRight').copyrightContext) {
+				this.copyRight = uni.getStorageSync('copyRight').copyrightContext
 			}
-			if (obj.nickname == '') {
-				obj.$api.msg('请输入昵称');
-				return;
+			self.spread = self.$Cache.get("spread");
+		},
+		mounted: function() {
+			this.getLogoImage();
+		},
+		methods: {
+			ChangeIsDefault(e) {
+				this.$set(this, 'protocol', !this.protocol);
+			},
+			privacy(type) {
+				uni.navigateTo({
+					url: "/pages/users/privacy/index?type=" + type
+				})
+			},
+			zhuce() {
+				uni.navigateTo({
+					url: "/pages/users/login/index"
+				})
+			},
+			again() {
+				this.codeUrl =
+					VUE_APP_API_URL +
+					"/sms_captcha?" +
+					"key=" +
+					this.keyCode +
+					Date.parse(new Date());
+			},
+			success(data) {
+				this.$refs.verify.hide()
+				getCodeApi()
+					.then(res => {
+						this.keyCode = res.data.key;
+						this.getCode(data);
+					})
+					.catch(res => {
+						this.$util.Tips({
+							title: res
+						});
+					});
+			},
+			code() {
+				let that = this
+				if (!that.protocol) {
+					this.inAnimation = true
+					return that.$util.Tips({
+						title: '请先阅读并同意协议'
+					});
+				}
+				if (!that.account) return that.$util.Tips({
+					title: that.$t(`请填写手机号码`)
+				});
+				if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(that.account)) return that.$util.Tips({
+					title: that.$t(`请输入正确的手机号码`)
+				});
+				this.$refs.verify.show()
+			},
+			async getLogoImage() {
+				let that = this;
+				getLogo(2).then(res => {
+					that.logoUrl = res.data.logo_url;
+				});
+			},
+			async loginMobile() {
+				let that = this;
+				if (!that.protocol) {
+					this.inAnimation = true
+					return that.$util.Tips({
+						title: '请先阅读并同意协议'
+					});
+				}
+				if (!that.account) return that.$util.Tips({
+					title: that.$t(`请填写手机号码`)
+				});
+				if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(that.account)) return that.$util.Tips({
+					title: that.$t(`请输入正确的手机号码`)
+				});
+				if (!that.captcha) return that.$util.Tips({
+					title: that.$t(`请填写验证码`)
+				});
+				if (!that.spread) return that.$util.Tips({
+					title: that.$t(`请填写邀请码/手机号`)
+				});
+				if (!/^[\w\d]+$/i.test(that.captcha)) return that.$util.Tips({
+					title: that.$t(`请输入正确的验证码`)
+				});
+
+				if (this.keyLock) {
+					this.keyLock = !this.keyLock
+				} else {
+					return that.$util.Tips({
+						title: that.$t(`请勿重复点击`)
+					});
+				}
+				loginMobile({
+						phone: that.account,
+						captcha: that.captcha,
+						spread: that.spread
+					})
+					.then(res => {
+						let data = res.data;
+						that.$store.commit("LOGIN", {
+							'token': data.token,
+							'time': data.expires_time - this.$Cache.time()
+						});
+						let backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
+						that.$Cache.clear(BACK_URL);
+						getUserInfo().then(res => {
+							this.keyLock = true
+							that.$store.commit("SETUID", res.data.uid);
+							if (backUrl.indexOf('/pages/users/login/index') !== -1) {
+								backUrl = '/pages/index/index';
+							}
+							uni.reLaunch({
+								url: backUrl
+							});
+						})
+					})
+					.catch(res => {
+						this.keyLock = true
+						that.$util.Tips({
+							title: res
+						});
+					});
+
+
+			},
+			async register() {
+				let that = this;
+				if (!that.protocol) {
+					this.inAnimation = true
+					return that.$util.Tips({
+						title: '请先阅读并同意协议'
+					});
+				}
+				if (!that.account) return that.$util.Tips({
+					title: that.$t(`请填写手机号码`)
+				});
+				if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(that.account)) return that.$util.Tips({
+					title: that.$t(`请输入正确的手机号码`)
+				});
+				if (!that.captcha) return that.$util.Tips({
+					title: that.$t(`请填写验证码`)
+				});
+				if (!/^[\w\d]+$/i.test(that.captcha)) return that.$util.Tips({
+					title: that.$t(`请输入正确的验证码`)
+				});
+				if (!that.password) return that.$util.Tips({
+					title: that.$t(`请填写密码`)
+				});
+				if (/^([0-9]|[a-z]|[A-Z]){0,6}$/i.test(that.password)) return that.$util.Tips({
+					title: that.$t(`您输入的密码过于简单`)
+				});
+				register({
+						account: that.account,
+						captcha: that.captcha,
+						password: that.password,
+						spread: that.$Cache.get("spread")
+					})
+					.then(res => {
+						that.$util.Tips({
+							title: res
+						});
+						that.formItem = 1;
+					})
+					.catch(res => {
+						that.$util.Tips({
+							title: res
+						});
+					});
+			},
+			async getCode(data) {
+				let that = this;
+				if (!that.protocol) {
+					this.inAnimation = true
+					return that.$util.Tips({
+						title: '请先阅读并同意协议'
+					});
+				}
+				if (!that.account) return that.$util.Tips({
+					title: that.$t(`请填写手机号码`)
+				});
+				if (!/^1(3|4|5|7|8|9|6)\d{9}$/i.test(that.account)) return that.$util.Tips({
+					title: that.$t(`请输入正确的手机号码`)
+				});
+				if (that.formItem == 2) that.type = "register";
+
+				await registerVerify({
+						phone: that.account,
+						type: that.type,
+						key: that.keyCode,
+						captchaType: this.captchaType,
+						captchaVerification: data.captchaVerification
+					})
+					.then(res => {
+						this.sendCode()
+						that.$util.Tips({
+							title: res.msg
+						});
+					})
+					.catch(res => {
+						that.$util.Tips({
+							title: res
+						});
+					});
+			},
+			navTap: function(index) {
+				this.current = index;
+			},
+			async submit() {
+				let that = this;
+				if (!that.protocol) {
+					this.inAnimation = true
+					return that.$util.Tips({
+						title: '请先阅读并同意协议'
+					});
+				}
+				if (!that.account) return that.$util.Tips({
+					title: that.$t(`请填写账号`)
+				});
+				if (!/^[\w\d]{5,16}$/i.test(that.account)) return that.$util.Tips({
+					title: that.$t(`请输入正确的账号`)
+				});
+				if (!that.password) return that.$util.Tips({
+					title: that.$t(`请填写密码`)
+				});
+				if (this.keyLock) {
+					this.keyLock = !this.keyLock
+				} else {
+					return that.$util.Tips({
+						title: that.$t(`请勿重复点击`)
+					});
+				}
+				loginH5({
+						account: that.account,
+						password: that.password,
+						spread: that.$Cache.get("spread")
+					})
+					.then(({
+						data
+					}) => {
+						that.$store.commit("LOGIN", {
+							'token': data.token,
+							'time': data.expires_time - this.$Cache.time()
+						});
+						let backUrl = that.$Cache.get(BACK_URL) || "/pages/index/index";
+						that.$Cache.clear(BACK_URL);
+						getUserInfo().then(res => {
+							this.keyLock = true
+							that.$store.commit("SETUID", res.data.uid);
+							uni.reLaunch({
+								url: backUrl
+							});
+						}).catch(error => {
+							this.keyLock = true
+						})
+					})
+					.catch(e => {
+						this.keyLock = true
+						that.$util.Tips({
+							title: e
+						});
+					});
 			}
-			if (!/(^1[1|2|3|4|5|6|7|8|9][0-9]{9}$)/.test(this.phone)) {
-				obj.$api.msg('请输入正确的手机号');
-				return;
+		}
+	};
+</script>
+<style>
+	page {
+		background: #fff;
+	}
+</style>
+<style lang="scss">
+	.appLogin {
+		margin-top: 60rpx;
+
+		.hds {
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			font-size: 24rpx;
+			color: #B4B4B4;
+
+			.line {
+				width: 68rpx;
+				height: 1rpx;
+				background: #CCCCCC;
 			}
-			if (obj.password == '') {
-				obj.$api.msg('请输入密码');
-				return;
+
+			p {
+				margin: 0 20rpx;
 			}
-			if (obj.repassword == '') {
-				obj.$api.msg('请再次输入密码');
-				return;
+		}
+
+		.btn-wrapper {
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			margin-top: 30rpx;
+
+			.btn {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width: 68rpx;
+				height: 68rpx;
+				border-radius: 50%;
 			}
-			if (obj.repassword != obj.password) {
-				obj.$api.msg('两次密码不正确');
-				return;
+
+			.apple-btn {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width: 68rpx;
+				height: 68rpx;
+				border-radius: 50%;
+				background: #000;
+
+
+				.icon-s-pingguo {
+					color: #fff;
+					font-size: 44rpx;
+				}
 			}
-			// if (obj.invitation == '') {
-			// 	obj.$api.msg('请输入邀请码');
-			// 	return;
-			// }
-			if (obj.code == '') {
-				obj.$api.msg('请输入验证码');
-				return;
+
+			.iconfont {
+				font-size: 40rpx;
+				color: #fff;
 			}
-			register({
-				nickname:obj.nickname,
-				account: obj.phone, //账号
-				captcha: obj.code, //验证码
-				password: obj.password ,//密码
-				spread:obj.invitation//上级推广人
-			}).then(function(e) {
-				uni.showToast({
-					title:'注册成功',
-					duration:2000,
-					position:'top'
-				});
-				setTimeout(function () {
-					uni.navigateTo({
-						url: '/pages/public/login'
-					});
-				},1000)
-				
-			});
-			//调用注册接口,成功跳转登录页
-		},
-		// 忘记密码
-		forget() {
-			uni.navigateTo({
-				url: "/pages/users/login/forget" 
-			})
-		},
-		
-		deng() {
-			uni.navigateTo({
-				url: "/pages/users/login/index" 
-			})
-		},
-		//发送验证码
-		verification() {
-			let obj = this;
-			if (this.phone == '') {
-				this.$api.msg('请输入电话号码');
-				return;
+
+			.wx {
+				margin-right: 30rpx;
+				background-color: #61C64F;
 			}
-			if (this.phone.length < 11) {
-				this.$api.msg('请输入正确的手机号');
-				return;
+
+			.mima {
+				margin-right: 30rpx;
+				background-color: #28B3E9;
 			}
-			// 判断是否在倒计时
-			if (obj.countDown > 0) {
-				return false;
-			} else {
-				obj.countDown = 60;
-				obj.time = setInterval(() => {
-					obj.countDown--;
-				}, 1000);
-				//调用验证码接口
-				verify({
-					phone: obj.phone,
-					type: 'register'
-				})
-					.then(({ data }) => {})
-					.catch(err => {
-						console.log(err);
-					});
+
+			.yanzheng {
+				margin-right: 30rpx;
+				background-color: #F89C23;
 			}
-		},
-		login() {
-			//返回登录
-			// uni.navigateTo({
-			// 	url: '/pages/public/login'
-			// });
+
 		}
 	}
-};
-</script>
 
-<style lang="scss">
-page {
-	height: 100%;
-}
-.container {
-	width: 100%;
-	height: 100%;
-	background-size: 100%;
-}
-.container_text {
-	width: 100%;
-	height: 500rpx;
-	top: 0rpx;
-	.banner-img {
+	.code img {
 		width: 100%;
 		height: 100%;
 	}
-}
-.login_text {
-	// margin: auto 30rpx;
-	position: relative;
-	padding: 100rpx 102rpx;
-	background-color: #ffffff;
-	margin-top: -20rpx;
-	border-radius: 20rpx;
-	.login_input {
-		border-bottom: 1px solid #f0f0f0;
-		margin-bottom: 65rpx;
-		.login_img image {
-			height: 35rpx;
-			width: 29rpx;
-			margin-right: 20rpx;
-		}
-		.uni-input {
-			text-align: left;
-			width: 470rpx;
-			font-size: 28rpx !important;
-		}
-		.login_name {
-			color: #333333;
+
+	.acea-row.row-middle {
+		input {
+			margin-left: 20rpx;
+			display: block;
 		}
 	}
 
-	.other {
-		margin-top: 60rpx;
-		.fenge {
-			width: 30%;
-			height: 2rpx;
-			background-color: #eeeeee;
+	.login-wrapper {
+		padding: 30rpx;
+
+		.shading {
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			width: 100%;
+
+			/* #ifdef APP-VUE */
+			margin-top: 50rpx;
+			/* #endif */
+			/* #ifndef APP-VUE */
+
+			margin-top: 200rpx;
+			/* #endif */
+
+
+			image {
+				width: 240rpx;
+				height: 240rpx;
+			}
 		}
-		.qita {
-			font-size: 28rpx;
-			color: #999999;
+
+		.whiteBg {
+			margin-top: 100rpx;
+
+			.list {
+				border-radius: 16rpx;
+				overflow: hidden;
+
+				.item {
+					border-bottom: 1px solid #F0F0F0;
+					background: #fff;
+
+					.row-middle {
+						position: relative;
+						padding: 16rpx 45rpx;
+
+						input {
+							flex: 1;
+							font-size: 28rpx;
+							height: 80rpx;
+						}
+
+						.code {
+							position: absolute;
+							right: 30rpx;
+							top: 50%;
+							color: var(--view-theme);
+							font-size: 26rpx;
+							transform: translateY(-50%);
+						}
+					}
+				}
+			}
+
+			.logon {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width: 100%;
+				height: 86rpx;
+				margin-top: 80rpx;
+				background-color: var(--view-theme);
+				border-radius: 120rpx;
+				color: #FFFFFF;
+				font-size: 30rpx;
+			}
+
+			.tips {
+				margin: 30rpx;
+				text-align: center;
+				color: #999;
+			}
 		}
 	}
-	.weixin {
-		width: 75rpx;
-		height: 75rpx;
-		margin: 25rpx auto;
-	}
-	.weixin image {
-		width: 100%;
-		height: 100%;
-	}
-	.weixin_text {
-		text-align: center;
-		font-size: 28rpx;
+
+	.protocol {
+		margin-top: 40rpx;
 		color: #999999;
+		font-size: 24rpx;
+		text-align: center;
+		bottom: 20rpx;
 	}
-	.forget {
-		font-size: 28rpx;
+
+	.bottom {
+		position: fixed;
+		bottom: 30rpx;
+		left: 0;
+		display: flex;
 		width: 100%;
-		text-align: right;
+		justify-content: center;
 		color: #999999;
+
+		.ver {
+			font-size: 20rpx;
+		}
+
+		.ver-msg {
+			margin-left: 10rpx;
+		}
+
+		a {
+			color: #999999;
+			margin-left: 10rpx;
+			text-decoration: none;
+		}
 	}
 
-	.uni-button-yello {
-		color: #ffffff;
-		// margin: 40rpx 10rpx;
-		// border-radius: 50rpx;
-		
-		background: linear-gradient(-30deg, #FF3106, #FF8F3B);
-		border-radius: 10rpx;
+	.trembling {
+		animation: shake 0.6s;
 	}
-	
-	.uni-button {
-		height: 85rpx;
-		line-height: 85rpx;
+
+	.main-color {
+		color: var(--view-theme);
 	}
-}
-.loginTitle {
-	position: absolute;
-	top: 250rpx;
-	width: 100%;
-	text-align: center;
-	color: white;
-	font-size: 40rpx;
-}
-
-.forget {
-	width: 100rpx;
-	font-size: 24rpx;
-	color: #ffffff;
-	margin: 0px auto;
-	border-bottom: 1px solid #ffffff;
-}
-.width {
-	width: 325rpx !important;
-}
-.code {
-	color: #ff762d;
-	font-size: 23rpx;
-	border-left: 1px solid #eeeeee;
-	width: 150rpx;
-	flex-shrink: 0;
-	text-align: center;
-}
-
-.choose {
+
+	.choose {
 		display: flex;
 		justify-content: center;
-		margin-top: 15rpx;
+
 		.reg {
 			font-size: 28rpx;
 			font-weight: 500;
 			color: #ff8d3a;
 		}
+
 		.xian {
 			color: #FF4C4C;
 			padding-left: 10rpx;
 		}
+
 		.zhuce {
 			font-size: 28rpx;
 			font-weight: 500;
@@ -307,11 +662,4 @@ page {
 			padding-left: 10rpx;
 		}
 	}
-	
-uni-button {
-	height: 80rpx !important;
-	line-height: 80rpx !important;
-}
-
-</style>
-
+</style>

+ 3 - 3
pages/users/promoter-list/index.vue

@@ -25,13 +25,13 @@
 			<view class='list'>
 				<view class="sortNav acea-row row-middle">
 					<view class="sortItem" @click='setSort("childCount ASC")' v-if="sort == 'childCount DESC'">
-						{{$t(`团队排序`)}}
+						{{$t(`员工排序`)}}
 						<image src='../static/sort1.png'></image>
 					</view>
-					<view class="sortItem" @click='setSort("")' v-else-if="sort == 'childCount ASC'">{{$t(`团队排序`)}}
+					<view class="sortItem" @click='setSort("")' v-else-if="sort == 'childCount ASC'">{{$t(`员工排序`)}}
 						<image src='../static/sort3.png'></image>
 					</view>
-					<view class="sortItem" @click='setSort("childCount DESC")' v-else>{{$t(`团队排序`)}}
+					<view class="sortItem" @click='setSort("childCount DESC")' v-else>{{$t(`员工排序`)}}
 						<image src='../static/sort2.png'></image>
 					</view>
 					<view class="sortItem" @click='setSort("numberCount ASC")' v-if="sort == 'numberCount DESC'">

Some files were not shown because too many files changed in this diff