phone-code.vue 1.8 KB
Newer Older
DCloud_JSON's avatar
DCloud_JSON 已提交
1 2 3 4
<template>
	<view class="content">
		<!-- 顶部文字 -->
		<text class="tit">{{$t('common.verifyCodePlaceholder')}}</text>
雪洛's avatar
雪洛 已提交
5
		<text class="tip">{{tipText}}</text>
DCloud_JSON's avatar
DCloud_JSON 已提交
6 7 8 9 10 11 12 13 14 15
		<uni-forms>
		<!-- 登录框 (选择手机号所属国家和地区需要另行实现) -->
			<uni-easyinput type="number" class="easyinput" :inputBorder="false"
				v-model="code" maxlength="6" :placeholder="$t('common.verifyCodePlaceholder')">
				<template v-slot:right>
					<uni-send-sms-code :phone="phone" ref="sendSmsCode"></uni-send-sms-code>
				</template>
			</uni-easyinput>
			<button class="send-btn" :disabled="!canSubmit" :type="canSubmit?'primary':'default'"
				@click="submit">{{$t('common.login')}}</button>
16 17
		</uni-forms>
		<uni-quick-login agree></uni-quick-login>
DCloud_JSON's avatar
DCloud_JSON 已提交
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
	</view>
</template>
<script>
	import mixin from '../common/login-page.mixin.js';
	export default {
		mixins:[mixin],
		data() {
			return {
				code:'',
				phone:''
			}
		},
		computed: {
			tipText() {
				return this.$t('common.verifyCodeSend')+ `${this.phone}。`;
			},
			canSubmit(){
				return this.code.length==6;
雪洛's avatar
雪洛 已提交
36
			}
DCloud_JSON's avatar
DCloud_JSON 已提交
37 38 39 40
		},
		onLoad({phoneNumber,phoneArea}) {
			this.phone = phoneNumber;
		},
雪洛's avatar
雪洛 已提交
41
		onReady() {
DCloud_JSON's avatar
-...  
DCloud_JSON 已提交
42 43 44
			if(this.phone.length==11){
				this.$refs.sendSmsCode.start();
			}
DCloud_JSON's avatar
DCloud_JSON 已提交
45 46 47
		},
		methods: {
			submit(){ //完成并提交
雪洛's avatar
雪洛 已提交
48 49 50 51 52
				uniCloud.callFunction({
					name:'uni-id-cf',
					data:{
						action:'loginBySms',
						params:{
DCloud_JSON's avatar
DCloud_JSON 已提交
53
							"mobile":this.phone,
雪洛's avatar
雪洛 已提交
54 55 56 57 58 59 60 61 62 63 64 65 66 67
							"code":this.code
						},
					},
					success: ({result}) => {
						if(result.code === 0){
							this.loginSuccess(result)
						}else{
							uni.showModal({
								content: result.msg,
								showCancel: false
							});
						}
					}
				})
DCloud_JSON's avatar
DCloud_JSON 已提交
68 69 70 71 72 73 74
			}
		}
	}
</script>
<style>
	@import url("../common/login-page.css");
</style>