迁移 Flutter 端与训练脚本,模型/训练产物移出 git(遵循纯代码约定)

This commit is contained in:
2026-08-24 12:35:24 +08:00
parent d056f01965
commit 961523d94c
218 changed files with 13391 additions and 3232 deletions
+45
View File
@@ -0,0 +1,45 @@
import axios from 'axios'
import { ElMessage } from 'element-plus'
import router from '../router'
// 管理端请求封装:统一 /api/v1/admin 前缀;token 由登录页输入存 localStorage,随请求携带
const request = axios.create({
baseURL: '/api/v1/admin',
timeout: 10000,
})
request.interceptors.request.use((config) => {
// 登录页校验时 localStorage 尚无 token,用请求级 authToken 优先
const token = config.authToken || localStorage.getItem('adminToken')
if (token) {
config.headers['X-Admin-Token'] = token
}
return config
})
request.interceptors.response.use(
(resp) => {
const body = resp.data
if (body && body.code === 0) {
return body.data
}
const msg = (body && body.message) || '请求失败'
ElMessage.error(msg)
return Promise.reject(new Error(msg))
},
(err) => {
const body = err.response && err.response.data
const code = body && body.code
// 登录页校验 token 失败:不弹全局错误、不跳转,由页面自行提示
if (code === 61 && !(err.config && err.config.skipAuthError)) {
localStorage.removeItem('adminToken')
ElMessage.error('登录已失效,请重新输入管理 token')
router.push('/login')
return Promise.reject(err)
}
ElMessage.error((body && body.message) || err.message || '网络错误')
return Promise.reject(err)
},
)
export default request