feat(request): 实现动态Terminal功能。

pull/66/head
Ordinary 2024-08-03 10:33:09 +08:00
parent d1681ec2d5
commit c9434b9ec9
2 changed files with 45 additions and 9 deletions

View File

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

View File

@ -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 - 营销模块 ========== // ========== MALL - 营销模块 ==========
import dayjs from "dayjs"; import dayjs from "dayjs";