deming/pageA/register/register.vue

446 lines
8.7 KiB
Vue
Raw Normal View History

2020-06-11 08:43:51 +08:00
<template>
<!-- login页面 -->
<view>
<view class="login">
<image class="images" src="../../static/pageA/loginbackground.png"></image>
<view class="backes"></view>
<view class="content">
2020-06-17 12:09:28 +08:00
<view class="title">手机注册</view>
2020-07-04 11:03:20 +08:00
<view class="labales phones">
2020-06-11 08:43:51 +08:00
<!-- <text></text> -->
2020-06-17 12:09:28 +08:00
<input type="tel" placeholder="请输入您的手机号" v-model="member_mobile" />
2020-06-11 08:43:51 +08:00
</view>
<view class="labales">
<!-- <text></text> -->
2020-06-17 12:09:28 +08:00
<input type="tel" placeholder="请输入验证码" v-model="sms_code" />
<!-- <text class="identifying" @click="apiwelcome()">获取验证码</text> -->
<!-- 验证码接口的引入 -->
<identifying @tochange="tochange" :smslog_type="smslog_type" :member_mobile="member_mobile" ></identifying>
2020-06-11 08:43:51 +08:00
</view>
<!-- 服务协议 -->
<view class="pact">
<view></view>
<text>我已详细阅读并同意</text>
2020-07-04 11:03:20 +08:00
<text class="pact_text" v-for="(item,index) in pact_text" :key="index" @click="pact_click(index)"> {{item.text}} </text>
2020-06-11 08:43:51 +08:00
<u-checkbox-group @change="checkboxGroupChange" size="27">
<u-checkbox @change="checkboxChange" v-model="item.checked" v-for="(item, index) in list" :key="index" :name="item.name"
2020-06-17 12:09:28 +08:00
shape="circle" size="14" active-color="#19BE6B" ></u-checkbox>
2020-06-11 08:43:51 +08:00
</u-checkbox-group>
</view>
</view>
<!-- 注册 -->
<view class="more_Login">
<text></text>
<text class="other" @click="mask_u">其他方式登录</text>
</view>
<!-- denglu QQ weixin -->
2020-07-02 08:39:38 +08:00
<view class="u-btn" @click="loginIn">{{login}}</view>
2020-06-11 08:43:51 +08:00
<u-mask :show="show" @click="show = false">
<view class="warp">
<view class="rect" @tap.stop>
<view class="rect_view">
<image src="../../static/pageA/qq.png" class="image"></image>
<view>QQ登录</view>
</view>
<view class="rect_view">
2020-06-17 12:09:28 +08:00
<image src="../../static/pageA/weixin.png" class="image"></image>
2020-06-11 08:43:51 +08:00
<view>微信登录</view>
</view>
<view class="rect_butoon" @click="show = false">取消</view>
</view>
</view>
</u-mask>
</view>
2020-06-17 12:09:28 +08:00
<!-- 提示框 -->
<u-toast ref="uToast" />
2020-06-11 08:43:51 +08:00
</view>
</template>
<script>
2020-06-17 12:09:28 +08:00
import identifying from '@/components/logininput/identifying'
2020-06-11 08:43:51 +08:00
export default {
data() {
return {
list: [{
2020-06-17 12:09:28 +08:00
checked: true,
2020-06-11 08:43:51 +08:00
disabled: false
}],
value: '',
2020-06-17 12:09:28 +08:00
login: '注册',
show: false,
member_mobile: '', //手机号
smslog_type : '1',//状态
sms_code : '', //验证码
2020-07-04 11:03:20 +08:00
// 协议渲染
pact_text: [{
"id": '1',
"text": "《用户协议》"
}, {
"id": '2',
"text": "《隐私协议》"
}, {
"id": '3',
"text": "《使用协议》"
},
]
2020-06-11 08:43:51 +08:00
};
2020-06-17 12:09:28 +08:00
},
onLoad() {
2020-06-11 08:43:51 +08:00
},
methods: {
2020-07-04 11:03:20 +08:00
// 协议跳转
pact_click(index){
console.log(index)
uni.navigateTo({
url: '/pageA/pactList/pactList?index=' + index
});
},
2020-06-17 12:09:28 +08:00
// 用户注册
loginIn(){
2020-06-22 22:58:29 +08:00
let type_phone = this.$u.test.mobile( this.member_mobile)
if( this.member_mobile == ''){
this.$refs.uToast.show({
title: '手机号不能为空',
type: 'error'
})
return false;
}
if (type_phone == false) {
this.$refs.uToast.show({
title: '手机号格式不正确',
type: 'error'
});
return false;
}
if( this.sms_code == ''){
this.$refs.uToast.show({
title: '验证码不能为空',
type: 'error'
})
return false;
}
2020-06-17 12:09:28 +08:00
this.$u.api.phoneRegister({
member_mobile: this.member_mobile,
sms_code: this.sms_code
}).then((res) => {
2020-06-22 22:58:29 +08:00
console.log('3333333333',res);
// 校验手机号
2020-06-17 12:09:28 +08:00
// console.log(res)
if(res.errCode == 0){
// 缓存用户的信息
uni.setStorage({
2020-07-04 11:03:20 +08:00
key: 'token',
data: res.data.token,
2020-06-17 12:09:28 +08:00
success: function () {
console.log('success');
2020-06-22 22:58:29 +08:00
// 跳转选择页面
uni.navigateTo({
url : '/pageA/topick/topick'
})
2020-06-17 12:09:28 +08:00
}
});
// 注册返回参数
2020-06-18 14:57:26 +08:00
// this.$refs.uToast.show({
// title: res.message,
// type: 'success',
// url: '/pageA/topick/topick'
// })
2020-06-17 12:09:28 +08:00
}
if(res.errCode == 1){
this.$refs.uToast.show({
title: res.message,
type: 'error'
})
}
2020-06-22 22:58:29 +08:00
if(res.errCode == 2){
this.$refs.uToast.show({
title: res.message,
type: 'primary',
url: '/pageA/login/login'
})
}
2020-06-17 12:09:28 +08:00
})
},
2020-06-11 08:43:51 +08:00
// 选中某个复选框时由checkbox时触发
checkboxChange(e) {
//console.log(e);
},
// 选中任一checkbox时由checkbox-group触发
checkboxGroupChange(e) {
// console.log(e);
},
2020-06-17 12:09:28 +08:00
mask_u() {
2020-06-11 08:43:51 +08:00
this.show = !this.show
},
2020-06-17 12:09:28 +08:00
// 注册接口
tochange() {
// console.log("调用父组件的方法")
// console.log('2222',this._data.member_mobile)
let member_mobile = this._data.member_mobile
}
},
components: {
identifying
2020-06-11 08:43:51 +08:00
}
};
</script>
<style lang="scss" scoped>
.login {
// background: url(../../static/pageA/loginbackground.png) no-repeat!important;
.images {
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: -1;
}
.backes {
background: rgba(0, 0, 0, 0.4);
position: fixed;
width: 100%;
height: 100%;
z-index: -1;
}
text {
z-index: 9;
color: #fff;
}
.more_Login {
overflow: hidden;
zoom: 1;
width: 630rpx;
margin: 0 auto;
}
.more_Login text {
display: inline-block;
width: 50%;
float: left;
font-size: 30rpx;
color: rgba(255, 255, 255, 1);
line-height: 36px;
margin: 97rpx 0;
}
.more_Login .other {
text-align: right;
}
}
.title {
font-size: 36rpx;
font-weight: bold;
margin-bottom: 150rpx;
color: #fff;
}
.content {
width: 630rpx;
z-index: 99999;
margin: 0 auto;
padding-top: 130rpx;
.labales text {
font-size: 30rpx;
}
.labales {
border-bottom: 1px #fff solid;
2020-07-02 08:39:38 +08:00
margin-bottom: 20rpx;
2020-06-11 08:43:51 +08:00
height: 70rpx;
line-height: 70rpx;
2020-06-17 12:09:28 +08:00
color: #fff;
2020-06-11 08:43:51 +08:00
}
2020-06-17 12:09:28 +08:00
2020-06-11 08:43:51 +08:00
.labales {
position: relative;
}
.identifying {
position: absolute;
right: 0;
top: 0;
bottom: 0;
margin: auto;
font-size: 30rpx;
font-weight: 500;
color: rgba(255, 120, 15, 1);
line-height: 20px;
}
}
2020-06-17 12:09:28 +08:00
.uni-input-input,
.uni-input-placeholder {
color: #fff!important;
letter-spacing: 2rpx;
}
2020-06-11 08:43:51 +08:00
.u-checkbox-group {
position: absolute;
left: 0;
top: 0;
bottom: 0;
margin: auto;
}
.u-checkbox__icon--square {
border-radius: 50rpx !important;
width: 22rpx;
height: 22rpx;
}
.u-btn {
width: 628rpx;
height: 98rpx;
background: rgba(255, 120, 15, 1) !important;
border-radius: 49rpx;
margin: 0 auto;
font-size: 36rpx;
color: rgba(255, 255, 255, 1) !important;
2020-07-02 08:39:38 +08:00
line-height: 98rpx;
2020-06-11 08:43:51 +08:00
border: 1px #ff780f solid;
outline: none;
border-color: rgba(255, 120, 15, 1) !important;
2020-07-02 08:39:38 +08:00
text-align: center;
2020-06-11 08:43:51 +08:00
}
.warp {
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
.rect {
width: 558rpx;
height: 300rpx;
background-color: #fff;
border-radius: 20rpx;
overflow: hidden;
zoom: 1;
position: relative;
display: flex;
2020-06-17 12:09:28 +08:00
flex-wrap: wrap;
display: -webkit-flex;
/* Safari */
.rect_view {
2020-06-11 08:43:51 +08:00
width: 100rpx;
height: 100rpx;
2020-06-17 12:09:28 +08:00
.image {
width: 45rpx;
height: 53rpx;
display: inline-block;
2020-06-11 08:43:51 +08:00
}
2020-06-17 12:09:28 +08:00
2020-06-11 08:43:51 +08:00
flex:1;
margin-top: 77rpx;
}
2020-06-17 12:09:28 +08:00
.rect_view:nth-child(2) image {
2020-06-11 08:43:51 +08:00
width: 57rpx;
height: 45rpx;
}
2020-06-17 12:09:28 +08:00
.rect_butoon {
2020-06-11 08:43:51 +08:00
width: 100%;
position: absolute;
bottom: 0;
height: 85rpx;
text-align: center;
line-height: 85rpx;
border-top: 1px #999999 solid;
}
2020-06-17 12:09:28 +08:00
view {
2020-06-11 08:43:51 +08:00
color: #666;
2020-06-17 12:09:28 +08:00
font-size: 24rpx;
2020-06-11 08:43:51 +08:00
margin-top: 30rpx;
2020-06-17 12:09:28 +08:00
2020-06-11 08:43:51 +08:00
}
}
2020-06-17 12:09:28 +08:00
.rect_view:nth-child(1) image,
.rect_view:nth-child(1) view {
2020-06-11 08:43:51 +08:00
float: right;
}
2020-06-17 12:09:28 +08:00
.rect_view:nth-child(1) image {
2020-06-11 08:43:51 +08:00
margin-right: 20rpx;
}
2020-06-17 12:09:28 +08:00
.rect_view:nth-child(1) {
2020-06-11 08:43:51 +08:00
position: relative;
margin-right: 79rpx;
}
2020-06-17 12:09:28 +08:00
.rect_view:nth-child(1) view {
2020-06-11 08:43:51 +08:00
position: absolute;
bottom: 0;
right: 0;
}
2020-06-17 12:09:28 +08:00
.rect_view:nth-child(2) image,
.rect_view:nth-child(2) view {
2020-06-11 08:43:51 +08:00
float: left;
}
2020-06-17 12:09:28 +08:00
.rect_view:nth-child(2) image {
2020-06-11 08:43:51 +08:00
margin-left: 20rpx;
}
2020-06-17 12:09:28 +08:00
.rect_view:nth-child(2) {
2020-06-11 08:43:51 +08:00
position: relative;
}
2020-06-17 12:09:28 +08:00
.rect_view:nth-child(2) view {
2020-06-11 08:43:51 +08:00
position: absolute;
bottom: 0;
left: 0;
}
2020-07-02 08:39:38 +08:00
.pact text {
font-size: 22rpx;
font-weight: 400;
color: rgba(255, 255, 255, 1);
// line-height: 36px;
}
2020-07-15 16:52:39 +08:00
.pact>view:first-child {
2020-07-02 08:39:38 +08:00
float: left;
}
.pact_text {
font-size: 22px;
font-weight: 400;
color: rgba(129, 188, 253, 1) !important;
// line-height: 36px;
}
//单选框的样式
.pact {
position: relative;
padding-left: 40rpx;
overflow: hidden;
// overflow: hidden; //超出的文本隐藏
// text-overflow: ellipsis; //溢出用省略号显示
// white-space: nowrap; //溢出不换行
}
2020-07-04 11:03:20 +08:00
.phones{
margin-bottom: 90rpx!important;
}
2020-06-11 08:43:51 +08:00
</style>