DESKTOP-HN5QP3V\Administrator 1 сар өмнө
parent
commit
f07c689fb7

+ 1 - 0
src/api/version/types.ts

@@ -7,6 +7,7 @@ export type TableData = {
 
 export type VersionData = {
   id: any
+  envVersion: string
   version: string
   cdn: string
   url: string

+ 3 - 0
src/locales/zh-CN.ts

@@ -273,6 +273,9 @@ export default {
     channelEmpty: '暂无渠道',
     channelEmptyTip: '请先在渠道管理中添加渠道后再新增版本',
     allChannels: '全部渠道',
+    envVersion: '环境版本',
+    envVersionSelect: '环境版本',
+    allEnvVersions: '全部环境',
     confirm: '确定'
   },
   version_hotUp: {

+ 25 - 1
src/views/Version/Test.vue

@@ -9,6 +9,12 @@ import {getChannelListApi} from "@/api/channel";
 const channelOptions = ref<ChannelData[]>([])
 const selectedChannel = ref<string>('')
 
+const envVersionOptions = [
+  { label: '不传', value: '' },
+  { label: '正式服', value: 'release' },
+  { label: '体验版', value: 'trial' }
+]
+
 const getChannelList = async () => {
   try {
     const res = await getChannelListApi({ pageIndex: 1, pageSize: 100 })
@@ -25,6 +31,7 @@ getChannelList()
 const form = reactive({
   channel: '',
   version: '',
+  envVersion: '',
   testarea: ''
 })
 
@@ -43,7 +50,11 @@ const testApi1 = async () => {
     return
   }
 
-  const res = await test1VersionApi({ version: form.version, channel: form.channel })
+  const res = await test1VersionApi({
+    version: form.version,
+    channel: form.channel,
+    envVersion: form.envVersion
+  })
     .catch(() => {})
     .finally(() => {})
   console.log(res)
@@ -78,6 +89,19 @@ const testApi2 = async () => {
       style="width: 120px; margin-right: 20px"
       placeholder="输入版本号"
     />
+    <ElSelect
+      id="envVersion"
+      v-model="form.envVersion"
+      placeholder="环境版本"
+      style="width: 120px; margin-right: 20px"
+    >
+      <ElOption
+        v-for="item in envVersionOptions"
+        :key="item.value"
+        :label="item.label"
+        :value="item.value"
+      />
+    </ElSelect>
     <ElButton type="primary" @click="() => testApi1()">
       {{ '按版本号检查' }}
     </ElButton>

+ 50 - 2
src/views/Version/VersionServer.vue

@@ -31,16 +31,26 @@ interface Params {
   pageIndex?: number
   pageSize?: number
   channel?: string
+  envVersion?: string
 }
 
 const { t } = useI18n()
 
 const getChannelLabel = (code: string) => {
-  console.log(code)
   const c = channelOptions.value.find((x) => x.code === code)
   return c ? c.name : code
 }
 
+const envVersionOptions = [
+  { label: '正式服', value: 'release' },
+  { label: '体验版', value: 'trial' }
+]
+
+const getEnvVersionLabel = (envVersion: string) => {
+  const item = envVersionOptions.find((x) => x.value === envVersion)
+  return item ? item.label : '正式服'
+}
+
 const columns: TableColumn[] = [
   {
     field: 'name',
@@ -51,6 +61,11 @@ const columns: TableColumn[] = [
     label: t('version_server.channel'),
     formatter: (row) => getChannelLabel(row.channel)
   },
+  {
+    field: 'envVersion',
+    label: t('version_server.envVersion'),
+    formatter: (row) => getEnvVersionLabel(row.envVersion)
+  },
   {
     field: 'version',
     label: t('version_server.number')
@@ -104,6 +119,7 @@ const drawerText = ref('')
 
 const versionDataList = ref<VersionData[]>([])
 const selectedChannel = ref<string>('')
+const selectedEnvVersion = ref<string>('')
 
 // 渠道选项:从后端获取
 const channelOptions = ref<ChannelData[]>([])
@@ -123,7 +139,8 @@ const applyChannelFilter = () => {
   getVersionList({
     pageIndex: 1,
     pageSize: 10,
-    channel: selectedChannel.value
+    channel: selectedChannel.value,
+    envVersion: selectedEnvVersion.value
   })
 }
 
@@ -132,6 +149,7 @@ const form = reactive({
   data: {
     id: '',
     channel: '',
+    envVersion: 'release',
     version: '',
     name: '',
     cdn: '',
@@ -143,6 +161,7 @@ const form = reactive({
 const formReset = () => {
   form.data.id = ''
   form.data.channel = ''
+  form.data.envVersion = 'release'
   form.data.version = ''
   form.data.name = ''
   form.data.cdn = ''
@@ -244,6 +263,7 @@ const actionFn = (type: string, data: any) => {
     form.type = 'edit'
     drawerText.value = t('version_server.edit')
     form.data.channel = data.channel
+    form.data.envVersion = data.envVersion || 'release'
     form.data.id = data.id.id
     form.data.cdn = data.cdn
     form.data.url = data.url
@@ -291,6 +311,24 @@ const closeDrawer = () => {
             {{ t('version_server.confirm') }}
           </ElButton>
         </div>
+        <div style="display: flex; align-items: center; gap: 8px">
+          <span style="font-size: 14px; color: var(--el-text-color-regular)">
+            {{ t('version_server.envVersion') }}:
+          </span>
+          <ElSelect
+            v-model="selectedEnvVersion"
+            :placeholder="t('version_server.envVersionSelect')"
+            style="width: 140px"
+          >
+            <ElOption :label="t('version_server.allEnvVersions')" value="" />
+            <ElOption
+              v-for="item in envVersionOptions"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            />
+          </ElSelect>
+        </div>
       </div>
       <ElTooltip content="同步版本列表" placement="top">
         <ElButton type="primary" circle @click="() => syncVersion()">
@@ -338,6 +376,16 @@ const closeDrawer = () => {
       <ElFormItem :label="t('version_server.title')">
         <ElInput v-model="form.data.name" />
       </ElFormItem>
+      <ElFormItem :label="t('version_server.envVersion')" required>
+        <ElSelect v-model="form.data.envVersion" style="width: 100%">
+          <ElOption
+            v-for="item in envVersionOptions"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          />
+        </ElSelect>
+      </ElFormItem>
       <ElFormItem :label="t('version_server.number')">
         <el-input v-model="form.data.version" />
       </ElFormItem>