index.obj.js 1.1 KB
Newer Older
1
// 开发文档: https://uniapp.dcloud.net.cn/uniCloud/cloud-obj
2 3 4 5 6 7
//导入验证码公共模块
const uniCaptcha = require('uni-captcha')
//获取数据库对象
const db = uniCloud.database();
//获取数据表opendb-verify-codes对象
const verifyCodes = db.collection('opendb-verify-codes')
8
module.exports = {
9 10 11 12 13
	async getImageCaptcha({
		scene
	}) {
		//获取设备id
		let {
14
			deviceId,
15
			platform
16
		} = this.getClientInfo();
17 18 19 20 21 22 23 24 25 26
		//根据:设备id、场景值、状态,查找记录是否存在
		let res = await verifyCodes.where({
			scene,
			deviceId,
			state: 0
		}).limit(1).get()
		//如果已存在则调用刷新接口,反之调用插件接口
		let action = res.data.length ? 'refresh' : 'create'
		//执行并返回结果
		//导入配置,配置优先级说明:此处配置 > uni-config-center
27 28 29 30 31 32 33 34
		const config = require('./config')
		return await uniCaptcha[action](Object.assign(
			config, // 配置优先级说明:此配置 > uni-config-center
			{
				scene,//来源客户端传递,表示:使用场景值,用于防止不同功能的验证码混用
				uniPlatform:platform
			}, 
		))
35
	}
36
}