task-283(后台迁移收尾/发布): admin-vue 后台工程入库 + Flask 后台整体退役

- 新后台 admin-frontend-vue 整工程入库(base=/admin-vue/、History 路由、Nginx 静态托管方案与 verify-dist 校验)
- Java AdminConsoleController 改为入口重定向: /admin|/admin.html、/login|/login.html -> /admin-vue/; 删除 classpath:static 旧 admin.html/login.html 单页与 admin.js 副本
- Flask 后台整体退役: 删除 admin_api/auth/main 蓝图、web_source 页面、static 脚本与 admin 相关测试; app.py 收敛为仅注册 version_bp(/api/version、/api/version/latest, 供桌面端更新检查)
- AdminApiGuardFilterTest 豁免样例路径 /admin.html -> /admin-vue/
This commit is contained in:
2026-09-06 10:41:47 +08:00
parent 6bd935dc6b
commit 4c88964473
71 changed files with 974 additions and 39150 deletions
@@ -12,7 +12,7 @@ const loading = ref(false)
const rows = ref<ShopKeyItem[]>([])
const total = ref(0)
const page = ref(1)
const pageSize = 15
const pageSize = ref(10)
const dialogVisible = ref(false)
const editingId = ref<number | null>(null)
@@ -40,7 +40,7 @@ function whitelistTooltip(row: ShopKeyItem): string {
async function load() {
loading.value = true
try {
const result = await fetchShopKeyList({ page: page.value, pageSize })
const result = await fetchShopKeyList({ page: page.value, pageSize: pageSize.value })
rows.value = result.items
total.value = result.total
page.value = result.page
@@ -121,12 +121,13 @@ onMounted(load)
<h2>店铺密钥管理</h2>
<p>管理各店铺的紫鸟浏览器账号与令牌</p>
</div>
<el-button type="primary" @click="openCreate">新增密钥</el-button>
</div>
<el-card shadow="never">
<div class="table-toolbar">
<el-button type="primary" @click="openCreate">新增密钥</el-button>
</div>
<el-table v-loading="loading" :data="rows" stripe border>
<el-table-column type="index" label="序号" min-width="80" :index="(i: number) => (page - 1) * pageSize + i + 1" />
<el-table-column prop="remarkName" label="备注名" min-width="140">
<template #default="{ row }">{{ (row as ShopKeyItem).remarkName || '—' }}</template>
</el-table-column>
@@ -162,7 +163,7 @@ onMounted(load)
</el-table>
<div class="table-footer">
<span> <b>{{ total.toLocaleString() }}</b> </span>
<el-pagination background layout="prev, pager, next, jumper" :total="total" :page-size="pageSize" :current-page="page" @current-change="(p: number) => { page = p; load() }" />
<el-pagination background layout="sizes, prev, pager, next, jumper" :total="total" :page-size="pageSize" :page-sizes="[10, 20, 50, 100]" :current-page="page" @current-change="(p: number) => { page = p; load() }" @size-change="() => { page = 1; load() }" />
</div>
</el-card>
@@ -20,7 +20,7 @@ const loading = ref(false)
const rows = ref<ShopSummary[]>([])
const total = ref(0)
const page = ref(1)
const pageSize = 15
const pageSize = ref(10)
const groups = ref<ShopGroupOption[]>([])
const filter = reactive({ shopName: '', groupId: null as number | null })
@@ -75,7 +75,7 @@ async function load() {
try {
const result = await fetchShopManageList({
page: page.value,
pageSize,
pageSize: pageSize.value,
groupId: filter.groupId,
shopName: filter.shopName.trim() || undefined,
})
@@ -94,6 +94,12 @@ function apply() {
load()
}
function changeSize(size: number) {
pageSize.value = size
page.value = 1
load()
}
function reset() {
filter.shopName = ''
filter.groupId = null
@@ -196,7 +202,6 @@ onMounted(() => {
<h2>店铺管理</h2>
<p>管理店铺账号所属分组与自动化账号</p>
</div>
<el-button type="primary" @click="openCreate">新增店铺</el-button>
</div>
<el-card shadow="never" style="margin-bottom: 14px">
@@ -219,8 +224,10 @@ onMounted(() => {
</el-card>
<el-card shadow="never">
<div class="table-toolbar">
<el-button type="primary" @click="openCreate">新增店铺</el-button>
</div>
<el-table v-loading="loading" :data="rows" stripe border>
<el-table-column type="index" label="序号" min-width="80" :index="(i: number) => (page - 1) * pageSize + i + 1" />
<el-table-column prop="groupName" label="分组" min-width="120" />
<el-table-column prop="shopName" label="店铺名" min-width="160" />
<el-table-column prop="mallName" label="店铺商城名" min-width="120" />
@@ -258,7 +265,7 @@ onMounted(() => {
</el-table>
<div class="table-footer">
<span> <b>{{ total.toLocaleString() }}</b> </span>
<el-pagination background layout="prev, pager, next, jumper" :total="total" :page-size="pageSize" :current-page="page" @current-change="(p: number) => { page = p; load() }" />
<el-pagination background layout="sizes, prev, pager, next, jumper" :total="total" :page-size="pageSize" :page-sizes="[10, 20, 50, 100]" :current-page="page" @current-change="(p: number) => { page = p; load() }" @size-change="changeSize" />
</div>
</el-card>