|
|
@@ -58,35 +58,38 @@ export const request = (config: RequestConfig): Promise<any> => {
|
|
|
timeout: config.timeout ?? 30000,
|
|
|
success: (res) => {
|
|
|
// 提取属性(any 类型不能直接访问属性)
|
|
|
- console.log(res);
|
|
|
+ // console.log(res);
|
|
|
const statusCode = res.statusCode as number;
|
|
|
const resData = res.data;
|
|
|
|
|
|
if (statusCode == 200) {
|
|
|
// 将响应数据转换为 UTSJSONObject,然后手动提取属性
|
|
|
const result = resData as UTSJSONObject;
|
|
|
- const success = result["success"] as boolean | null;
|
|
|
- const status = result["status"] as number | null;
|
|
|
const code = result["code"] as number | null;
|
|
|
const msg = result["msg"] as string | null;
|
|
|
-
|
|
|
- // 判断是否成功
|
|
|
- // success 为 true 表示成功
|
|
|
- // 或者没有 success 字段但 code 为 200 也表示成功
|
|
|
- const isSuccess = success == true || (success == null && code == 200)
|
|
|
-
|
|
|
- if (isSuccess) {
|
|
|
- console.log(config.url, result);
|
|
|
+ // console.log("================"+ code)
|
|
|
+
|
|
|
+ if (code == 200) {
|
|
|
// 返回整个 result 对象
|
|
|
resolve(result as any);
|
|
|
- } else if (status != null && (status == 401 || status == 403)) {
|
|
|
+ } else if (code != null && (code == 401)) {
|
|
|
// Token 过期或无权限,跳转登录
|
|
|
handleLoginRedirect();
|
|
|
+ console.log(config.url, result);
|
|
|
reject(new Error("登录已过期,请重新登录"));
|
|
|
- } else if (code != null && (code == 401 || code == 403)) {
|
|
|
+ } else if (code != null && (code == 401)) {
|
|
|
// 有些接口使用 code 字段
|
|
|
handleLoginRedirect();
|
|
|
+ console.log(config.url, result);
|
|
|
reject(new Error("登录已过期,请重新登录"));
|
|
|
+ }else if (code != null && (code == 403)) {
|
|
|
+ // 有些接口使用 code 字段
|
|
|
+ const errorMsg = msg != null ? msg : "请求失败";
|
|
|
+ uni.showToast({
|
|
|
+ title: config.url + errorMsg ,
|
|
|
+ icon: 'success'
|
|
|
+ })
|
|
|
+ resolve(result as any);
|
|
|
} else {
|
|
|
const errorMsg = msg != null ? msg : "请求失败";
|
|
|
reject(new Error(errorMsg));
|