diff --git a/.env.development b/.env.development index 7f97840..f34fb65 100644 --- a/.env.development +++ b/.env.development @@ -11,4 +11,7 @@ VITE_REQUEST_TIMEOUT = 10000 VITE_DEBUG = true # 交易mqtt -VITE_MQTT_TRANSACTION_HOST=wss://adminapi.apimcapital.top/mqtt \ No newline at end of file +VITE_MQTT_TRANSACTION_HOST=wss://adminapi.apimcapital.top/mqtt + +# exe 下载基础地址 +VITE_EXE_DOWNLOAD_BASE_URL = https://adminh5.apimcapital.top \ No newline at end of file diff --git a/.env.production b/.env.production index ff71095..4497a3e 100644 --- a/.env.production +++ b/.env.production @@ -11,4 +11,7 @@ VITE_REQUEST_TIMEOUT = 10000 VITE_DEBUG = false # 交易mqtt -VITE_MQTT_TRANSACTION_HOST=wss://adminapi.apimcapital.top/mqtt \ No newline at end of file +VITE_MQTT_TRANSACTION_HOST=wss://adminapi.apimcapital.top/mqtt + +# exe 下载基础地址 +VITE_EXE_DOWNLOAD_BASE_URL = https://adminh5.apimcapital.top \ No newline at end of file diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..d692d45 --- /dev/null +++ b/.env.test @@ -0,0 +1,17 @@ +# 测试环境标识 +NODE_ENV = test + +# 测试环境接口基础地址 +VITE_API_BASE_URL = https://adminapi.duxiang.wiki/api + +# 请求超时时间(毫秒) +VITE_REQUEST_TIMEOUT = 10000 + +# 可选:测试环境其他配置 +VITE_DEBUG = true + +# 交易mqtt +VITE_MQTT_TRANSACTION_HOST = wss://adminapi.duxiang.wiki/mqtt + +# exe 下载基础地址 +VITE_EXE_DOWNLOAD_BASE_URL = https://adminh5.duxiang.wiki diff --git a/package.json b/package.json index 021b39c..59c64d0 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,10 @@ "type": "module", "scripts": { "dev": "vite", + "dev:test": "vite --mode test", "build": "run-p type-check \"build-only {@}\" --", "build:prod": "vite build --mode production", + "build:test": "vite build --mode test", "preview": "vite preview", "build-only": "vite build", "type-check": "vue-tsc --build", diff --git a/src/components/common/Table.vue b/src/components/common/Table.vue index 64cd54d..74dabd0 100644 --- a/src/components/common/Table.vue +++ b/src/components/common/Table.vue @@ -561,6 +561,11 @@ defineExpose({ } } +::v-deep(.cell) { + display: flex; + justify-content: center; + align-items: center; +} .column-setting-content { .setting-header { display: flex; diff --git a/src/views/agent/user/options.ts b/src/views/agent/user/options.ts index 10f73b9..2397894 100644 --- a/src/views/agent/user/options.ts +++ b/src/views/agent/user/options.ts @@ -47,7 +47,7 @@ export const tableColumns = [ // 手续费分成比例 { prop: 'commissionRatio', label: '手续费分成比例', slotName: 'commissionRatio', width: 140 }, // 注册时间 - { prop: 'createTime', label: '注册时间', sortable: true, minWidth: 180 }, + { prop: 'createTime', label: '注册时间', sortable: true, minWidth: '200px' }, // 操作 { label: '操作', slotName: 'action', width: 200 } ] diff --git a/src/views/trade/exe/index.vue b/src/views/trade/exe/index.vue index 310cb14..b368842 100644 --- a/src/views/trade/exe/index.vue +++ b/src/views/trade/exe/index.vue @@ -75,19 +75,23 @@ defineOptions({ name: 'Exe' }) type DownloadType = 'pc' | 'android' | 'ios' +// exe 下载基础地址,根据不同环境从 .env.* 注入 +// 生产:adminh5.apimcapital.top;测试:adminh5.duxiang.wiki +const exeBaseUrl = import.meta.env.VITE_EXE_DOWNLOAD_BASE_URL || 'https://adminh5.apimcapital.top' + const downloadUrlMap: Record = { - pc: 'https://adminh5.apimcapital.top/pc/Apim Capital-1.0.24.exe', - android: 'https://adminh5.apimcapital.top/app/app-production-release.apk', - ios: 'https://adminh5.apimcapital.top/app/xxxx.apk' + pc: `${exeBaseUrl}/pc/Apim Capital-1.0.27.exe`, + android: `${exeBaseUrl}/app/app-production-release.apk`, + ios: `${exeBaseUrl}/app/xxxx.apk` } const handleDownload = (type: DownloadType) => { const url: string = downloadUrlMap[type] // 使用 window.open 在新页签打开下载链接, // 避免在当前页点击 a.download 时被 SPA 路由拦截跳转到登录页 - const newWindow = window.open(url, '_blank', 'noopener,noreferrer') + // const newWindow = window.open(url, '_blank', 'noopener,noreferrer') // 某些浏览器会拦截弹窗,做一次降级处理 - if (!newWindow) { + // if (!newWindow) { const a = document.createElement('a') a.href = url a.target = '_blank' @@ -97,7 +101,7 @@ const handleDownload = (type: DownloadType) => { document.body.appendChild(a) a.click() document.body.removeChild(a) - } + // } } @@ -192,4 +196,4 @@ const handleDownload = (type: DownloadType) => { } } } - \ No newline at end of file +