推荐使用条件编译,少用条件判断
// @/utils/EPlatform.ts
/*
*枚举EPlatform*/
export enum EPlatform {
/**App*/
AppPlus = 'APP-PLUS',
/**App nvue*/
AppPlusNvue = 'APP-PLUS-NVUE',
/**H5*/
H5 = 'H5',
/**微信小程序*/
MpWeixin = 'MP-WEIXIN',
/**支付宝小程序*/
MpAlipay = 'MP-ALIPAY',
/**百度小程序*/
MpBaidu = 'MP-BAIDU',
/**字节跳动小程序*/
MpToutiao = 'MP-TOUTIAO',
/**QQ小程序*/
MpQq = 'MP-QQ',
/**360小程序*/
Mp360 = 'MP-360',
/**微信小程序/支付宝小程序/百度小程序/字节跳动小程序/QQ小程序/360小程序*/
Mp = 'MP',
/**快应用通用(包含联盟、华为)*/
QuickappWebview = 'quickapp-webview',
/**快应用联盟*/
QuickappWebviewUnion = 'quickapp-webview-union',
/**快应用华为*/
QuickappWebviewHuawei = 'quickapp-webview-huawei',
}
// @/utils/Platform.ts
/*
*类型Platform*/
import {EPlatform} from "@/utils/EPlatform";
/**使用条件编译获取平台信息*/
function ifDefPlatform(): EPlatform {
let platform: EPlatform
//#ifdef APP-PLUS
platform = EPlatform.AppPlus;
//#endif
//#ifdef APP-PLUS-NVUE
platform = EPlatform.AppPlusNvue;
//#endif
//#ifdef H5
platform = EPlatform.H5;
//#endif
//#ifdef MP-WEIXIN
platform = EPlatform.MpWeixin;
//#endif
//#ifdef MP-ALIPAY
platform = EPlatform.MpAlipay;
//#endif
//#ifdef MP-BAIDU
platform = EPlatform.MpBaidu;
//#endif
//#ifdef MP-TOUTIAO
platform = EPlatform.MpToutiao;
//#endif
//#ifdef MP-QQ
platform = EPlatform.MpQq;
//#endif
//#ifdef MP-360
platform = EPlatform.Mp360;
//#endif
//#ifdef MP
platform = EPlatform.Mp;
//#endif
//#ifdef quickapp-webview
platform = EPlatform.QuickappWebview;
//#endif
//#ifdef quickapp-webview-union
platform = EPlatform.QuickappWebviewUnion;
//#endif
//#ifdef quickapp-webview-huawei
platform = EPlatform.QuickappWebviewHuawei;
//#endif
return platform
}
/**平台类型*/
export const Platform: EPlatform = ifDefPlatform()
/**默认导出平台类型*/
export default Platform
/**App*/
export const isAppPlus = Platform == EPlatform.AppPlus
/**App nvue*/
export const isAppPlusNvue = Platform == EPlatform.AppPlusNvue
/**H5*/
export const isH5 = Platform == EPlatform.H5
/**微信小程序*/
export const isMpWeixin = Platform == EPlatform.MpWeixin
/**支付宝小程序*/
export const isMpAlipay = Platform == EPlatform.MpAlipay
/**百度小程序*/
export const isMpBaidu = Platform == EPlatform.MpBaidu
/**字节跳动小程序*/
export const isMpToutiao = Platform == EPlatform.MpToutiao
/**QQ小程序*/
export const isMpQq = Platform == EPlatform.MpQq
/**360小程序*/
export const isMp360 = Platform == EPlatform.Mp360
/**微信小程序/支付宝小程序/百度小程序/字节跳动小程序/QQ小程序/360小程序*/
export const isMp = Platform == EPlatform.Mp
/**快应用通用(包含联盟、华为)*/
export const isQuickappWebview = Platform == EPlatform.QuickappWebview
/**快应用联盟*/
export const isQuickappWebviewUnion = Platform == EPlatform.QuickappWebviewUnion
/**快应用华为*/
export const isQuickappWebviewHuawei = Platform == EPlatform.QuickappWebviewHuawei
使用
// @/utils/Config.ts
import {EPlatform} from './EPlatform';
import {isH5, Platform} from '@/utils/Platform'
/**配置信息*/
export default class Config {
/**http请求根目录*/
static get httpBaseUrl(): string {
if (isH5) {
return '/'
} else {
return 'http://demo.cn/'
}
}
}
本文地址:
https://www.cnblogs.com/stumpx/p/13289154.html
来源:oschina
链接:https://my.oschina.net/u/4363726/blog/4359167