env.js 1.42 KB
Newer Older
liang ce committed
1
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var sdk_1=require("./sdk"),sdk_2=require("./sdk");exports.ENV_ENUM=sdk_2.ENV_ENUM,exports.APP_TYPE=sdk_2.APP_TYPE;var dingtalk_javascript_env_1=require("./packages/dingtalk-javascript-env");exports.getUA=function(){var e="";try{"undefined"!=typeof navigator&&(e=navigator&&(navigator.userAgent||navigator.swuserAgent)||"")}catch(a){e=""}return e},exports.getENV=function(){var e=exports.getUA(),a=/DingTalk/i.test(e)||dingtalk_javascript_env_1.default.isDingTalk,t=/iPhone|iPad|iPod|iOS/i.test(e)&&a||dingtalk_javascript_env_1.default.isWeexiOS,i=/Android/i.test(e)&&a||dingtalk_javascript_env_1.default.isWeexAndroid,n=/Nebula/i.test(e)&&a||"object"==typeof dd&&"function"==typeof dd.dtBridge,r=/dd-web/i.test(e),d=sdk_1.APP_TYPE.WEB;r?d=sdk_1.APP_TYPE.WEBVIEW_IN_MINIAPP:n?d=sdk_1.APP_TYPE.MINI_APP:(dingtalk_javascript_env_1.default.isWeexiOS||dingtalk_javascript_env_1.default.isWeexAndroid)&&(d=sdk_1.APP_TYPE.WEEX);var s,_="*",o=e.match(/AliApp\(\w+\/([a-zA-Z0-9.-]+)\)/);null===o&&(o=e.match(/DingTalk\/([a-zA-Z0-9.-]+)/));var v;o&&o[1]&&(v=o[1]);var g="";if("undefined"!=typeof name&&(g=name),g)try{var p=JSON.parse(g);p.hostVersion&&(v=p.hostVersion),_=p.language||navigator.language||"*",s=p.containerId}catch(e){}var k,l=!!s;return k=t?sdk_1.ENV_ENUM.ios:i?sdk_1.ENV_ENUM.android:l?sdk_1.ENV_ENUM.pc:sdk_1.ENV_ENUM.notInDingTalk,{platform:k,version:v,appType:d,language:_}};