1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- /**
- * 运行环境处理
- */
- window.Promise = require('promise');
- export default class Env {
- constructor() {
- this.isWeiXin = false;
- this.isWeiXinDev = false;
- this.isIe = false;
- this.isChrome = false;
- this.isSafari = false;
- this.isFirefox = false;
- this.isOpera = false;
- this.isIpad = false;
- this.isIpod = false;
- this.isIphone = false;
- this.isAndroid = false;
- this.isWindowPhone = false;
- this.isMobile = false;
- this.isIos = false;
- this.width = 0;
- this.height = 0;
- this.initPlant();
- this.initFunc();
- }
- initPlant() {
- /**
- * 当前访问场景初始化
- */
- const agent = window.navigator.userAgent.toLowerCase();
- this.isIpad = agent.match(/ipad/i) === 'ipad';
- this.isIpod = agent.match(/ipod/i) === 'ipod';
- this.isIphone = agent.match(/iphone os/i) === 'iphone os';
- this.isAndroid = agent.match(/android/i) === 'android';
- this.isWindowPhone = agent.match(/windows phone/i) === 'windows phone';
- this.isSymbian = agent.match(/symbianos/i) === 'symbianos';
- this.isWeiXin = agent.match(/MicroMessenger/i) === 'micromessenger';
- this.isIe = agent.match(/msie/i) === 'msie';
- this.isFirefox = agent.match(/firefox/i) === 'firefox';
- this.isChrome = agent.match(/chrome/i) === 'chrome';
- this.isSafari = agent.match(/safari/i) === 'safari';
- this.isOpera = agent.match(/opera/i) === 'opera';
- if (this.isIpad || this.isIpod || this.isIphone) this.isIos = true;
- if (this.isIpad || this.isIpod || this.isIphone || this.isAndroid || this.isWindowPhone || this.isSymbian) {
- this.isMobile = true;
- } else {
- this.isPc = true;
- }
- }
- initFunc() {
- /**
- * 当前环境基本接口初始化
- */
- window.Promise.prototype.end = function(callback) {
- let error = null;
- window.Promise._87 = function(self, err) {
- error = err;
- };
- window.Promise.resolve()
- .then(() => {
- return this;
- })
- .catch(err => {
- callback(err);
- throw err;
- })
- .then(result => {
- callback(error || result);
- return result;
- });
- return this;
- };
- }
- }
|