日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Flsak项目--图片验证码

發(fā)布時(shí)間:2023/12/20 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flsak项目--图片验证码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

0. 圖片驗(yàn)證碼的使用流程

2.后端接口編寫


verify_code.py中編寫接口代碼:

# coding:utf-8from . import api from ihome.utils.captcha.captcha import captcha from ihome import redis_store, constants, db from flask import current_app, jsonify, make_response, request from ihome.utils.response_code import RET from ihome.models import User from ihome.libs.yuntongxun.sms import CCP import random # from ihome.tasks.task_sms import send_sms from ihome.tasks.sms.tasks import send_sms# GET 127.0.0.1/api/v1.0/image_codes/<image_code_id> @api.route("/image_codes/<image_code_id>") def get_image_code(image_code_id):"""獲取圖片驗(yàn)證碼: params image_code_id: 圖片驗(yàn)證碼編號(hào):return: 正常:驗(yàn)證碼圖片 異常:返回json"""# 業(yè)務(wù)邏輯處理# 生成驗(yàn)證碼圖片# 名字,真實(shí)文本, 圖片數(shù)據(jù)name, text, image_data = captcha.generate_captcha()# 將驗(yàn)證碼真實(shí)值與編號(hào)保存到redis中, 設(shè)置有效期# redis: 字符串 列表 哈希 set# "key": xxx# 使用哈希維護(hù)有效期的時(shí)候只能整體設(shè)置# "image_codes": {"id1":"abc", "":"", "":""} 哈希 hset("image_codes", "id1", "abc") hget("image_codes", "id1")# 單條維護(hù)記錄,選用字符串# "image_code_編號(hào)1": "真實(shí)值"# "image_code_編號(hào)2": "真實(shí)值"# redis_store.set("image_code_%s" % image_code_id, text)# redis_store.expire("image_code_%s" % image_code_id, constants.IMAGE_CODE_REDIS_EXPIRES)# 記錄名字 有效期 記錄值try:redis_store.setex("image_code_%s" % image_code_id, constants.IMAGE_CODE_REDIS_EXPIRES, text)except Exception as e:# 記錄日志current_app.logger.error(e)# return jsonify(errno=RET.DBERR, errmsg="save image code id failed")return jsonify(errno=RET.DBERR, errmsg="保存圖片驗(yàn)證碼失敗")# 返回圖片resp = make_response(image_data)resp.headers["Content-Type"] = "image/jpg"return resp

并在__init__.py文件中導(dǎo)入藍(lán)圖:

3.開發(fā)流程以及接口文檔編寫

接口文檔1. 接口名字 2. 描述(描述清楚接口的功能) 3. url 4. 請(qǐng)求方式 5. 傳入?yún)?shù) 6. 返回值 ------------------------------示例如下-------------------------------- 1.接口:獲取圖片驗(yàn)證碼2.描述:前端訪問,可以獲取到驗(yàn)證碼圖片3.url: /api/v1.0/image_codes/<image_code_id>4.請(qǐng)求方式: GET5.傳入?yún)?shù):格式:路徑參數(shù) (參數(shù)是查詢字符串、請(qǐng)求體的表單、json、xml)名字 類型 是否必須 說明image_code_id 字符串 是 驗(yàn)證碼圖片的編號(hào)6.返回值:格式: 正常:圖片, 異常:json名字 類型 是否必傳 說明errno 字符串 否 錯(cuò)誤代碼errmsg 字符串 否 錯(cuò)誤內(nèi)容實(shí)例:'{"errno": "4001", "errmsg": "保存圖片驗(yàn)證碼失敗"}'

4.前端編寫

靜態(tài)文件static中,編寫register.py文件:
并編寫register.js文件,生成圖片的編號(hào)以及請(qǐng)求圖片的url地址。

5.效果展示

頁(yè)面展示:
數(shù)據(jù)庫(kù)展示:

總結(jié)

以上是生活随笔為你收集整理的Flsak项目--图片验证码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。