微信小程序?qū)崿F(xiàn)短信登錄的實(shí)戰(zhàn)
項(xiàng)目要求增加短信登錄及人臉識(shí)別登錄功能,下面我們來實(shí)現(xiàn)下短信登錄功能
1.界面效果預(yù)覽

2.uView安裝
uView官網(wǎng):https://www.uviewui.com
以npm安裝為例,執(zhí)行:npm install uview-ui即可
3.uView配置
3.1 main.js中引入
import uView from "uview-ui"; Vue.use(uView);
3.2 uni.scss中引入
@import 'uview-ui/theme.scss';
3.3 App.vue中引入
<style lang="scss"> /* 注意要寫在第一行,同時(shí)給style標(biāo)簽加入lang="scss"屬性 */ @import "uview-ui/index.scss"; </style>
3.4 pages.json中配置
"easycom": {
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue",
},
注意如果easycom中還有別的配置有可能會(huì)導(dǎo)致uView樣式無法加載
4.短信登錄界面
<template>
<view class="wrap">
<view class="login">
<view class="login-logo">
<image src="../../../../static/img/logo.png"
mode=""></image>
</view>
<view class="form-view"></view>
</view>
<u-form :model="model"
ref="uForm">
<u-form-item :rightIconStyle="{ color: '#888', fontSize: '32rpx' }"
:label-position="labelPosition"
label="手機(jī)號(hào)碼"
prop="phone"
label-width="150">
<u-input :border="border"
placeholder="請輸入手機(jī)號(hào)"
v-model="model.phone"
type="number"></u-input>
</u-form-item>
<u-form-item :label-position="labelPosition"
label="驗(yàn)證碼"
prop="code"
label-width="150">
<u-input :border="border"
placeholder="請輸入驗(yàn)證碼"
v-model="model.code"
type="text"></u-input>
<u-button slot="right"
type="success"
size="mini"
@click="getCheckNum">{{ codeTips }}</u-button>
</u-form-item>
<view class="bot-view">
<button class="btn btn-submit"
@click="doLogin">登錄</button>
</view>
</u-form>
<u-verification-code seconds="60"
ref="uCode"
@change="codeChange"></u-verification-code>
</view>
</template>
5.點(diǎn)擊獲取驗(yàn)證碼接口
import utilTools from '../../../../utils/UtilTools.js';
import { isMobile } from '../../../../utils/validate.js';
getCheckNum() {
let obj = utilTools.getParams();
obj.method = 'xxx';
obj.message = JSON.stringify({ mobile_phone: this.model.phone });
this.$Api.getDataFromWeb(obj).then(data => {
if (!!data && data['success'] == 'true') {
this.$refs.uCode.start();
} else {
this.$Api.messHint(`${data.detail}`);
}
})
.catch(err => {
this.$Api.messHint(`${err.errMsg}`);
});
}
UtilTools中封裝的方法
import Request from './request.js';
const request = new Request().http;
hostAddress:'xxxx',
getDataFromWeb:function(data){
return request(`${this.hostAddress}`,data,'POST')
}
點(diǎn)擊獲取驗(yàn)證碼按鈕,調(diào)用后端接口,后端接口封裝了調(diào)用阿里云短信的方法,向當(dāng)前傳入的手機(jī)號(hào)中發(fā)送固定的模板信息,驗(yàn)證碼可由后端隨機(jī)生成寫入到模板中。
到此這篇關(guān)于微信小程序?qū)崿F(xiàn)短信登錄的實(shí)戰(zhàn)的文章就介紹到這了,更多相關(guān)小程序短信登錄內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
javascript forEach通用循環(huán)遍歷方法
循環(huán)遍歷一個(gè)元素是開發(fā)中最常見的需求之一,那么讓我們來看一個(gè)由框架BASE2和Jquery的結(jié)合版本吧.2010-10-10
小程序?qū)崿F(xiàn)列表多個(gè)批量倒計(jì)時(shí)
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)列表多個(gè)批量倒計(jì)時(shí),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02
javascript setTimeout()傳遞函數(shù)參數(shù)(包括傳遞對(duì)象參數(shù))
由于需要,我要用到setTimeout()并且在里邊的函數(shù)參數(shù)傳遞一個(gè)參數(shù),就像這樣setTimeout("fun(參數(shù))", 1000)。但是以我這種寫法,js會(huì)報(bào)錯(cuò),說‘參數(shù)’未定義。2010-04-04
基于JS實(shí)現(xiàn)數(shù)字+字母+中文的混合排序方法
這篇文章主要介紹了基于JS實(shí)現(xiàn)數(shù)字+字母+中文的混合排序方法的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
Javascript 鼠標(biāo)移動(dòng)上去 滑塊跟隨效果代碼分享
這篇文章主要介紹了Javascript 鼠標(biāo)移動(dòng)上去 滑塊跟隨效果代碼,有需要的朋友可以參考一下2013-11-11
Javascript基礎(chǔ)之?dāng)?shù)組的使用
這篇文章主要介紹了Javascript基礎(chǔ)之?dāng)?shù)組的使用的相關(guān)資料,介紹的非常詳解,具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧2016-05-05

