// 开发文档: 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 const config = require('./config') return await uniCaptcha[action](Object.assign( config, // 配置优先级说明:此配置 > uni-config-center { scene,//来源客户端传递,表示:使用场景值,用于防止不同功能的验证码混用 uniPlatform:platform }, )) } }