介绍

生成base64格式的图形验证码
文档:https://ext.dcloud.net.cn/plugin?id=4048

如何使用

0、准备

需要下载HBuilderX,版本最好是最新的稳定正式版

1、创建UniCloud项目

可以查看:https://www.yuque.com/yejielin/mypn47/adwtg6

2、导入

进入插件官网:https://ext.dcloud.net.cn/plugin?id=4048,点击右侧的使用 HBuilderX 导入插件
image.png
导入成功后,项目下的uni_modules 文件夹会多出这个模块

image.png

3、引用模块

新建一个云函数,通过 const xxx = require( ‘ 模块名 ‘ ) 引用。

模块名,就是common文件里面的文件夹名

是后端的CommonJS 模块化方案。

  1. 'use strict';
  2. // uni-captcha 是uniCloud 提供的图形验证码模块
  3. // 1、这里是通过 require 引入
  4. const uniCaptcha = require('uni-captcha')
  5. exports.main = async (event, context) => {
  6. //event为客户端上传的参数
  7. console.log('event : ', event)
  8. // 2、使用模块的方法,create是uniCaptcha里面创建一个
  9. let res = await uniCaptcha.create({
  10. scene:'4',
  11. deviceId:'123'
  12. })
  13. //返回数据给客户端
  14. return res
  15. };

4、更新依赖(重要)

光引用是没办法直接用的,上面的代码会报无法找到 uni-captcha 这个模块。

要给这个云函数更新依赖,首先右键点击这个引用了公共模块的云函数,点击管理
image.png

勾选你引用的公共依赖
image.png
成功后你的云函数会多出一个 node_modules 的nodejs模块管理,
image.png
以及在包管理 package.json 里面多出一个本函数的依赖
image.png

最后上传部署云函数,就可以正常使用了
image.png

5、云数据库

同时云数据库会多出一个表,来记录验证码,用来验证
image.png
但是目前这个自动创建的数据表,是有问题的,表结构不全。

因此需要点击+号新建数据表,然后选择uni-id,选择下面的验证码的表,创建创建
image.png

然后才能正常通过HBuilderX的客户端直接管理云数据库表结构的功能进行管理
image.png