在 UniApp 中使用阿里云驗證碼插件(aliyun-captcha
)需要完成微信小程序端的插件配置和項目內的組件使用兩個主要步驟,以下是詳細流程:
一、微信公眾平臺配置插件(必須)
-
獲取插件 AppID
阿里云驗證碼插件的 AppID 通常為?wx4ef6e42c5e3d0
(建議確認最新官方信息)。 -
添加插件到小程序
- 登錄?微信公眾平臺,進入你的小程序項目
- 左側菜單:設置 → 第三方設置 → 插件管理 → 添加插件
- 輸入 AppID 搜索插件,申請添加并等待審核通過(通常即時生效)
二、UniApp 項目配置
-
在?
pages.json
?中注冊組件
在需要使用驗證碼的頁面配置中,添加微信小程序的插件引用:json
{"pages": [{"path": "pages/login/login", // 你的頁面路徑"style": {"mp-weixin": { // 僅微信小程序生效"usingComponents": {"aliyun-captcha": "plugin://AliyunCaptcha/captcha" // 注冊組件}}}}] }
-
配置插件版本(可選)
若需要指定插件版本,在項目根目錄的?manifest.json
?中添加:json
"mp-weixin": {"plugins": {"AliyunCaptcha": { // 插件名稱(需與引用時一致)"version": "1.0.0", // 插件版本號"provider": "wx4ef6e42c5e3d0" // 插件 AppID}} }
三、在頁面中使用組件
-
基本用法(Vue 模板)
在頁面的?.vue
?文件中直接使用注冊好的?aliyun-captcha
?組件:vue
<template><view class="login-page"><!-- 阿里云驗證碼組件 --><aliyun-captcharef="captcha":scene="scene":options="captchaOptions"@success="onCaptchaSuccess"@fail="onCaptchaFail"@close="onCaptchaClose"/><!-- 觸發驗證碼的按鈕 --><button @click="showCaptcha">獲取驗證碼</button></view> </template>
-
JS 邏輯處理
javascript
運行
<script> export default {data() {return {scene: "login", // 驗證碼場景(自定義,如登錄/注冊/支付)captchaOptions: {// 插件配置參數(需從阿里云控制臺獲取)appKey: "你的阿里云appKey", // 必傳,阿里云驗證碼服務的appKey// 可選配置lang: "zh-CN", // 語言(zh-CN/en)theme: "light" // 主題(light/dark)}};},methods: {// 顯示驗證碼showCaptcha() {// 調用組件的show方法顯示驗證碼this.$refs.captcha.show();},// 驗證成功回調onCaptchaSuccess(res) {console.log("驗證成功", res);// res包含驗證憑證(如token),需傳給后端進行二次校驗const { validateToken } = res;this.submitForm(validateToken); // 提交表單時攜帶憑證},// 驗證失敗回調onCaptchaFail(err) {console.error("驗證失敗", err);uni.showToast({ title: "驗證失敗,請重試", icon: "none" });},// 關閉驗證碼回調onCaptchaClose() {console.log("驗證碼已關閉");},// 提交表單(示例)submitForm(validateToken) {// 調用后端接口時攜帶驗證憑證this.$api.login({username: this.username,password: this.password,validateToken: validateToken // 驗證碼驗證結果});}} }; </script>
四、關鍵說明
-
appKey
?獲取
需在?阿里云驗證碼控制臺?開通服務并創建應用,獲取對應的?appKey
。 -
組件方法
show()
:顯示驗證碼彈窗(需通過?ref
?調用)hide()
:手動隱藏驗證碼彈窗
-
回調參數
- 成功回調?
res
?包含?validateToken
(驗證憑證),需后端調用阿里云接口校驗有效性 - 失敗回調?
err
?包含錯誤信息(如用戶取消、驗證超時等)
- 成功回調?
-
兼容性
該配置僅對微信小程序(mp-weixin
)有效,其他端(如 H5、App)需使用對應平臺的驗證碼方案。
通過以上步驟,即可在 UniApp 的微信小程序中集成并使用阿里云驗證碼插件,實現安全驗證功能。