From 1d1a4f367090d30f4ae355c4b0b6f0d13935829c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=96=87=E5=B3=B0?= Date: Mon, 27 Apr 2026 13:04:42 +0800 Subject: [PATCH] =?UTF-8?q?up=E4=BF=AE=E5=A4=8D=E6=95=B0=E9=87=8F=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bump-version.js | 40 ++++++++++++++++++++++++++ manifest.json | 12 ++------ pages/settings/settings.vue | 42 +++++++++++++++++++++++++-- pages/warehouse/add-item.vue | 50 ++++++++++++++++++++++++++++++++- pages/warehouse/item-edit.vue | 53 +++++++++++++++++++++++++++++++++-- pages/warehouse/warehouse.vue | 2 ++ 6 files changed, 184 insertions(+), 15 deletions(-) create mode 100644 bump-version.js diff --git a/bump-version.js b/bump-version.js new file mode 100644 index 0000000..dba43c6 --- /dev/null +++ b/bump-version.js @@ -0,0 +1,40 @@ +/** + * 打包前自动递增版本号 + * 用法: node bump-version.js + * + * - versionCode: 每次 +1(必须递增,否则 Android 无法覆盖安装) + * - versionName: 语义化版本自动递增 patch 位(1.0.0 → 1.0.1) + */ + +const fs = require('fs') +const path = require('path') + +const manifestPath = path.join(__dirname, 'manifest.json') + +if (!fs.existsSync(manifestPath)) { + console.error('未找到 manifest.json,请在 ops2_uniapp 目录下运行此脚本') + process.exit(1) +} + +// manifest.json 可能包含 JS 风格注释,先去掉再解析 +const raw = fs.readFileSync(manifestPath, 'utf8') +const cleaned = raw.replace(/\/\*[\s\S]*?\*\/|\/\/.*$/gm, '') +const manifest = JSON.parse(cleaned) + +// 递增 versionCode +const oldCode = parseInt(manifest.versionCode) || 0 +const newCode = oldCode + 1 +manifest.versionCode = newCode.toString() + +// 递增 versionName 的 patch 位 +const parts = (manifest.versionName || '1.0.0').split('.') +if (parts.length >= 3) { + parts[2] = (parseInt(parts[2]) + 1).toString() +} else { + parts.push('1') +} +manifest.versionName = parts.join('.') + +// 写回 +fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2) + '\n') +console.log(`版本已更新: ${manifest.versionName} (${manifest.versionCode})`) diff --git a/manifest.json b/manifest.json index 4bea4da..a10b01c 100644 --- a/manifest.json +++ b/manifest.json @@ -2,10 +2,9 @@ "name" : "Operations", "appid" : "__UNI__8A0DE5E", "description" : "Operations(运营)的缩写,一个前后端分离的工作流/运营管理系统。", - "versionName" : "1.0.0", - "versionCode" : "100", + "versionName" : "1.0.1", + "versionCode" : "101", "transformPx" : false, - /* 5+App特有相关 */ "app-plus" : { "usingComponents" : true, "nvueStyleCompiler" : "uni-app", @@ -16,15 +15,12 @@ "autoclose" : true, "delay" : 0 }, - /* 模块配置 */ "modules" : { "Barcode" : {}, "Bluetooth" : {}, "Camera" : {} }, - /* 应用发布信息 */ "distribute" : { - /* android打包配置 */ "android" : { "permissions" : [ "", @@ -44,11 +40,9 @@ "" ] }, - /* ios打包配置 */ "ios" : { "dSYMs" : false }, - /* SDK配置 */ "sdkConfigs" : {}, "icons" : { "android" : { @@ -87,9 +81,7 @@ } } }, - /* 快应用特有相关 */ "quickapp" : {}, - /* 小程序特有相关 */ "mp-weixin" : { "appid" : "", "setting" : { diff --git a/pages/settings/settings.vue b/pages/settings/settings.vue index 7ae3bca..0813ddb 100644 --- a/pages/settings/settings.vue +++ b/pages/settings/settings.vue @@ -27,16 +27,30 @@ + + + 关于 + + + 版本号 + {{ version }} + + + + @@ -145,6 +177,12 @@ onMounted(()=>{ background-color: #ffffff; } +/* 左侧标签 */ +.cell-label { + font-size: 30rpx; + color: #1c1c1e; +} + /* 点击高亮(uni-app 用 hover-class 实现,这里仅演示结构) */ .cell:active { background-color: #f2f2f7; diff --git a/pages/warehouse/add-item.vue b/pages/warehouse/add-item.vue index ab3aa74..e153856 100644 --- a/pages/warehouse/add-item.vue +++ b/pages/warehouse/add-item.vue @@ -17,6 +17,19 @@ + + 数量 + + + + + + + + + + + + 备注