Explorar o código

Merge branch 'develop' of https://gitee.com/yudaocode/yudao-mall-uniapp

YunaiV hai 8 meses
pai
achega
15ce250c1b
Modificáronse 2 ficheiros con 45 adicións e 9 borrados
  1. 9 9
      sheep/request/index.js
  2. 36 0
      sheep/util/const.js

+ 9 - 9
sheep/request/index.js

@@ -4,13 +4,12 @@
  */
 
 import Request from 'luch-request';
-import { baseUrl, apiPath, tenantId } from '@/sheep/config';
+import { apiPath, baseUrl, tenantId } from '@/sheep/config';
 import $store from '@/sheep/store';
 import $platform from '@/sheep/platform';
-import {
-	showAuthModal
-} from '@/sheep/hooks/useModal';
+import { showAuthModal } from '@/sheep/hooks/useModal';
 import AuthUtil from '@/sheep/api/member/auth';
+import { getTerminalEnumByUniPlatform } from '@/sheep/util/const';
 
 const options = {
 	// 显示操作成功消息 默认不显示
@@ -93,13 +92,14 @@ http.interceptors.request.use(
     // 增加 token 令牌、terminal 终端、tenant 租户的请求头
 		const token = getAccessToken();
 		if (token) {
-      config.header['Authorization'] = token;
-    }
-		// TODO 芋艿:特殊处理
+			config.header['Authorization'] = token;
+		}
+
+		const terminalType = uni.getSystemInfoSync().uniPlatform
+		config.header['terminal'] = getTerminalEnumByUniPlatform(terminalType);
+
     config.header['Accept'] = '*/*';
     config.header['tenant-id'] = tenantId;
-    config.header['terminal'] = '20';
-    // config.header['Authorization'] = 'Bearer test247';
 		return config;
 	},
 	(error) => {

+ 36 - 0
sheep/util/const.js

@@ -1,3 +1,39 @@
+// ========== COMMON - 公共模块 ==========
+
+/**
+ * 与后端Terminal枚举一一对应
+ */
+export const TerminalEnum = {
+  UNKNOWN: 0, // 未知, 目的:在无法解析到 terminal 时,使用它
+  WECHAT_MINI_PROGRAM: 10, //微信小程序
+  WECHAT_WAP: 11, // 微信公众号
+  H5: 20, // H5 网页
+  APP: 31, // 手机 App
+};
+
+/**
+ * 将Uniapp提供的平台转换为后端所需的Terminal值
+ * @param platformType Uniapp提供的平台类型
+ */
+export const getTerminalEnumByUniPlatform = (platformType) => {
+  let terminal;
+  // 与后端terminal枚举一一对应
+  switch (platformType) {
+    case 'app':
+      terminal = TerminalEnum.APP;
+      break;
+    case 'web':
+      terminal = TerminalEnum.H5;
+      break;
+    case 'mp-weixin':
+      terminal = TerminalEnum.WECHAT_MINI_PROGRAM;
+      break;
+    default:
+      terminal = TerminalEnum.UNKNOWN;
+  }
+  return terminal;
+};
+
 // ========== MALL - 营销模块 ==========
 
 import dayjs from "dayjs";