From 5d9b61433d47a8577c867b688489025c2bd87443 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=B2=A1=E5=A4=8D=E4=B9=A0?= <2353956224@qq.com>
Date: Wed, 4 Mar 2026 16:20:08 +0800
Subject: [PATCH] =?UTF-8?q?=E5=90=8D=E7=89=87=E7=AE=80=E4=BB=8B=E9=99=90?=
=?UTF-8?q?=E5=88=B6=E6=94=B9=E4=B8=BA30=E5=AD=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/keyboard/appversions/index.ts | 61 +++
.../keyboard/appversions/AppVersionsForm.vue | 197 +++++++++
src/views/keyboard/appversions/index.vue | 394 ++++++++++++++++++
3 files changed, 652 insertions(+)
create mode 100644 src/api/keyboard/appversions/index.ts
create mode 100644 src/views/keyboard/appversions/AppVersionsForm.vue
create mode 100644 src/views/keyboard/appversions/index.vue
diff --git a/src/api/keyboard/appversions/index.ts b/src/api/keyboard/appversions/index.ts
new file mode 100644
index 0000000..6fa7e2f
--- /dev/null
+++ b/src/api/keyboard/appversions/index.ts
@@ -0,0 +1,61 @@
+import request from '@/config/axios'
+import type { Dayjs } from 'dayjs';
+
+/** App 版本发布与更新检查表:区分 Android/iOS、渠道,支持最低支持版本与强更策略。信息 */
+export interface AppVersions {
+ id: number; // 主键,自增版本记录ID。
+ appId?: string; // 应用标识(支持多App/多包名场景);单App可固定为 main。
+ platform?: string; // 平台:android 或 ios(用 CHECK 约束限制取值)。
+ channel?: string; // 渠道标识:如 official / huawei / xiaomi / testflight 等,用于区分不同分发包。
+ versionName?: string; // 展示用版本号(语义版本字符串),如 1.2.3。
+ versionCode?: number; // 比较用版本号(整数递增):Android 对应 versionCode;iOS 建议维护同样的递增值以便比较。
+ buildNumber: string; // iOS 可选构建号(例如 CFBundleVersion),通常为字符串;用于追溯构建或与CI编号对齐。
+ minSupportedCode?: number; // 最低支持版本号(整数):客户端 version_code 低于该值必须更新/可拒绝继续使用。
+ isForceUpdate?: boolean; // 是否强制更新:当客户端未达到最新版本且此字段为 true,可要求强更(即使 >= min_supported_code)。
+ isActive?: boolean; // 是否生效:true 表示该版本记录可用于对外更新检查;false 用于下架/撤回。
+ releaseNotes: string; // 更新说明(展示给用户的版本更新内容)。
+ downloadUrl: string; // 下载链接:Android 可为 apk 直链/市场 scheme;iOS 通常为 App Store 链接或统一跳转页。
+ storeUrl: string; // 应用市场/商店页面链接(可选,若 download_url 已覆盖可不填)。
+ metadata?: object; // 扩展元数据(JSON):如包大小、md5、签名信息、最低系统版本等。
+ releasedAt?: string | Dayjs; // 发布时间(对外宣布/上线时间),用于展示与排序。
+ createdAt?: string | Dayjs; // 记录创建时间。
+ updatedAt?: string | Dayjs; // 记录更新时间(建议配合触发器自动维护)。
+ }
+
+// App 版本发布与更新检查表:区分 Android/iOS、渠道,支持最低支持版本与强更策略。 API
+export const AppVersionsApi = {
+ // 查询App 版本发布与更新检查表:区分 Android/iOS、渠道,支持最低支持版本与强更策略。分页
+ getAppVersionsPage: async (params: any) => {
+ return await request.get({ url: `/keyboard/app-versions/page`, params })
+ },
+
+ // 查询App 版本发布与更新检查表:区分 Android/iOS、渠道,支持最低支持版本与强更策略。详情
+ getAppVersions: async (id: number) => {
+ return await request.get({ url: `/keyboard/app-versions/get?id=` + id })
+ },
+
+ // 新增App 版本发布与更新检查表:区分 Android/iOS、渠道,支持最低支持版本与强更策略。
+ createAppVersions: async (data: AppVersions) => {
+ return await request.post({ url: `/keyboard/app-versions/create`, data })
+ },
+
+ // 修改App 版本发布与更新检查表:区分 Android/iOS、渠道,支持最低支持版本与强更策略。
+ updateAppVersions: async (data: AppVersions) => {
+ return await request.put({ url: `/keyboard/app-versions/update`, data })
+ },
+
+ // 删除App 版本发布与更新检查表:区分 Android/iOS、渠道,支持最低支持版本与强更策略。
+ deleteAppVersions: async (id: number) => {
+ return await request.delete({ url: `/keyboard/app-versions/delete?id=` + id })
+ },
+
+ /** 批量删除App 版本发布与更新检查表:区分 Android/iOS、渠道,支持最低支持版本与强更策略。 */
+ deleteAppVersionsList: async (ids: number[]) => {
+ return await request.delete({ url: `/keyboard/app-versions/delete-list?ids=${ids.join(',')}` })
+ },
+
+ // 导出App 版本发布与更新检查表:区分 Android/iOS、渠道,支持最低支持版本与强更策略。 Excel
+ exportAppVersions: async (params) => {
+ return await request.download({ url: `/keyboard/app-versions/export-excel`, params })
+ }
+}
\ No newline at end of file
diff --git a/src/views/keyboard/appversions/AppVersionsForm.vue b/src/views/keyboard/appversions/AppVersionsForm.vue
new file mode 100644
index 0000000..ebacfdd
--- /dev/null
+++ b/src/views/keyboard/appversions/AppVersionsForm.vue
@@ -0,0 +1,197 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/views/keyboard/appversions/index.vue b/src/views/keyboard/appversions/index.vue
new file mode 100644
index 0000000..3b80407
--- /dev/null
+++ b/src/views/keyboard/appversions/index.vue
@@ -0,0 +1,394 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+ 新增
+
+
+ 导出
+
+
+ 批量删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 编辑
+
+
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file