//创建图形验证码
const uniIdCo = uniCloud.importObject('uni-id-co');
uniIdCo.createCaptcha({
scene: 'login-by-sms'
}).then((res) => {
if (!res.code) {
//图像码创建成功
// 获取db引用
const db = uniCloud.database() //代码块为cdb
// 使用uni-clientDB
db.collection('opendb-verify-codes')
.where('ip==$cloudEnv_clientIP')
.orderBy('created_date desc')
.limit(1)
.get()
.then((res) => {
// res 为数据库查询结果
//图形验证码获取成功
// console.log(res.result.data[0].code)
_this.model.picCode = res.result.data[0].code;
console.log(_this.model.picCode)
uniIdCo.sendSmsCode({
mobile: _this.model.mobile,
captcha: _this.model.picCode,
scene: 'login-by-sms'
})
// console.log(_this.model.picCode)
}).catch((err) => {
uni.$u.toast(err.message)
})
} else {
uni.$u.toast('图像码创建失败')
}
- 发布:2022-09-03 20:45
- 更新:2022-09-06 15:29
- 阅读:441
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: -
HBuilderX类型: 正式
HBuilderX版本号: 3.6.0
手机系统: iOS
手机系统版本号: iOS 15
手机厂商: 苹果
手机机型: XR
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
-
-
预期结果:
-
-
实际结果:
-
-
bug描述:
uni-id-co的sendSmsCode图片验证码一直不能通过
WAServiceMainContext.js?t=wechat&s=1662194433078&v=2.25.4:1 Error: 验证码错误
at _callee32$ (vendor.js?t=wechat&s=1662194433078&v=6a9370c7f1d233dda84c11aa7c309d62:9075)
at tryCatch (vendor.js?t=wechat&s=1662194433078&v=6a9370c7f1d233dda84c11aa7c309d62:9204)
at Generator.invoke [as _invoke] (vendor.js?t=wechat&s=1662194433078&v=6a9370c7f1d233dda84c11aa7c309d62:9430)
at Generator.prototype.<computed> [as next] (vendor.js?t=wechat&s=1662194433078&v=6a9370c7f1d233dda84c11aa7c309d62:9256)
at asyncGeneratorStep (vendor.js?t=wechat&s=1662194433078&v=6a9370c7f1d233dda84c11aa7c309d62:9062)
at _next (vendor.js?t=wechat&s=1662194433078&v=6a9370c7f1d233dda84c11aa7c309d62:9062)(env: Windows,mp,1.06.2208311; lib: 2.25.4)
我需要手机号短信登陆,但是不需要填写验证码,所以我createCaptcha后,读取数据库的验证码赋值给sendSmsCode的captcha参数,
想要发送短信验证码到手机,但是提示图形验证码一直不通过。
为什么要将uni-id-co的功能打包,一点都不灵活,譬如像我现在需要实现的逻辑,我不想要有图形验证码。
2 个回复
x***@163.com (作者)
有人吗?
DCloud_uniCloud_WYQ
看下是不是生成验证码的时候scene没写对。另外你用的时uni-id-pages的页面吗
x***@163.com (作者)
谢谢,解决了
2022-09-19 20:09
1***@qq.com
回复 x***@163.com: 你好 请问怎么解决的 可以设置不输入图形验证码吗
2022-11-29 19:55
x***@163.com (作者)
回复 1***@qq.com: 就是生成验证码的时候scene没写对
2023-12-19 16:17