|
|
@ -1,65 +1,67 @@ |
|
|
|
<template> |
|
|
|
<template> |
|
|
|
<view class="login"> |
|
|
|
<view class="login"> |
|
|
|
<view class="refund-navbar"> |
|
|
|
<view class="refund-navbar"> |
|
|
|
<u-navbar |
|
|
|
<u-navbar title="" :border-bottom="false" :background="background"></u-navbar> |
|
|
|
title="" |
|
|
|
|
|
|
|
:border-bottom="false" |
|
|
|
|
|
|
|
:background="background" |
|
|
|
|
|
|
|
></u-navbar> |
|
|
|
|
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="login-hd"> |
|
|
|
<view class="login-hd"> |
|
|
|
<view class="a">验证码登录</view> |
|
|
|
<view class="a">验证码登录</view> |
|
|
|
<view class="b">若该手机号未注册,我们将自动为您注册</view> |
|
|
|
<view class="b">若该手机号未注册,我们将自动为您注册</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="login-bd"> |
|
|
|
<view class="login-bd"> |
|
|
|
<view class="a" |
|
|
|
<view class="a">+86<input v-model="phoneNum" type="tel" placeholder="请输入手机号" /></view> |
|
|
|
>+86<input v-model="phoneNum" type="tel" placeholder="请输入手机号" |
|
|
|
|
|
|
|
/></view> |
|
|
|
|
|
|
|
<view class="b"> |
|
|
|
<view class="b"> |
|
|
|
<input v-model="semCode" placeholder="请输入验证码" /> |
|
|
|
<input v-model="semCode" placeholder="请输入验证码" /> |
|
|
|
<text @click="getCode" v-if="!showCountDown">获取验证码</text> |
|
|
|
<text @click="getCode" v-if="!showCountDown">获取验证码</text> |
|
|
|
<text v-if="showCountDown">{{ countdown }}s</text> |
|
|
|
<text v-if="showCountDown">{{ countdown }}s</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="c" style="display: flex; align-items: center"> |
|
|
|
<view class="c" style="display: flex; align-items: center"> |
|
|
|
<u-checkbox |
|
|
|
<u-checkbox active-color="#FF343C" v-model="isCheckout" style="margin-right: -20rpx"></u-checkbox> |
|
|
|
active-color="#FF343C" |
|
|
|
同意<text @click="toTextPage(1)">《用户服务协议》</text>和<text @click="toTextPage(2)">《隐私政策》</text> |
|
|
|
v-model="isCheckout" |
|
|
|
|
|
|
|
style="margin-right: -20rpx" |
|
|
|
|
|
|
|
></u-checkbox |
|
|
|
|
|
|
|
>同意<text @click="toTextPage(1)">《用户服务协议》</text>和<text |
|
|
|
|
|
|
|
@click="toTextPage(2)" |
|
|
|
|
|
|
|
>《隐私政策》</text |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="login-fd login-fd-on" @click="login">登录</view> |
|
|
|
<view class="login-fd login-fd-on" @click="login">登录</view> |
|
|
|
<view class="" v-if="isCheckout"> |
|
|
|
<view class="" v-if="isCheckout"> |
|
|
|
<mpWeiXinMobile :refereeId="refereeId"></mpWeiXinMobile> |
|
|
|
<mpWeiXinMobile :refereeId="refereeId"></mpWeiXinMobile> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view |
|
|
|
<view class="" v-else style=" |
|
|
|
class="" |
|
|
|
|
|
|
|
v-else |
|
|
|
|
|
|
|
style=" |
|
|
|
|
|
|
|
font-size: 28rpx; |
|
|
|
font-size: 28rpx; |
|
|
|
color: #666; |
|
|
|
color: #666; |
|
|
|
text-align: center; |
|
|
|
text-align: center; |
|
|
|
margin-top: 50rpx; |
|
|
|
margin-top: 50rpx; |
|
|
|
" |
|
|
|
" @click="login"> |
|
|
|
@click="login" |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
手机号快捷登录 |
|
|
|
手机号快捷登录 |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="login-box" style="display: none;"> |
|
|
|
|
|
|
|
<view class="refund-navbar"> |
|
|
|
|
|
|
|
<u-navbar title="" :border-bottom="false" background="rgba(255, 233, 240, 1)"></u-navbar> |
|
|
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="login-logo"> |
|
|
|
|
|
|
|
<image src="../../static/login_logo.png" mode=""></image> |
|
|
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="login-name"> |
|
|
|
|
|
|
|
京苏云商 |
|
|
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="c"> |
|
|
|
|
|
|
|
<u-checkbox active-color="#FF343C" v-model="isCheckout" style="margin-right: -20rpx"></u-checkbox> |
|
|
|
|
|
|
|
同意<text @click="toTextPage(1)">《用户服务协议》</text>和<text @click="toTextPage(2)">《隐私政策》</text> |
|
|
|
|
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="fd fd-on" @click="login">登录</view> |
|
|
|
|
|
|
|
</view> |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<script> |
|
|
|
<script> |
|
|
|
import * as UserApi from "@/api/user"; |
|
|
|
import * as UserApi from "@/api/user"; |
|
|
|
import * as CaptchaApi from "@/api/captcha"; |
|
|
|
import * as CaptchaApi from "@/api/captcha"; |
|
|
|
import mpWeiXinMobile from "./components/mp-weixin-mobile.vue"; |
|
|
|
import mpWeiXinMobile from "./components/mp-weixin-mobile.vue"; |
|
|
|
import store from "@/store"; |
|
|
|
import store from "@/store"; |
|
|
|
import { isEmpty } from "@/utils/util"; |
|
|
|
import { |
|
|
|
import { getSceneData } from '@/core/app' |
|
|
|
isEmpty |
|
|
|
export default { |
|
|
|
} from "@/utils/util"; |
|
|
|
|
|
|
|
import { |
|
|
|
|
|
|
|
getSceneData |
|
|
|
|
|
|
|
} from '@/core/app' |
|
|
|
|
|
|
|
export default { |
|
|
|
components: { |
|
|
|
components: { |
|
|
|
mpWeiXinMobile, |
|
|
|
mpWeiXinMobile, |
|
|
|
}, |
|
|
|
}, |
|
|
@ -84,12 +86,12 @@ export default { |
|
|
|
// 获取二维码场景值 |
|
|
|
// 获取二维码场景值 |
|
|
|
const scene = getSceneData(o) |
|
|
|
const scene = getSceneData(o) |
|
|
|
// 记录推荐人ID |
|
|
|
// 记录推荐人ID |
|
|
|
const refereeId = scene.refereeId ? scene.refereeId : (scene.uid?scene.uid:o.refereeId) |
|
|
|
const refereeId = scene.refereeId ? scene.refereeId : (scene.uid ? scene.uid : o.refereeId) |
|
|
|
this.refereeId = refereeId; |
|
|
|
this.refereeId = refereeId; |
|
|
|
console.log(scene) |
|
|
|
console.log(scene) |
|
|
|
console.log(o) |
|
|
|
console.log(o) |
|
|
|
console.log(scene.refereeId) |
|
|
|
console.log(scene.refereeId) |
|
|
|
console.log("refereeId",refereeId) |
|
|
|
console.log("refereeId", refereeId) |
|
|
|
console.log(this.refereeId) |
|
|
|
console.log(this.refereeId) |
|
|
|
}, |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
methods: { |
|
|
@ -137,12 +139,12 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
}, 1000); |
|
|
|
}, 1000); |
|
|
|
uni.showToast({ |
|
|
|
uni.showToast({ |
|
|
|
icon:"none", |
|
|
|
icon: "none", |
|
|
|
title: res.message, |
|
|
|
title: res.message, |
|
|
|
}); |
|
|
|
}); |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
uni.showToast({ |
|
|
|
uni.showToast({ |
|
|
|
icon:"none", |
|
|
|
icon: "none", |
|
|
|
title: res.message, |
|
|
|
title: res.message, |
|
|
|
}); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
@ -165,7 +167,7 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
uni.login({ |
|
|
|
uni.login({ |
|
|
|
provider: "weixin", |
|
|
|
provider: "weixin", |
|
|
|
success: function (res) { |
|
|
|
success: function(res) { |
|
|
|
store |
|
|
|
store |
|
|
|
.dispatch("Login", { |
|
|
|
.dispatch("Login", { |
|
|
|
smsCode: that.semCode, |
|
|
|
smsCode: that.semCode, |
|
|
@ -182,7 +184,7 @@ export default { |
|
|
|
setTimeout(() => that.onNavigateBack(1), 2000); |
|
|
|
setTimeout(() => that.onNavigateBack(1), 2000); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, |
|
|
|
}, |
|
|
|
fail:function(){ |
|
|
|
fail: function() { |
|
|
|
store |
|
|
|
store |
|
|
|
.dispatch("Login", { |
|
|
|
.dispatch("Login", { |
|
|
|
smsCode: that.semCode, |
|
|
|
smsCode: that.semCode, |
|
|
@ -218,14 +220,81 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
}; |
|
|
|
</script> |
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
<style lang="scss" scoped> |
|
|
|
.login { |
|
|
|
.login-box { |
|
|
|
|
|
|
|
width: 100%; |
|
|
|
|
|
|
|
background: linear-gradient(180deg, rgba(255, 233, 240, 1) 0%, rgba(226, 244, 243, 0) 35%); |
|
|
|
|
|
|
|
min-height: 100vh; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.login-logo { |
|
|
|
|
|
|
|
margin: 365rpx auto 0 auto; |
|
|
|
|
|
|
|
width: 132rpx; |
|
|
|
|
|
|
|
height: 132rpx; |
|
|
|
|
|
|
|
border-radius: 24rpx; |
|
|
|
|
|
|
|
background: rgba(243, 74, 64, 1); |
|
|
|
|
|
|
|
box-shadow: -4rpx -8rpx 20rpx rgba(243, 74, 64, 0.16); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
image { |
|
|
|
|
|
|
|
width: 75rpx; |
|
|
|
|
|
|
|
height: 85rpx; |
|
|
|
|
|
|
|
margin: 23.5rpx 0 0 28.5rpx; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.login-name { |
|
|
|
|
|
|
|
width: 100%; |
|
|
|
|
|
|
|
text-align: center; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
font-weight: bold; |
|
|
|
|
|
|
|
font-size: 36rpx; |
|
|
|
|
|
|
|
color: rgba(243, 74, 64, 1); |
|
|
|
|
|
|
|
margin-top: 22rpx; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.c { |
|
|
|
|
|
|
|
justify-content: center; |
|
|
|
|
|
|
|
padding: 28rpx 0; |
|
|
|
|
|
|
|
font-size: 26rpx; |
|
|
|
|
|
|
|
font-weight: 400; |
|
|
|
|
|
|
|
color: #a0a0a0; |
|
|
|
|
|
|
|
display: flex; |
|
|
|
|
|
|
|
align-items: center; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
text { |
|
|
|
|
|
|
|
color: #ff343c; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
::v-deep .u-checkbox__icon-wrap--square { |
|
|
|
|
|
|
|
border-radius: 50% !important; |
|
|
|
|
|
|
|
width: 17px !important; |
|
|
|
|
|
|
|
height: 17px !important; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.fd { |
|
|
|
|
|
|
|
width: 680rpx; |
|
|
|
|
|
|
|
line-height: 88rpx; |
|
|
|
|
|
|
|
background: rgba(243, 74, 64, 1); |
|
|
|
|
|
|
|
border-radius: 88rpx; |
|
|
|
|
|
|
|
text-align: center; |
|
|
|
|
|
|
|
margin: 0 auto; |
|
|
|
|
|
|
|
margin-top: 50rpx; |
|
|
|
|
|
|
|
font-size: 28rpx; |
|
|
|
|
|
|
|
font-weight: 600; |
|
|
|
|
|
|
|
color: #ffffff; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.fd-on { |
|
|
|
|
|
|
|
background-color: rgba(243, 74, 64, 1); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.login { |
|
|
|
width: 100%; |
|
|
|
width: 100%; |
|
|
|
background: #fffafb url(https://www.royaum.com.cn/static/news/login-bg.png) |
|
|
|
background: #fffafb url(https://www.royaum.com.cn/static/news/login-bg.png) center top no-repeat; |
|
|
|
center top no-repeat; |
|
|
|
|
|
|
|
background-size: 100% auto; |
|
|
|
background-size: 100% auto; |
|
|
|
min-height: 100vh; |
|
|
|
min-height: 100vh; |
|
|
|
|
|
|
|
|
|
|
@ -318,5 +387,5 @@ export default { |
|
|
|
background-color: #ff343c; |
|
|
|
background-color: #ff343c; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|
</style> |
|
|
|