feat(版本): 小程序升到 0.3.14,「我的」页展示版本号

- manifest.json:versionName 0.3.14 / versionCode 314(原 0.3.8/38 与线上 0.3.13 脱节)
- config/version.js:展示兜底值,与 manifest 同步 bump
- pages/user/index.vue:底部版权区显示「版本号 vX」;体验版/正式版读
  wx.getAccountInfoSync().miniProgram.version(即上传时填的版本),开发版读不到回退常量
This commit is contained in:
2026-11-14 19:10:49 +08:00
parent 9b41ba19fb
commit a8cd4ff1a1
3 changed files with 48 additions and 2 deletions

18
config/version.js Normal file
View File

@@ -0,0 +1,18 @@
// +----------------------------------------------------------------------
// | 版本号(界面展示兜底值)
// +----------------------------------------------------------------------
// | 用途:「我的」页底部展示当前版本,方便真机/体验版核对是不是新包。
// |
// | 取值优先级:
// | ① 体验版/正式版 → 读微信真实版本(wx.getAccountInfoSync().miniProgram.version,
// | 即上传时填的版本号,线上现为 0.3.13);
// | ② 开发版/读不到(开发期为空串)→ 用这里的 VERSION 兜底。
// |
// | ⚠️ VERSION 必须与 manifest.json 的 versionName 同步:每次发版 bump 时**两处一起改**。
// | manifest 决定包版本,但微信上传时填的版本号是独立的,所以线上以 ① 为准,
// | 不要把这里当成「已发布版本」的唯一来源。
// +----------------------------------------------------------------------
module.exports = {
VERSION: '0.3.14'
};

View File

@@ -2,8 +2,8 @@
"name" : "兜爸心选",
"appid" : "__UNI__52BA861",
"description" : "兜爸心选",
"versionName" : "0.3.8",
"versionCode" : 38,
"versionName" : "0.3.14",
"versionCode" : 314,
"transformPx" : false,
"sassImplementationName" : "node-sass",
/* 5+App特有相关 */

View File

@@ -21,6 +21,8 @@
</view>
</template>
<image v-else :src="copyrightImage" mode="aspectFill" class="support"></image>
<!-- 版本号:体验版/正式版读微信实际版本,开发版回退 config/version.js -->
<view class="app-version">版本号 v{{ appVersion }}</view>
</view>
</template>
<view class="mark" v-show="isextension"></view>
@@ -45,6 +47,24 @@ import Cache from '@/utils/cache';
import Auth from '@/libs/wechat';
// #endif
import { HTTP_REQUEST_URL } from '@/config/app';
import version from '@/config/version.js';
/* 「我的」页展示的版本号:
体验版/正式版直接读微信当前包的版本(上传时填的那个,线上现为 0.3.13);
开发版读不到(返回空串)时用 config/version.js 兜底。
这样显示的永远是用户手上这个包的真实版本,不会因为 manifest 与上传版本脱节而假报版本。 */
function currentAppVersion() {
let v = '';
// #ifdef MP-WEIXIN
try {
const info = wx.getAccountInfoSync();
v = (info && info.miniProgram && info.miniProgram.version) || '';
} catch (e) {}
// #endif
// 个别开发者工具版本在开发版会回 "0",按「读不到」处理
if (!v || v === '0') v = '';
return v || version.VERSION;
}
const app = getApp();
import ewcomerPop from '@/components/ewcomerPop/index.vue';
import pageFooter from '@/components/pageFooter/index.vue';
@@ -191,6 +211,8 @@ export default {
},
imgHost: HTTP_REQUEST_URL,
configData: Cache.get('BASIC_CONFIG'),
// 版本号展示:体验版/正式版读微信实际版本,开发版回退 config/version.js
appVersion: currentAppVersion(),
copyrightImage: HTTP_REQUEST_URL + '/statics/images/product/support.png',
giftPic: '',
vip_type: 1,
@@ -670,5 +692,11 @@ export default {
font-size: 20rpx;
margin-bottom: 20rpx;
}
/* 版本号:比版权文案再淡一档,避免抢视觉重心 */
.app-version {
margin-top: 12rpx;
font-size: 20rpx;
color: #ccc;
}
}
</style>