registercode.vue 8.7 KB
<template>
	<view clas="content">

		<view class="logo">
			<image src="../../static/kogok.jpg" mode=""></image>
		</view>
		<view class="logoname">中国面条</view>
		<view class="loginone">
			<image src="../../static/logintwo.jpg" mode=""></image>
			<view class="denglubtn flextwo">
				<view class='dengluleft' @click="loginlogin">登录</view>
				<view class='dengluleft'>注册</view>
			</view>
			<view class="loginbox loginboxbox">
				<view class="loginboxitem flex">
					<view class="boxitemleft">
						<image src="../../static/phone.png" mode=""></image>
					</view>
					<view class="boxitemright">
						<input type="number" value="" placeholder="请输入手机号" placeholder-class="entercode" value="" @input="enterphone" />
					</view>
				</view>
				<view class="loginboxitem flextwo">
					<view class="flex">
						<view class="boxitemleft">
							<image src="../../static/card.png" mode=""></image>
						</view>
						<view class="boxitemright">
							<!-- @input="entercode" -->
							<input type="text" placeholder="请输入验证码" placeholder-class="entercode" @blur="yanzhengcode" @input="entercode" />
						</view>

					</view>
					<view class="cardyan" @click="disable==false?getcode():''">{{time}}</view>
					<!-- <view class="cardyan" v-else>{{time}}</view> -->
					<!-- <view class="cardyan"  @click="getcode">{{time}}</view> -->
				</view>



				<view class="loginboxitem flex">
					<view class="setpasswordleft">密码</view>
					<view class="setpasswordright">
						<input placeholder="6-16个字符以内,区分大小写" @input="enterfirst" type="password" v-if="passtrue">
						<input placeholder="6-16个字符以内,区分大小写" @input="enterfirst" type="text" v-else>
					</view>

					<view class="eye" @click="chosepassword">
						<image src="../../static/closeeye.png" mode="" v-if="passtrue"></image>
						<image src="../../static/openeye.png" mode="" v-else></image>
					</view>

				</view>

				<view class="loginboxitem flex">
					<view class="setpasswordleft">确认密码</view>
					<view class="setpasswordright">
						<input placeholder="请再次输入" @input="entersecond" type="password" v-if="passtruek">
						<input placeholder="请再次输入" @input="entersecond" type="text" v-else>
					</view>

					<view class="eye" @click="chosepasswordk">
						<image src="../../static/closeeye.png" mode="" v-if="passtruek"></image>
						<image src="../../static/openeye.png" mode="" v-else></image>
					</view>

				</view>

				<view class="loginboxitem flex">
					<view class="setpasswordleft">邀请码</view>
					<view class="setpasswordright">
						<input type="number" placeholder="请输入邀请码(选填)" placeholder-class="entercode" value="" @input="entershare">
						
					</view>
					
				</view>

				<button class="loginbtnbtn" @click="finish" v-if="showlogin">注册</button>
				<button class="loginbtnbtn" v-else>注册</button>

			</view>
		</view>

		
	</view>
</template>

<script>
	import app from "../../App.vue";
	var interval = ''
	export default {
		data() {
			return {
				showbanben: false,
				phone: '',
				time: '获取验证码',
				disable: false,
				code: '',
				currentTime: 60,
				codenum: '',
				setcode: '',
				share_number: '',
				// 输入密码
				firscode: '',
				secondcode: '',
				// phone: '',
				passtrue: true,
				passtruek: true,
				yaoqingcode: '',
				showlogin:true
			}
		},
		onLoad(options) {
		},
		methods: {
			
			// 去登录页面
			loginlogin(){
				uni.redirectTo({
					url:'/pages/login/loginindex'
				})
			},
			// 输入邀请码
			entershare(e) {
				this.share_number = e.detail.value
			},
			// 已有账号去登录
			gologin() {
				uni.reLaunch({
					url: '/pages/login/loginindex'
				})
			},

			//输入手机号
			enterphone(e) {
				this.phone = e.detail.value
			},
			// 输入验证码
			entercode(e) {
				this.codenum = e.detail.value
			},
			// 获取验证码
			getcode() {
				console.log(9999)
				let that = this;
				that.disable = true;
				if (this.phone == '') {
					uni.showToast({
						title: "请输入手机号",
						icon: 'none'
					})
					this.disable = false;
					return false
				}
				if (this.phone != '') {
					if (!(/^1[3456789]\d{9}$/.test(that.phone))) {
						wx.showToast({
							title: '请输入正确的手机号',
							icon: 'none'
						})

						this.disable = false;
						return false
					}


				}
				let currentTime = that.currentTime;
				let url = "user/get_code";
				let param = {
					mobile: that.phone,
					is_register: 1
				};
				console.log('8888', param)
				app.post(url, param, 'post').then(r => {
					console.log('999', r)
					this.setcode = r.data.data.code;
					this.codenum = r.data.data.code;

					interval = setInterval(function() {
						currentTime--;
						that.time = currentTime + '秒'
						if (currentTime <= 0) {
							clearInterval(interval)
							that.time = '重新发送';
							that.currentTime = 61;
							that.disable = false;
						}
					}, 1000)

				}).catch(err => {
					console.log(err)
					uni.showToast({
						title: err.msg,
						icon: "none"
					})
				})
			},
			istestcode() {
				let that = this;
				var url = 'user/register1';
				var params = {
					mobile: that.phone,
					code: that.setcode,
					share_number: that.share_number
				}
				console.log('48488', params)
				app.post(url, params).then((res) => {
					console.log(res);
					

				}).catch((err) => {
					console.log('888', err)
					uni.showToast({
						title: err.msg,
						icon: "none"
					})

				})
			},
			// 验证验证码
			yanzhengcode(){
				this.istestcode()
			},
			// 新人获取优惠券
			newpeoplecoupon() {
				let that = this;
				var url = 'user_ticket/user_new';
				var params = {

				}
				console.log('48488', params)
				app.post(url, params).then((res) => {
					console.log(res, '新人获取优惠券8888888');

				}).catch((err) => {
					console.log('888', err)

				})
			},
			// 完成注册
			finish() {
				let that = this;
				if (this.phone == '') {
					uni.showToast({
						title: '请输入手机号',
						icon: 'none'
					})
					return false
				}
				if (this.phone != '') {
					if (!(/^1[3456789]\d{9}$/.test(this.phone))) {
						wx.showToast({
							title: '请输入正确的手机号',
							icon: 'none'
						})
						return false
					}
				
				
				}
				if (this.codenum == '') {
					uni.showToast({
						title: '请输入验证码',
						icon: 'none'
					})
					return false
				}
				if (that.firscode == '') {
					uni.showToast({
						title: '请输入密码',
						icon: "none"
					})
					return false
				}

				if (that.secondcode == '') {
					uni.showToast({
						title: "请输入确认密码",
						icon: "none"
					})
					return false
				}
				if (that.firscode != that.secondcode) {
					uni.showToast({
						title: '两次输入密码不一致',
						icon: "none"
					})
					return false
				}

				let url = "user/register2";
				let param = {
					mobile: that.phone,
					password: that.firscode,
					affirm_password: that.secondcode,
					third_id: uni.getStorageSync("third_id") == undefined ? '' : uni.getStorageSync("third_id"),
					share_number: that.yaoqingcode
				};
				console.log('8888', param)
				app.post(url, param, 'get').then(r => {
					console.log(r)
					uni.showToast({
						title: '注册成功',
						icon: 'none'
					})
					uni.setStorageSync("token", r.data.data.token)

					that.newpeoplecoupon()
					// uni.setStorageSync('user',1)
					setTimeout(function() {
						uni.switchTab({

							url: '/pages/homepage/homepage'

						})
					}, 1500)


				}).catch(err => {
					console.log(err)
					uni.showToast({
						title: err.msg,
						icon: 'none'
					})
				})
			},

			chosepassword() {
				this.passtrue = !this.passtrue
			},
			chosepasswordk() {
				this.passtruek = !this.passtruek
			},
			// 输入密码
			enterfirst(e) {
				this.firscode = e.detail.value
			},
			// 
			entersecond(e) {
				this.secondcode = e.detail.value
			},


			// 下一步
			finishcode() {
				if (this.phone == '') {
					uni.showToast({
						title: '请输入手机号',
						icon: 'none'
					})
					return false
				}
				if (this.phone != '') {
					if (!(/^1[3456789]\d{9}$/.test(this.phone))) {
						wx.showToast({
							title: '请输入正确的手机号',
							icon: 'none'
						})
						return false
					}


				}
				if (this.codenum == '') {
					uni.showToast({
						title: '请输入验证码',
						icon: 'none'
					})
					return false
				}
				this.istestcode()
				
				console.log(9999)

			}

		}

	}
</script>

<style>
	@import url('../../base/login');

	page {
		overflow-y: hidden;
	}

	image {
		width: 100%;
		height: 100%
	}

	/* .boxitemleft{
		width:120rpx;
		color:#5A5D62;
		font-size: 28rpx;
	} */
</style>