uni-app uni-id注册页面APP正式打包安装后验证码无法显示,uni-captcha已更新至最新版本

发布于 1周前 作者 eggper 来自 Uni-App

uni-app uni-id注册页面APP正式打包安装后验证码无法显示,uni-captcha已更新至最新版本

操作步骤:

  • APP安装后打开注册页面不能显示验证码

预期结果:

  • APP安装后打开注册页面可以正常显示验证码

实际结果:

  • APP安装后打开注册页面不能显示验证码

bug描述:

  • uni-id注册页面在APP正式打包安装后无法显示验证码;相同代码微信小程序和H5可以正常显示验证码。uni-captcha已更新至最新版本0.7.0。

| 信息类别         | 详细信息       |
|------------------|----------------|
| 产品分类         | uniapp/App     |
| PC开发环境       | Windows        |
| PC开发环境版本   | 10             |
| HBuilderX类型    | 正式           |
| HBuilderX版本    | 4.26           |
| 手机系统         | Android        |
| 手机系统版本     | Android 14     |
| 手机厂商         | 华为           |
| 手机机型         | P30pro         |
| 页面类型         | vue            |
| vue版本          | vue2           |
| 打包方式         | 云端           |
| 项目创建方式     | HBuilderX      |

10 回复

最新uni-captcha 0.7.5版本可以更新后试试 如果还有问题,看看日志有什么报错


我看错了,我本来就已经是最新的uni-captcha 0.7.5版本

我的最新版本HBuilderX.exe自定义基座有问题,不能正常运行到安卓APP基座,看不了运行日志,所以只能正式打包安装到手机运行

回复 sky天空: 可以到uniCloud web控制台,看下uni-captcha-co 函数运行日志

回复 DCloud_UNI_Anne: 还是不显示验证码,函数运行日志如下 请求入参: { “args”: { “method”: “getImageCaptcha”, “params”: [ { “scene”: “register” } ], “clientInfo”: { “PLATFORM”: “app”, “OS”: “android”, “APPID”: “UNI1EXXXXF”, “DEVICEID”: “7B4E6BEC0525D7E13AXXXXB6E4F137E9”, “channel”: “”, “scene”: 1001, “appId”: “UNI1EXXXXF”, “appLanguage”: “zh-Hans”, “appName”: “XXXX”, “appVersion”: “1.0.1”, “appVersionCode”: 101, “appWgtVersion”: “1.0.1”, “browserName”: “chrome”, “browserVersion”: “83.0.4103.106”, “deviceBrand”: “huawei”, “deviceId”: “7B4E6BEC0525D7E13AXXXXB6E4F137E9”, “deviceModel”: “VOG-AL00”, “deviceType”: “phone”, “osName”: “android”, “osVersion”: “10”, “romName”: “HarmonyOS”, “romVersion”: “4.0.0”, “ua”: “Mozilla/5.0 (Linux; Android 10; VOG-AL00 Build/HUAWEIVOG-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/83.0.4103.106 Mobile Safari/537.36 uni-app (Immersed/34.5)”, “uniPlatform”: “app”, “uniRuntimeVersion”: “4.26”, “locale”: “zh-Hans”, “LOCALE”: “zh-Hans” } }, “requestId”: “ac1cc3181725540107081160144” } 请求响应状态: success

回复 sky天空: 不能正常运行是提示什么报错?是否能找到设备?参考文档https://uniapp.dcloud.net.cn/tutorial/run/run-app-faq.html排查下,重新打自定义基座,删除手机上旧的,重试看看

回复 sky天空: uni-id-pages直接导入示例项目测试正常,你试试

回复 DCloud_UNI_Anne: 老项目不行,我之前就报过同样的bug,是字节跳动小程序验证码不显示,后来你们给我远程修复了bug,确认了bug,但是现在APP打包还存在这个BUG,之前的帖子https://ask.dcloud.net.cn/question/160850?notification_id=1196702

回复 sky天空: 我这未复现,你写个最简单的可复现demo(上传附件)

针对你提到的uni-app中uni-id注册页面在APP正式打包安装后验证码无法显示的问题,这通常涉及到几个方面的排查:验证码服务的配置、前端页面的显示逻辑、以及打包后的环境差异。由于你提到uni-captcha已经更新至最新版本,我们可以先假设插件本身没有大的bug。以下是一些可能的代码案例和检查点,帮助你定位问题:

1. 检查验证码服务配置

确保在manifest.jsonpages.json中正确配置了uni-captcha的相关参数,例如API Key、服务地址等。这些配置通常在开发环境和生产环境会有所不同。

// 在manifest.json或相关配置文件中
"uni-captcha": {
  "apiKey": "your_production_api_key",
  "serverUrl": "https://your-production-captcha-server.com"
}

2. 前端页面显示逻辑

检查验证码组件的引入和使用方式是否正确。确保在正式打包时,组件路径没有因为打包配置的错误而被错误地解析。

<template>
  <view>
    <uni-captcha ref="captcha" :options="captchaOptions"></uni-captcha>
  </view>
</template>

<script>
export default {
  data() {
    return {
      captchaOptions: {
        // 配置项,如是否需要图形验证码等
      }
    };
  },
  mounted() {
    this.$refs.captcha.init(); // 初始化验证码
  }
}
</script>

3. 检查网络请求

在正式环境中,由于可能存在网络代理、CORS策略等问题,验证码请求可能无法正确发出或接收。可以通过开发者工具的网络面板查看请求是否成功,以及响应内容是否符合预期。

4. 打包配置检查

确保打包配置没有错误地排除了验证码相关的资源文件。特别是如果你使用了条件编译或者特定的打包策略,需要仔细核对。

5. 日志和错误监控

在正式环境中加入足够的日志记录和错误监控,可以帮助你快速定位问题发生的环节。例如,你可以在验证码请求失败时记录错误信息。

结论

由于问题涉及多个层面,上述代码和检查点只是提供了一个大致的方向。如果问题依旧存在,建议从网络请求、服务端日志、前端控制台错误等方面进一步排查。同时,也可以考虑在uni-app社区或者uni-captcha的官方支持渠道寻求更具体的帮助。

回到顶部