uni-app怎么获取微信小程序的当前运行版本 uni-app判断开发版与线上版【技巧】
uni.getAccountInfoSync() 是获取微信小程序当前运行版本号的唯一可靠方式仅正式版返回有效 versionenvVersion 字段恒可取用于区分 develop/trial/release 环境。uni.getAccountInfoSync() 是唯一可靠方式微信小程序的当前运行版本号比如 2.15.3只能通过 uni.getAccountInfoSync() 获取且仅在正式版环境生效。开发版、体验版调用该 API 会返回空字符串或 undefined这不是 bug是微信平台强制限制——它不希望你在非线上环境读取“线上版本”。这个函数返回的是同步结果无需 await 或回调直接解构即可但必须确保它运行在小程序上下文不能在 H5 或 App 端调用。怎么区分开发版、体验版、正式版uni.getAccountInfoSync().miniProgram.envVersion 就是环境标识符值为develop开发版、trial体验版、release正式版灰度版gray仅支付宝支持微信不识别。注意这个字段永远能取到和版本号不同它不受上线状态限制——你可以靠它做环境路由、埋点隔离、接口 mock 开关等。开发调试时envVersion develop 一定为真但 version 字段为空别拿它做版本比对测试提测前让 QA 打开体验版链接确认 envVersion trial避免误用正式版逻辑线上监控里如果发现某次上报中 version 字段缺失但 envVersion 是 release说明小程序基础库过低或运行异常需告警别用 uni.getSystemInfo 拿小程序版本号uni.getSystemInfo 返回的 appVersion 是微信客户端版本如 8.0.48不是你的小程序版本SDKVersion 是微信基础库版本如 2.29.4也不是你发的 1.2.0。有人误把 manifest.json 里的 versionName 当成运行时版本那是构建时静态值改了不发布就无效也无法感知灰度/分包差异。真正需要动态获取版本号的场景比如更新提示、AB 实验分流、错误日志打标必须依赖 getAccountInfoSync 的 version 字段且只在 envVersion release 时信任它。 稿定AI 拥有线稿上色优化、图片重绘、人物姿势检测、涂鸦完善等功能