Merge branch 'sit-Carl' into sit-Leung

This commit is contained in:
Vion 2022-01-17 19:45:39 +08:00
commit a40446e8c2
2 changed files with 429 additions and 495 deletions

View File

@ -1,161 +1,147 @@
// <!-- -->
<template> <template>
<div class="container rc-full-width">
<Myheader></Myheader>
<div class="rc-top"></div>
<div class="container rc-full-width"> <div class="content ts-max-width--460">
<Myheader></Myheader> <h2 class="rc-beta rc-text--center">账号注册</h2>
<div class="content ts-max-width--460"> <div class="rc-layout-container rc-one-column">
<h2 class="rc-beta rc-text--center">账号注册</h2> <div class="rc-column">
<input
<div class="rc-layout-container rc-one-column"> class="ts-standard-input"
<div class="rc-column"> v-model="tel"
<input placeholder="请输入手机号"
class="ts-standard-input" :error-message="usertel"
v-model="tel" v-if="!ifpassword"
placeholder="请输入手机号" clearable
:error-message="usertel" />
v-if="!ifpassword" </div>
clearable </div>
/> <!-- <van-field
</div> v-model="password"
</div> type="password"
<!-- <van-field placeholder="请输入密码"
v-model="password" :error-message="pass"
type="password"
placeholder="请输入密码"
:error-message="pass"
clearable
/> -->
<div class="rc-layout-container rc-two-column">
<div class="rc-column">
<input
v-if="!ifpassword"
v-model="sms"
class="ts-standard-input ts-standard-input--two center"
center
clearable
placeholder="请输入验证码"
>
</div>
<div class="rc-column">
<button
:disabled="flag"
slot="button"
size="small"
@click="sendCode"
class="rc-use ts-standard-btn ts-standard-btn--two"
>{{ buttonmsg }}</button
>
</div>
</div>
<div class="rc-layout-container rc-one-column">
<div class="usecheck rc-column rc-text--left">
<label>
<input
type="checkbox"
@click="checkBox()"
style="width: 24px; height: 24px"
v-model="inRank"
/>使
</label>
</div>
</div>
<div class="rc-layout-container rc-two-column rc-button">
<div class="rc-column rc-text--left">
<a href="#" class="rc-styled-link"><span>隐私政策</span></a>
</div>
<div class="rc-column rc-text--right">
<nuxt-link :to="`/userlogin/login/`" class="rc-styled-link">
<span>返回登录</span>
</nuxt-link>
</div>
</div>
<div class="rc-layout-container rc-one-column"> clearable
<div class="rc-column"> /> -->
<input <div class="rc-layout-container rc-two-column">
type="primary" <div class="rc-column">
:loading="loading" <input
loading-text="注册中..." v-if="!ifpassword"
size="large" v-model="sms"
:disabled="zhud" class="ts-standard-input ts-standard-input--two center"
@click="register()" center
class="ts-standard-btn ts-standard-btn--max-width" clearable
value="注册" placeholder="请输入验证码"
></input
> >
<!-- <van-divider @click="toLogin">注册账户</van-divider> --> </div>
</div> <div class="rc-column">
</div> <button
</div> :disabled="flag"
slot="button"
size="small"
@click="sendCode"
class="rc-use ts-standard-btn ts-standard-btn--two"
>{{ buttonmsg }}</button
>
</div>
</div>
<div class="rc-layout-container rc-one-column">
<div class="usecheck rc-column rc-text--left">
<label>
<input
type="checkbox"
@click="checkBox()"
style="width: 24px; height: 24px"
v-model="inRank"
/>使
</label>
</div>
</div>
<div class="rc-layout-container rc-two-column rc-button">
<div class="rc-column rc-text--left">
<a href="#" class="rc-styled-link"><span>隐私政策</span></a>
</div>
<div class="rc-column rc-text--right">
<nuxt-link :to="`/userlogin/login/`" class="rc-styled-link">
<span>返回登录</span>
</nuxt-link>
</div>
</div>
<div class="rc-layout-container rc-one-column">
<div class="rc-column">
<input
type="primary"
:loading="loading"
loading-text="注册中..."
size="large"
:disabled="zhud"
@click="register()"
class="ts-standard-btn ts-standard-btn--max-width"
value="注册"
></input
>
<!-- <van-divider @click="toLogin">注册账户</van-divider> -->
</div>
</div>
</div> </div>
</div>
</template> </template>
<script> <script>
import {useredit,inserdiscount,sendMsg,vadatnmsg } from '../../ajax/getData' import {useredit,inserdiscount,sendMsg,vadatnmsg } from '../../ajax/getData'
import Myheader from '~/components/header.vue' // import Myheader from '~/components/header.vue' //
export default { export default {
data () { data () {
return { return {
phone:'', phone:'',
layerMSg:'手机格式不对', layerMSg:'手机格式不对',
tel:'', tel:'',
password:'', password:'',
captchadata:'', captchadata:'',
tamp:'', tamp:'',
hash:'', hash:'',
sms:'', sms:'',
buttonmsg:'获取验证码', buttonmsg:'获取验证码',
flag:false, flag:false,
adminCode:'', adminCode:'',
zhud:false, zhud:false,
usercheckbox:false, usercheckbox:false,
loading:false, loading:false,
usertitle:true, usertitle:true,
gender: '', gender: '',
inRank:false inRank:false,
ifpassword:false
}; };
}, },
components: { components: {
// Myheader, Myheader,
}, },
computed: { computed: {
usertel () { usertel () {
if (this.tel === ""){ if (this.tel === ""){
return '' return ''
}else if(!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel)){ }else if(!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel)){
return '手机号格式错误' return '手机号格式错误'
}else { }else {
return '' return ''
} }
}, },
pass () { pass () {
if (this.password === ""){ if (this.password === ""){
return '' return ''
}else if(this.password.length<6){ }else if(this.password.length<6){
return '密码不可小于6位' return '密码不可小于6位'
}else { }else {
return '' return ''
} }
},
// test () {
// if (this.sms === ""){
// return ''
// }else if(this.sms.length !== 5){
// return ''
// }else {
// return ''
// }
// }
}, },
components: {
}, },
mounted(){ mounted(){
}, },
@ -163,165 +149,160 @@ export default {
methods: { methods: {
// //
async usermsg() { async usermsg() {
console.log("-----"); //console.log("-----");
let data = await sendMsg(this.tel); let data = await sendMsg(this.tel);
if(data){ if(data){
console.log(data); //console.log(data);
this.captchadata=data.msgNum; //this.captchadata=data.msgNum;
this.tamp=data.tamp; this.tamp=data.tamp;
this.hash=data.hash; this.hash=data.hash;
} }
}, },
// async vadmsg() {
async vadmsg() { //console.log("-----");
console.log("-----"); let data = await vadatnmsg(this.sms,this.hash,this.tamp);
let data = await vadatnmsg(this.captchadata,this.hash,this.tamp);
if(data){ if(data){
console.log(data); return data;
if(!data.code==1){
return false
}
} }
}, },
checkBox(){
console.log(event.target.checked) checkBox(){
this.usercheckbox=event.target.checked //console.log(event.target.checked)
this.usercheckbox=event.target.checked
}, },
// //
async serdiscount (mobile,couponId) { async serdiscount (mobile,couponId) {
let data = await inserdiscount(mobile,couponId); let data = await inserdiscount(mobile,couponId);
if(data){ if(data){
console.log(data); console.log(data);
} }
console.log(data); //console.log(data);
},
//
sendCode () {
this.getCode()
}, },
//
sendCode () {
this.getCode()
},
getCode() { getCode() {
if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") { if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") {
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '手机号码输入有误' message: '手机号码输入有误'
}); });
return return
} else{ } else{
let time = 60; let time = 60;
let timer; let timer;
timer = setInterval(() => { timer = setInterval(() => {
time--; time--;
if (time === 0) { if (time === 0) {
clearInterval(timer); clearInterval(timer);
this.flag = false; this.flag = false;
this.buttonmsg = "点击发送验证码"; this.buttonmsg = "点击发送验证码";
return; return;
} }
this.flag = true; this.flag = true;
this.buttonmsg = time + "秒后重新发送"; this.buttonmsg = time + "秒后重新发送";
}, 1000); }, 1000);
this.usermsg(); this.usermsg();
} }
}, },
async register () { async register () {
if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") { if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") {
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '手机号码输入有误' message: '手机号码输入有误'
}); });
return return
} }
if(this.sms!==this.captchadata){ // if(this.sms!==this.captchadata){
this.$message({ // this.$message({
type: 'warning', // type: 'warning',
message: '验证码输入有误请重新输入' // message: ''
}); // });
return // return
} // }
if(this.sms==''){ if(this.sms==''){
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '请输入验证码' message: '请输入验证码'
}); });
return return
} }
console.log(this.usercheckbox); console.log(this.usercheckbox);
if(this.usercheckbox==false){ if(this.usercheckbox==false){
console.log('----'); console.log('----');
this.$message({
type: 'warning',
message: '请先同意隐私声明和账号使用协议'
});
if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") {
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '请先勾选' message: '手机号码输入有误'
}); });
if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") { return
this.$message({
type: 'warning',
message: '手机号码输入有误'
});
return
}
}
else{
}
let user= JSON.parse(localStorage.getItem("userInfo")); }
console.log(this.tel); else{
let data=await useredit(this.tel); //let user= JSON.parse(localStorage.getItem("userInfo"));
this.vadmsg(); let data = await this.vadmsg();
this.$message({ if(data.code=="1")
type: 'warning', {
message: data.msg data=await useredit(this.tel);
}); if(data.code=='1'){
if(data){ let couponId='0000000123';
let couponId='0000000123'; this.serdiscount(this.tel,couponId);
this.serdiscount(user.data.mobile,couponId); setTimeout(() => {
setTimeout(() => { this.serdiscount(this.tel,"0000000140");
this.serdiscount(user.data.mobile,"0000000140"); }, 100);
}, 100); setTimeout(() => {
setTimeout(() => { this.serdiscount(this.tel,"0000000122");
this.serdiscount(user.data.mobile,"0000000122"); }, 500);
}, 500); this.$router.push({
path: "/",
} });
return;
return }
}
this.$message({
type: 'warning',
message: data.msg
});
return
} }
},
// reallR () { },
// this.zhud=true
// this.loading=true // reallR () {
// axios.post('https://www.daxunxun.com/users/register', { // this.zhud=true
// username: this.tel, // this.loading=true
// password: this.password // axios.post('https://www.daxunxun.com/users/register', {
// }).then(res=>{ // username: this.tel,
// this.zhud=false // password: this.password
// this.loading=false // }).then(res=>{
// if (res.data === 2) { // this.zhud=false
// Toast('') // this.loading=false
// } else if (res.data === 0) { // if (res.data === 2) {
// Toast('') // Toast('')
// } else { // } else if (res.data === 0) {
// Toast('') // Toast('')
// } // } else {
// }) // Toast('')
// } // }
// })
// }
} }
} }

View File

@ -1,39 +1,38 @@
<template> <template>
<div class="container rc-full-width"> <div class="container rc-full-width">
<Myheader></Myheader> <Myheader></Myheader>
<div class="rc-top"></div>
<div class="content ts-max-width--460"> <div class="content ts-max-width--460">
<h2 class="rc-beta rc-text--center">{{ usertitle ? "账号登录" : "" }}</h2> <h2 class="rc-beta rc-text--center">{{ usertitle ? "账号登录" : "" }}</h2>
<!-- Deprecated : No tab switching as no password <!-- Deprecated : No tab switching as no password
<div class="rc-header"> <div class="rc-header">
<span <span
v-for="(item, index) in swiperData" v-for="(item, index) in swiperData"
:key="index" :key="index"
@click="selectGoods(item, index)" @click="selectGoods(item, index)"
:class="activeIndex == index ? 'active' : 'unactive'" :class="activeIndex == index ? 'active' : 'unactive'"
>{{ item.title }}</span >{{ item.title }}</span
> >
</div> </div>
--> -->
<div class="rc-layout-container rc-one-column">
<div class="rc-layout-container rc-one-column"> <div class="rc-column">
<div class="rc-column"> <input
<input class="ts-standard-input"
class="ts-standard-input" v-model="tel"
v-model="tel" placeholder="请输入手机号"
placeholder="请输入手机号" :error-message="usertel"
:error-message="usertel" v-if="!ifpassword"
v-if="!ifpassword" clearable
clearable />
/> </div>
</div> </div>
</div> <!-- Deprecated : No tab switching as no password
<!-- Deprecated : No tab switching as no password
<input <input
v-model="text" v-model="text"
class="ts-standard-input ts-standard-input--two" class="ts-standard-input ts-standard-input--two"
placeholder="请输入账号" placeholder="请输入账号"
v-if="ifpassword" v-if="ifpassword"
clearable clearable
/> />
@ -42,76 +41,76 @@
v-model="password" v-model="password"
type="password" type="password"
placeholder="请输入密码" placeholder="请输入密码"
v-if="ifpassword" v-if="ifpassword"
clearable clearable
/> />
--> -->
<div class="rc-layout-container rc-two-column"> <div class="rc-layout-container rc-two-column">
<div class="rc-column"> <div class="rc-column">
<input <input
v-if="!ifpassword" v-if="!ifpassword"
v-model="sms" v-model="sms"
class="ts-standard-input ts-standard-input--two center" class="ts-standard-input ts-standard-input--two center"
center center
clearable clearable
placeholder="请输入验证码" placeholder="请输入验证码"
> >
</div> </div>
<div class="rc-column"> <div class="rc-column">
<button <button
:disabled="flag" :disabled="flag"
slot="button" slot="button"
size="small" size="small"
@click="sendCode" @click="sendCode"
class="rc-use ts-standard-btn ts-standard-btn--two" class="rc-use ts-standard-btn ts-standard-btn--two"
>{{ buttonmsg }}</button >{{ buttonmsg }}</button
> >
</div> </div>
</div> </div>
<div class="rc-layout-container rc-one-column"> <div class="rc-layout-container rc-one-column">
<div class="usecheck rc-column rc-text--left"> <div class="usecheck rc-column rc-text--left">
<label> <label>
<input <input
type="checkbox" type="checkbox"
@click="checkBox()" @click="checkBox()"
style="width: 24px; height: 24px" style="width: 24px; height: 24px"
v-model="inRank" v-model="inRank"
/>使 />使
</label> </label>
</div> </div>
</div> </div>
<div class="rc-layout-container rc-two-column rc-button"> <div class="rc-layout-container rc-two-column rc-button">
<div class="rc-column rc-text--left"> <div class="rc-column rc-text--left">
<a href="#" class="rc-styled-link"><span>隐私政策</span></a> <a href="#" class="rc-styled-link"><span>隐私政策</span></a>
</div> </div>
<div class="rc-column rc-text--right"> <div class="rc-column rc-text--right">
<nuxt-link :to="`/userlogin/edit/`" class="rc-styled-link"> <nuxt-link :to="`/userlogin/edit/`" class="rc-styled-link">
<span>注册账户</span> <span>注册账户</span>
</nuxt-link> </nuxt-link>
</div> </div>
</div> </div>
<div class="rc-layout-container rc-one-column"> <div class="rc-layout-container rc-one-column">
<div class="rc-column"> <div class="rc-column">
<input <input
type="primary" type="primary"
:loading="loading" :loading="loading"
loading-text="登录..." loading-text="登录..."
size="large" size="large"
:disabled="zhud" :disabled="zhud"
@click="register()" @click="register()"
class="ts-standard-btn ts-standard-btn--max-width" class="ts-standard-btn ts-standard-btn--max-width"
value="登录" value="登录"
></input ></input
> >
<!-- <van-divider @click="toLogin">注册账户</van-divider> --> <!-- <van-divider @click="toLogin">注册账户</van-divider> -->
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
@ -146,11 +145,11 @@ export default {
swiperData: [ swiperData: [
// { index: 1 ,title:''}, // { index: 1 ,title:''},
// { index: 2 ,title:''}, // { index: 2 ,title:''},
], ]
}; };
}, },
components: { components: {
Myheader Myheader
}, },
computed: { computed: {
usertel() { usertel() {
@ -181,48 +180,40 @@ export default {
} }
}, },
}, },
components: {},
mounted() { mounted() {
console.log(this.$route.params); //console.log(this.$route.params);
}, },
// watch: function () { // watch: function () {
// console.log(this.inRank); // console.log(this.inRank);
// }, // },
methods: { methods: {
...mapMutations(["changeClod"]), ...mapMutations(["changeClod"]),
checkBox(){ checkBox(){
console.log(event.target.checked) console.log(event.target.checked)
this.usercheckbox=event.target.checked this.usercheckbox=event.target.checked
}, },
// //
async usermsg() { async usermsg() {
console.log("-----"); //console.log("-----");
let data = await sendMsg(this.tel); let data = await sendMsg(this.tel);
if(data){ if(data){
console.log(data); console.log(data);
this.captchadata=data.msgNum; //this.captchadata=data.msgNum;
this.tamp=data.tamp; this.tamp=data.tamp;
this.hash=data.hash; this.hash=data.hash;
} }
}, },
// //
async vadmsg() { async vadmsg() {
console.log("-----"); //console.log("-----");
let data = await vadatnmsg(this.captchadata,this.hash,this.tamp); let data = await vadatnmsg(this.sms,this.hash,this.tamp);
if(data){ if(data){
console.log(data.code); return data;
if(!data.code==1){
return false
}
} }
}, },
onClickHander(e) { onClickHander(e) {
console.log(e); console.log(e);
@ -239,7 +230,7 @@ export default {
}, },
// //
useredd() { useredd() {
console.log("---注册账户"); //console.log("---");
this.usertitle = false; this.usertitle = false;
}, },
@ -248,134 +239,96 @@ export default {
}, },
sendCode() { sendCode() {
this.getCode(); this.getCode();
}, },
getCode() { getCode() {
if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") { if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") {
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '手机号码输入有误' message: '手机号码输入有误'
}); });
return return
} else{
let time = 60; } else{
let timer;
timer = setInterval(() => { let time = 60;
time--; let timer;
if (time === 0) {
clearInterval(timer); timer = setInterval(() => {
this.flag = false; time--;
this.buttonmsg = "点击发送验证码"; if (time === 0) {
return; clearInterval(timer);
} this.flag = false;
this.flag = true; this.buttonmsg = "点击发送验证码";
this.buttonmsg = time + "秒后重新发送"; return;
}, 1000); }
this.usermsg(); this.flag = true;
this.buttonmsg = time + "秒后重新发送";
}, 1000);
this.usermsg();
} }
}, },
async register() { async register() {
if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") { if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") {
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '手机号码输入有误' message: '手机号码输入有误'
}); });
return return
}
if(this.sms!==this.captchadata){
this.$message({
type: 'warning',
message: '验证码输入有误请重新输入'
});
return
} }
if(this.sms==''){ if(this.sms==''){
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '请输入验证码' message: '请输入验证码'
}); });
return return
} }
console.log(this.usercheckbox);
if(this.usercheckbox==false){ if(this.usercheckbox==false){
console.log('----'); //console.log('----');
this.$message({
type: 'warning',
message: '请先同意隐私声明和账号使用协议'
});
if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") {
this.$message({ this.$message({
type: 'warning', type: 'warning',
message: '请先勾选' message: '手机号码输入有误'
}); });
if (!/^[1][3,4,5,7,8][0-9]{9}$/.test(this.tel) || this.tel === "") { return
this.$message({
type: 'warning',
message: '手机号码输入有误'
});
return
}
}
else{
console.log(this.tel);
let data = await userLongin(this.tel);
console.log(data);
this.vadmsg();
this.$message({ }
type: 'warning',
message: '登录成功'
});
if(data.msg=='SUCCESS'){
this.$router.push({
path: "/",
});
let token=JSON.stringify(data);
this.changeClod({ cloud: token });
}else{
this.$message({
type: 'warning',
message: data.msg
});
}
return
} }
else{
let data=await this.vadmsg();
if(data.code=="1")
{
data = await userLongin(this.tel);
if(data.msg=='SUCCESS'){
this.$message({
type: 'warning',
message: '登录成功'
});
this.$router.push({
path: "/",
});
let token=JSON.stringify(data);
this.changeClod({ cloud: token });
return;
}
}
this.$message({
type: 'warning',
message: data.msg
});
return
}, }},
// reallR () {
// this.zhud=true
// this.loading=true
// axios.post('https://www.daxunxun.com/users/register', {
// username: this.tel,
// password: this.password
// }).then(res=>{
// this.zhud=false
// this.loading=false
// if (res.data === 2) {
// Toast('')
// } else if (res.data === 0) {
// Toast('')
// } else {
// Toast('')
// }
// })
// }
}, },
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
@import url("../../assets/css/global.less");
@import url("../../assets/css/login.less"); @import url("../../assets/css/login.less");
</style> </style>