ユニアプリに認証コード検証機能を実装する方法
モバイルインターネットの発展に伴い、ユーザーのログインと登録のセキュリティを高めるために、認証コード検証機能がさまざまなアプリやWebサイトで広く使用されています。ユニアプリ開発では、認証コード検証機能の実装も非常に簡単です。この記事では、uniapp に検証コード検証機能を実装する方法を紹介し、開発者がこの機能を迅速に実装できるようにコード例を示します。
1. 確認コードの生成
まず、ユーザーが確認コードを入力するためのベースとなる確認コード画像を生成する必要があります。サードパーティ ライブラリ js-captcha
を使用して検証コード イメージを生成できます。このライブラリはブラウザ側とサーバー側の両方で利用できます。まず、ライブラリをインストールする必要があります。これは npm を使用して実行できます。
npm install js-captcha
インストールが完了したら、uniapp プロジェクトに utils
フォルダーを作成し、そのフォルダーの下に検証コードの生成用の captcha.js
ファイルを作成します。
import Captcha from 'js-captcha'; export function generateCaptcha() { const captcha = new Captcha(); captcha.rotate = true; captcha.color = [0, 0, 0]; // 设置验证码字体颜色 captcha.width = 200; // 设置验证码图片宽度 captcha.height = 80; // 设置验证码图片高度 const text = captcha.generate(); const dataURL = captcha.getBase64(); return { text, dataURL }; }
上記のコード例では、検証コードを生成し、検証コードのテキストと検証コードのイメージ データを Base64 形式で返す generateCaptcha
関数を定義しました。
2. フロントエンドで検証コードを表示します
検証コードを表示する必要がある場合は、<img>
タグを使用して、生成された確認コードの画像。
<template> <div> <img :src="captchaDataURL"> <input type="text" v-model="captcha" placeholder="请输入验证码"> <button @click="verifyCaptcha">验证</button> </div> </template> <script> import { generateCaptcha } from '@/utils/captcha'; export default { data() { return { captcha: '', captchaDataURL: '' }; }, mounted() { const { text, dataURL } = generateCaptcha(); this.captcha = text; this.captchaDataURL = dataURL; }, methods: { verifyCaptcha() { // 在这里进行验证码验证逻辑 } } }; </script>
上記のコード例では、<img>
タグを使用して検証コードの画像を表示し、検証コードのテキストを captcha## に保存します。 # コンポーネントの属性。後続の検証コード検証に使用されます。
export default { // ... methods: { verifyCaptcha() { uni.request({ url: 'http://your-backend-server.com/verifyCaptcha', method: 'POST', data: { captcha: this.captcha }, success: (res) => { if (res.data.success) { uni.showToast({ title: '验证成功', icon: 'success' }); } else { uni.showToast({ title: '验证失败,请重新输入', icon: 'none' }); } }, fail: (err) => { console.log(err); } }); } } };
uni.request を使用して POST リクエストを送信し、ユーザーが入力した検証コードを検証のためにバックエンドに渡します。バックエンドから返された結果に基づいて、対応するプロンプトをユーザーに表示できます。
const express = require('express'); const app = express(); const bodyParser = require('body-parser'); app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); app.post('/verifyCaptcha', (req, res) => { const { captcha } = req.body; // 在这里进行验证码验证逻辑,比较captcha和生成的验证码文本即可 if (captcha === '生成的验证码文本') { res.json({ success: true }); } else { res.json({ success: false }); } }); app.listen(3000, () => { console.log('Server started on port 3000'); });
body-parser ミドルウェアを使用して POST リクエストのデータを解析しました。次に、
/verifyCaptcha ルート内の検証コードを検証し、検証結果に基づいて対応する JSON データを返します。
以上がuniappに認証コード認証機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。