From 0a28eb0237013301e048c2ca2c0186817d12ed3d Mon Sep 17 00:00:00 2001 From: Zhou Weidong <502333560@qq.com> Date: Fri, 23 Oct 2026 15:27:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(admin):=20=E6=96=B0=E5=A2=9E=20App=20?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E7=AE=A1=E7=90=86=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/admin/appVersion.ts | 65 ++++ src/views/systemManagement/AppVersionView.vue | 323 ++++++++++++++++++ 2 files changed, 388 insertions(+) create mode 100644 src/api/admin/appVersion.ts create mode 100644 src/views/systemManagement/AppVersionView.vue diff --git a/src/api/admin/appVersion.ts b/src/api/admin/appVersion.ts new file mode 100644 index 0000000..f6db78c --- /dev/null +++ b/src/api/admin/appVersion.ts @@ -0,0 +1,65 @@ +// Author: fruit.com.cn + +import request from '@/axios' + +export interface AppVersionItem { + id: string + platform: 'ANDROID' | 'IOS' + platformText: string + versionCode: number + versionName: string + downloadUrl: string + updateContent?: string + forceUpdate: number + minSupportedCode: number + status: number + statusText: string + releasedAt?: string + createdAt?: string +} + +export interface AppVersionSaveData { + platform: 'ANDROID' | 'IOS' + versionCode: number + versionName: string + downloadUrl: string + updateContent?: string + forceUpdate?: 0 | 1 + minSupportedCode?: number +} + +export const listAppVersionsApi = (params: { + pageIndex?: number + pageSize?: number + platform?: string + status?: number + keyword?: string +}) => { + return request.get<{ total: number; list: AppVersionItem[] }>({ + url: '/admin/app-versions/page', + params + }) +} + +export const getAppVersionApi = (id: string | number) => { + return request.get({ url: `/admin/app-versions/${id}` }) +} + +export const createAppVersionApi = (data: AppVersionSaveData) => { + return request.post({ url: '/admin/app-versions', data }) +} + +export const updateAppVersionApi = (id: string | number, data: AppVersionSaveData) => { + return request.post({ url: `/admin/app-versions/${id}`, data }) +} + +export const updateAppVersionStatusApi = (id: string | number, status: 0 | 1) => { + return request.post({ + url: `/admin/app-versions/${id}/status`, + params: { status } + }) +} + +export const deleteAppVersionApi = (id: string | number) => { + return request.delete({ url: `/admin/app-versions/${id}` }) +} diff --git a/src/views/systemManagement/AppVersionView.vue b/src/views/systemManagement/AppVersionView.vue new file mode 100644 index 0000000..33d5aff --- /dev/null +++ b/src/views/systemManagement/AppVersionView.vue @@ -0,0 +1,323 @@ + + + + + + +