更新模板

This commit is contained in:
2026-01-21 01:37:34 +08:00
parent b7be8c51bf
commit c5c73828bd
83 changed files with 8687 additions and 1235 deletions

View File

@@ -42,7 +42,7 @@ const isIgnoreToken = (url: string) => {
* @param options 请求参数
* @returns Promise<T>
*/
export function request(options: RequestOptions): Promise<any | null> {
export function request(options: RequestOptions): Promise<any> {
let { url, method = "GET", data = {}, header = {}, timeout = 60000 } = options;
const { user } = useStore();
@@ -80,17 +80,26 @@ export function request(options: RequestOptions): Promise<any | null> {
timeout,
success(res) {
// 401 无权限
if (res.statusCode == 401) {
if (isDev) console.log(`[Response] ${url} status: ${res.statusCode}`, JSON.stringify(res.data));
// 401 无权限 或 业务码 1001 (未登录/失效)
const resData = res.data;
if (resData != null && isObject(resData)) {
const dataObj = resData as UTSJSONObject;
const bizCode = dataObj["code"];
if (res.statusCode == 401 || bizCode == 1001) {
user.logout();
reject({ message: t("登录已失效"), code: 1001 } as Response);
return;
}
} else if (res.statusCode == 401) {
user.logout();
reject({ message: t("无权限") } as Response);
reject({ message: t("登录已失效"), code: 1001 } as Response);
return;
}
// 502 服务异常
else if (res.statusCode == 502) {
reject({
message: t("服务异常")
} as Response);
reject({ message: t("服务异常") } as Response);
}
// 404 未找到
@@ -105,20 +114,30 @@ export function request(options: RequestOptions): Promise<any | null> {
if (res.data == null) {
resolve(null);
} else if (!isObject(res.data as any)) {
// 处理非对象格式的数据(如字符串)
console.warn(`[Service] Received non-object data from ${url}:`, res.data);
resolve(res.data);
} else {
// 解析响应数据
const { code, message, data } = parse<Response>(
res.data ?? { code: 0 }
)!;
try {
const resDataObj = res.data as UTSJSONObject;
const { code, message, data } = parse<Response>(
resDataObj ?? { code: 0 }
)!;
switch (code) {
case 1000:
resolve(data);
break;
default:
reject({ message, code } as Response);
break;
switch (code) {
case 1000:
console.log(`[Service] Request success for ${url}, data:`, JSON.stringify(data));
resolve(data);
break;
default:
console.warn(`[Service] Business error from ${url}:`, code, message);
reject({ message: message || t("请求失败"), code } as Response);
break;
}
} catch (e : any) {
console.error(`[Service] Parse error for ${url}:`, e);
reject({ message: e.message || t("服务异常") } as Response);
}
}
} else {
@@ -128,9 +147,11 @@ export function request(options: RequestOptions): Promise<any | null> {
// 网络请求失败
fail(err) {
console.error(`[Request Failed] ${url}`, err);
reject({ message: err.errMsg } as Response);
}
});
if (isDev) console.log(`[Request Sent] ${url}`);
};
// 非刷新token接口才进行token有效性校验