@morjs/runtime-base
Version:
mor runtime base
186 lines • 4.76 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGlobalObject = exports.getEnvDesc = exports.getEnv = exports.SOURCE_TYPE = exports.ENV_TYPE_DESC = exports.ENV_TYPE = void 0;
/**
* 支持的 env 类型
* 用于 运行时判断
*/
var ENV_TYPE;
(function (ENV_TYPE) {
/**
* 微信小程序
*/
ENV_TYPE["WECHAT"] = "WECHAT";
/**
* 支付宝小程序
*/
ENV_TYPE["ALIPAY"] = "ALIPAY";
/**
* QQ 小程序
*/
ENV_TYPE["QQ"] = "QQ";
/**
* 百度小程序
*/
ENV_TYPE["BAIDU"] = "BAIDU";
/**
* 钉钉小程序
*/
ENV_TYPE["DINGDING"] = "DINGDING";
/**
* 淘宝小程序
*/
ENV_TYPE["TAOBAO"] = "TAOBAO";
/**
* 字节小程序
*/
ENV_TYPE["BYTEDANCE"] = "BYTEDANCE";
/**
* 快手小程序
*/
ENV_TYPE["KUAISHOU"] = "KUAISHOU";
/**
* Web 应用
*/
ENV_TYPE["WEB"] = "WEB";
})(ENV_TYPE = exports.ENV_TYPE || (exports.ENV_TYPE = {}));
/**
* 支持的 env 类型描述
*/
var ENV_TYPE_DESC;
(function (ENV_TYPE_DESC) {
/**
* 微信小程序
*/
ENV_TYPE_DESC["WECHAT"] = "\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F";
/**
* 支付宝小程序
*/
ENV_TYPE_DESC["ALIPAY"] = "\u652F\u4ED8\u5B9D\u5C0F\u7A0B\u5E8F";
/**
* QQ 小程序
*/
ENV_TYPE_DESC["QQ"] = "QQ \u5C0F\u7A0B\u5E8F";
/**
* 百度小程序
*/
ENV_TYPE_DESC["BAIDU"] = "\u767E\u5EA6\u5C0F\u7A0B\u5E8F";
/**
* 钉钉小程序
*/
ENV_TYPE_DESC["DINGDING"] = "\u9489\u9489\u5C0F\u7A0B\u5E8F";
/**
* 淘宝小程序
*/
ENV_TYPE_DESC["TAOBAO"] = "\u6DD8\u5B9D\u5C0F\u7A0B\u5E8F";
/**
* 字节小程序
*/
ENV_TYPE_DESC["BYTEDANCE"] = "\u5B57\u8282\u5C0F\u7A0B\u5E8F";
/**
* 字节小程序
*/
ENV_TYPE_DESC["KUAISHOU"] = "\u5FEB\u624B\u5C0F\u7A0B\u5E8F";
/**
* Web 应用
*/
ENV_TYPE_DESC["WEB"] = "Web \u5E94\u7528";
})(ENV_TYPE_DESC = exports.ENV_TYPE_DESC || (exports.ENV_TYPE_DESC = {}));
var SOURCE_TYPE;
(function (SOURCE_TYPE) {
/**
* 微信小程序 DSL 支持
*/
SOURCE_TYPE["WECHAT"] = "w";
/**
* 支付宝小程序 DSL 支持
*/
SOURCE_TYPE["ALIPAY"] = "a";
})(SOURCE_TYPE = exports.SOURCE_TYPE || (exports.SOURCE_TYPE = {}));
var _ENV = null;
/**
* 获取小程序运行环境
* @returns 当前环境
*/
function getEnv() {
if (_ENV)
return _ENV;
// 此处 tt 的判断需要在 wx 之前,因为在字节小程序中同时支持调用 tt 和 wx 对象
if (typeof tt !== 'undefined' && tt.getSystemInfo) {
_ENV = ENV_TYPE.BYTEDANCE;
return _ENV;
}
// 此处 swan 的判断需要在 my 之前,因为在百度小程序初始化阶段含有 my 对象
if (typeof swan !== 'undefined' && swan.getSystemInfo) {
_ENV = ENV_TYPE.BAIDU;
return _ENV;
}
if (typeof wx !== 'undefined' && wx.getSystemInfo) {
_ENV = ENV_TYPE.WECHAT;
return _ENV;
}
if (typeof dd !== 'undefined' && dd.getSystemInfo) {
_ENV = ENV_TYPE.DINGDING;
return _ENV;
}
if (typeof my !== 'undefined' &&
typeof (my === null || my === void 0 ? void 0 : my.tb) !== 'undefined' &&
my.getSystemInfo) {
_ENV = ENV_TYPE.TAOBAO;
return _ENV;
}
if (typeof my !== 'undefined' && my.getSystemInfo) {
_ENV = ENV_TYPE.ALIPAY;
return _ENV;
}
if (typeof qq !== 'undefined' && qq.getSystemInfo) {
_ENV = ENV_TYPE.QQ;
return _ENV;
}
if (typeof ks !== 'undefined' && ks.getSystemInfo) {
_ENV = ENV_TYPE.KUAISHOU;
return _ENV;
}
if (typeof window !== 'undefined') {
_ENV = ENV_TYPE.WEB;
return _ENV;
}
return 'Unknown environment';
}
exports.getEnv = getEnv;
/**
* 获取当前环境描述信息
* @returns 当前环境描述信息
*/
function getEnvDesc() {
return ENV_TYPE_DESC[getEnv()];
}
exports.getEnvDesc = getEnvDesc;
/**
* 获取全局对象
* @returns 全局对象
*/
function getGlobalObject() {
var env = getEnv();
if (env === ENV_TYPE.WECHAT)
return wx;
if (env === ENV_TYPE.ALIPAY)
return my;
if (env === ENV_TYPE.TAOBAO)
return my;
if (env === ENV_TYPE.QQ)
return qq;
if (env === ENV_TYPE.BYTEDANCE)
return tt;
if (env === ENV_TYPE.BAIDU)
return swan;
if (env === ENV_TYPE.DINGDING)
return dd;
if (env === ENV_TYPE.KUAISHOU)
return ks;
if (env === ENV_TYPE.WEB)
return window;
return null;
}
exports.getGlobalObject = getGlobalObject;
//# sourceMappingURL=env.js.map