feat: 按环境前缀生成 Apps ID
This commit is contained in:
@@ -66,6 +66,7 @@
|
||||
<tr>
|
||||
<th>环境名称</th>
|
||||
<th>API 地址</th>
|
||||
<th>App ID 前缀</th>
|
||||
<th>Associated Domains</th>
|
||||
<th>Universal Link</th>
|
||||
<th>操作</th>
|
||||
@@ -75,6 +76,7 @@
|
||||
<tr v-for="(server, name) in servers" :key="name">
|
||||
<td><strong>{{ name }}</strong></td>
|
||||
<td>{{ server.api }}</td>
|
||||
<td>{{ server.app_id_prefix }}</td>
|
||||
<td>{{ server.assDom }}</td>
|
||||
<td>{{ server.universalLink }}</td>
|
||||
<td class="action-btns">
|
||||
@@ -273,7 +275,6 @@
|
||||
<input type="text" v-model="versions.app_ver" placeholder="2.180.0">
|
||||
<div style="font-size: 12px; color: #999; margin-top: 4px;">格式:主版本.次版本.修订号</div>
|
||||
</div>
|
||||
<div style="font-size: 12px; color: #999; margin: -8px 0 16px;">保存后 Build_Ver 将自动重置为 App_Ver.0;App Store 打包时构建号自动 +1。</div>
|
||||
<button class="btn btn-primary" style="width: auto; padding: 10px 32px; margin-bottom: 24px;" @click="saveVersions">保存版本号</button>
|
||||
|
||||
<template v-if="isAdmin">
|
||||
@@ -379,6 +380,11 @@
|
||||
<label>Universal Link</label>
|
||||
<input v-model="serverForm.universalLink" type="text" placeholder="https://dev-data1.readoor.cn">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>App ID 前缀</label>
|
||||
<input :value="editingServerName ? serverForm.app_id_prefix : nextServerPrefix" type="text" disabled>
|
||||
<div style="font-size: 12px; color: #999; margin-top: 4px;">新增环境自动分配,保存后不可修改。</div>
|
||||
</div>
|
||||
<div style="margin-top: 20px; display: flex; gap: 12px; justify-content: flex-end;">
|
||||
<button class="action-btn" style="padding: 8px 16px;" @click="showServerModal = false">取消</button>
|
||||
<button class="btn btn-primary" style="width: auto; padding: 8px 24px;" @click="saveServer">保存</button>
|
||||
@@ -411,6 +417,10 @@
|
||||
</select>
|
||||
<input v-else v-model="appForm.server" type="text" placeholder="例如:测试环境">
|
||||
</div>
|
||||
<div v-if="isAdmin" class="form-group">
|
||||
<label>App ID 前缀覆盖</label>
|
||||
<input v-model.number="appForm.app_id_prefix_override" type="number" min="1" placeholder="仅特殊 App 使用">
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<div class="form-group">
|
||||
@@ -556,7 +566,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, inject } from 'vue'
|
||||
import { computed, ref, onMounted, inject } from 'vue'
|
||||
|
||||
const showLogin = inject('showLogin')
|
||||
const getToken = inject('getToken')
|
||||
@@ -592,7 +602,13 @@ const jsonContent = ref('{}')
|
||||
|
||||
const showServerModal = ref(false)
|
||||
const editingServerName = ref(null)
|
||||
const serverForm = ref({ name: '', api: '', assDom: '', universalLink: '' })
|
||||
const serverForm = ref({ name: '', api: '', assDom: '', universalLink: '', app_id_prefix: null })
|
||||
const nextServerPrefix = computed(() => {
|
||||
const prefixes = Object.values(servers.value)
|
||||
.map(server => Number(server.app_id_prefix))
|
||||
.filter(prefix => Number.isInteger(prefix) && prefix > 0)
|
||||
return Math.max(0, ...prefixes) + 1
|
||||
})
|
||||
|
||||
const showAppModal = ref(false)
|
||||
const editingAppId = ref(null)
|
||||
@@ -729,7 +745,9 @@ const deleteUser = async (u) => {
|
||||
// 服务器环境管理
|
||||
const openServerModal = (name = null, server = null) => {
|
||||
editingServerName.value = name
|
||||
serverForm.value = server ? { ...server, name } : { name: '', api: '', assDom: '', universalLink: '' }
|
||||
serverForm.value = server
|
||||
? { ...server, name }
|
||||
: { name: '', api: '', assDom: '', universalLink: '', app_id_prefix: null }
|
||||
showServerModal.value = true
|
||||
}
|
||||
|
||||
@@ -802,6 +820,7 @@ const openAppModal = (id = null, app = null) => {
|
||||
weixinpay: '',
|
||||
tencent: '',
|
||||
AlivcLicenseKey: '',
|
||||
app_id_prefix_override: '',
|
||||
certificates: {},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user