在 OpenHarmony 开发中出现“验证码报错”通常不是系统本身的问题,而是业务实现或环境配置导致的。下面按常见原因分类说明,你可以对照排查:
验证码一般依赖后端接口(短信 / 邮箱 / 图形验证码)
✅ 检查:
// module.json5
"requestPermissions": [
{
"name": "ohos.permission.INTERNET"
}
]
后端返回:
{
"code": 0,
"data": "1234"
}
但前端解析成:
res.result.code
导致 undefined 或报错
✅ 建议统一封装响应判断:
if (res.code !== 0) {
promptAction.showToast({ message: res.msg })
}
OpenHarmony 使用 @ohos.graphics.canvas
常见错误:
✅ 正确示例:
Canvas(this.context)
.onReady(() => {
this.drawCode()
})
使用 setInterval 但页面销毁未清除
Cannot read property of undefined✅ 建议:
let timer: number = -1
页面销毁:
aboutToDisappear() {
if (timer !== -1) clearInterval(timer)
}
例如:
let code: string = await getCode() // 实际返回 number
✅ 打开 DevEco 的 Problems / Log
✅ 后端返回示例:
{
"code": 429,
"msg": "请求过于频繁"
}
你可以补充:
我可以直接帮你定位并给出修改代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。