You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
// 开发文档: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
|
|
|
|
|
//导入验证码公共模块
|
|
|
|
|
const uniCaptcha = require('uni-captcha')
|
|
|
|
|
//获取数据库对象
|
|
|
|
|
const db = uniCloud.database();
|
|
|
|
|
//获取数据表opendb-verify-codes对象
|
|
|
|
|
const verifyCodes = db.collection('opendb-verify-codes')
|
|
|
|
|
module.exports = {
|
|
|
|
|
async getImageCaptcha({
|
|
|
|
|
scene
|
|
|
|
|
}) {
|
|
|
|
|
//获取设备id
|
|
|
|
|
let {
|
|
|
|
|
deviceId,
|
|
|
|
|
platform
|
|
|
|
|
} = this.getClientInfo();
|
|
|
|
|
//根据:设备id、场景值、状态,查找记录是否存在
|
|
|
|
|
let res = await verifyCodes.where({
|
|
|
|
|
scene,
|
|
|
|
|
deviceId,
|
|
|
|
|
state: 0
|
|
|
|
|
}).limit(1).get()
|
|
|
|
|
//如果已存在则调用刷新接口,反之调用插件接口
|
|
|
|
|
let action = res.data.length ? 'refresh' : 'create'
|
|
|
|
|
//执行并返回结果
|
|
|
|
|
//导入配置,配置优先级说明:此处配置 > uni-config-center
|
|
|
|
|
return await uniCaptcha[action]({
|
|
|
|
|
scene, //来源客户端传递,表示:使用场景值,用于防止不同功能的验证码混用
|
|
|
|
|
uniPlatform: platform
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|