2***@qq.com
2***@qq.com
  • 发布:2026-08-05 15:50
  • 更新:2026-08-05 15:52
  • 阅读:45

uni-upgrade-centerAPP端更新一直报错SYS_ERR,且云函数调用日志无任何记录说明

分类:uniCloud

uni-upgrade-centerAPP端更新一直报错SYS_ERR,且云函数调用日志无任何记录说明

2026-08-05 15:50 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uniCloud 官方技术交流群 ) 咨询,群中有相关专业的管理员和群友。

根据您描述的问题(APP端更新报错 SYS_ERR,且云函数调用日志无任何记录),这通常表明请求根本没有到达云函数,或者在到达之前就被拦截了。结合知识库中的类似案例,为您梳理以下排查步骤:

1. 优先检查设备系统时间(最常见原因)

SYS_ERR 错误码在 uniCloud 中常与请求签名验证失败有关,而签名验证对时间敏感。

  • 检查手机/模拟器的系统时间:确保设备时间与北京时间(或当前时区时间)一致,误差最好在 1 分钟以内。
  • 知识库依据:在 DCloud问答_197266DCloud问答_193076 中,用户均因设备时间偏差导致 SYS_ERR 或“函数不允许调用”,调整时间后恢复正常。

2. 确认云函数已正确上传部署

日志无记录通常意味着云函数未被触发,请检查:

  • 云函数是否已上传:在 HBuilderX 中,右键 uni_modules/uni-upgrade-center-app/uniCloud/cloudfunctions/check-version(或您自定义的云函数目录),选择“上传部署”。
  • 服务空间关联:确保 APP 项目已正确关联到部署云函数的服务空间(HBuilderX 项目根目录右键 → 创建/关联 uniCloud 服务空间)。
  • 云函数列表确认:登录 uniCloud 控制台,进入对应服务空间,查看“云函数/云对象”列表中是否存在 uni-upgrade-centercheck-version 函数。

3. 检查数据库表是否创建

如果云函数有日志但报错 mongo_cell_decision_not_found,则是数据库表缺失:

  • 确认数据表:确保服务空间的数据库中已创建 opendb-app-versions 表(uni-upgrade-center 依赖此表存储版本信息)。
  • 初始化数据:如果您是首次使用,需要在 uni-admin 或 uni-upgrade-center 的 Admin 端发布版本,才会自动创建表结构。

4. 区分本地运行与云端运行

  • 本地调试:如果您在本地运行 APP(基座调试),请确保 HBuilderX 的 uniCloud 运行配置中选择的是“连接云端云函数”,而非“连接本地云函数”。本地云函数需要本地启动服务,且手机与电脑需在同一网络。
  • 云端运行:打包后的 APP 必须连接云端云函数。请检查 manifest.json 中是否勾选了正确的服务空间。

5. 检查云函数调用代码

确保调用参数完整,appidappVersionwgtVersion 必传:

// 参考知识库中的标准调用方式  
uniCloud.callFunction({  
  name: 'uni-upgrade-center', // 或 'check-version'  
  data: {  
    action: 'checkVersion',  
    appid: plus.runtime.appid,  
    appVersion: plus.runtime.version,  
    wgtVersion: widgetInfo.version  
  },  
  success: (res) => {  
    console.log('检查更新结果:', res);  
  },  
  fail: (err) => {  
    console.error('调用失败:', err);  
  }  
});

本助手使用国产模型,生成代码准确率较低。强烈建议使用uni-agent生成代码

6. 查看云函数日志的正确路径

如果以上步骤确认无误但仍无日志,请按以下路径查看:

  1. 登录 uniCloud 控制台
  2. 选择对应服务空间 → 云函数/云对象 → 函数列表。
  3. 找到 uni-upgrade-centercheck-version,点击“日志”标签页。
  4. 如果日志为空,说明请求未到达云函数,请重点检查第 1 步(时间)和第 2 步(部署)。

总结建议

按优先级依次尝试:

  1. 校准设备时间(解决 80% 的 SYS_ERR 问题)。
  2. 重新上传云函数并确认服务空间关联正确。
  3. 检查数据库表是否存在。
  4. 如仍有问题,请在 uniCloud 控制台查看云函数是否有报错日志(如 mongo_cell_decision_not_found 表示缺表)。

如果以上步骤均无法解决,建议提供以下信息以便进一步排查:

  • 云函数名称(是 uni-upgrade-center 还是 check-version)。
  • 服务空间云厂商(阿里云/腾讯云/支付宝云)。
  • 设备时间截图(与北京时间对比)。
  • 云函数日志截图(如有)。
内容为 AI 生成,仅供参考

要回复问题请先登录注册