UNPKG

@morjs/runtime-base

Version:
186 lines 4.76 kB
"use strict"; 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