ipink-util
Version:
util.js
55 lines (53 loc) • 1.4 kB
JavaScript
const ENV_TYPE = {
// 普通浏览器
WEB: "WEB",
// 微信公众号
WX: "WX",
// 支付宝浏览器
ALIPAY: "ALIPAY",
// 微信小程序
WXMINI: "WXMINI",
// 支付宝小程序
MY: "MY",
// 随身办
ESHIMIN: "ESHIMIN",
// 百度小程序
SWAN: "SWAN",
// 快手小程序
KF: "GifShow",
// 抖音小程序
DY: "Bytedance",
// 头条小程序
TT: "TT",
// 自己内部App运行环境;如果自己内部不是请设置 navigator.userAgent
APP: "iApp"
};
const isMiniProgram = () => {
try {
return /miniprogram/i.test(navigator.userAgent.toLocaleLowerCase());
} catch (err) {
return false;
}
};
function getEnv() {
if (/micromessenger/i.test(navigator.userAgent.toLocaleLowerCase())) {
if (isMiniProgram()) {
return ENV_TYPE.WXMINI;
}
return ENV_TYPE.WX;
} else if (/alipay/i.test(navigator.userAgent.toLocaleLowerCase())) {
if (isMiniProgram()) {
return ENV_TYPE.MY;
}
return ENV_TYPE.ALIPAY;
} else if (navigator.userAgent.toLocaleLowerCase().indexOf("eshiminapp") > -1) {
return ENV_TYPE.ESHIMIN;
} else if (/swan\//.test(window.navigator.userAgent) || /^webswan-/.test(window.name)) {
return ENV_TYPE.SWAN;
} else if (/iapp/i.test(navigator.userAgent.toLocaleLowerCase())) {
return ENV_TYPE.APP;
} else {
return ENV_TYPE.WEB;
}
}
export { ENV_TYPE, getEnv, isMiniProgram };