import * as compnt from "../../../public/js/compnt.js"; export var os = {}; export var app = {}; export var uid = undefined; export var screen_name = undefined; /** * 检测客户端环境 */ export function checkClientEnvironment() { var ua = navigator.userAgent; var ANDROID_REG = /(Android);?[\s\/]+([\d.]+)?/; var IPAD_REG = /(iPad).*OS\s([\d_]+)/; var IPHONE_REG = /(iPhone\sOS)\s([\d_]+)/; var IQIYI_REG = /iqiyi/ var QLIVE_REG = /QQLiveBrowser/; var WECHAT_REG = /MicroMessenger/; var WEIBO_REG = /__weibo__/; if (ua.match(ANDROID_REG)) { os.android = true; } if (ua.match(IPAD_REG)) { os.ipad = true; } if (ua.match(IPHONE_REG)) { os.ios = true; } if (ua.match(IQIYI_REG)) { app.iqiyi = true } if (ua.match(QLIVE_REG)) { app.qlive = true } if (ua.match(WECHAT_REG)) { app.wechat = true } if (ua.match(WEIBO_REG)) { app.weibo = true; } } export function active() { var def = $.Deferred(); WeiboJSBridge.invoke('unicomFreeTraffic', { "type": 0 }, { success: function(params) { def.resolve(params); }, fail: function(params, code) { def.reject(params, code); }, final: function(params) { def.reject(params); } }); return def; } export function checkActiveResult() { var def = $.Deferred(); WeiboJSBridge.invoke('unicomFreeSIM', {}, { success: function(params) { if (params.unicomFreeSIM == 1) { compnt.showAlert("激活成功~") def.resolve(params); } else { compnt.showAlert("激活失败") def.reject(params, code); } }, fail: function(params, code) { def.reject(params, code); }, final: function(params) { def.reject(params); } }) return def; } export function getBrowserInfo() { var def = $.Deferred(); // var params = { // "id": "2245755811", // "screen_name": "江涛的微博" // } // uid = params.id; // screen_name = params.screen_name; // def.resolve(params); WeiboJSBridge.invoke("getBrowserInfo", {}, function(params, success, code) { if (success) { uid = params.uid def.resolve(params); } else { if (code == WeiboJSBridge.STATUS_CODE.NO_RESULT) { def.reject(params, code); } } }); return def; } export function getUserInfo() { var def = $.Deferred(); // var params = { // "id": "2245755811", // "screen_name": "江涛的微博" // } // uid = params.id; // screen_name = params.screen_name; // // def.resolve(params); WeiboJSBridge.invoke("getUserInfo", {}, (params, success, code) => { if (success) { // alert("用户信息是:" + JSON.stringify(params)) uid = params.id; screen_name = params.screen_name; def.resolve(params); } else { if (code == WeiboJSBridge.STATUS_CODE.NO_RESULT) { def.reject(params, code); } } }); return def; } /** * 判断当前客户端版本是否达到指定版本 * @param targetVersionString | String | "8.9.3" | 必须为三段版本号,中间用.分隔 * @return moreThanTarget | Boolean | true | 是否达到指定版本 * @author shaobo3@ * @example * checkWeiboVersion('9.10.1'); */ export function checkWeiboVersion(targetVersionString = "9.11.2") { if (!targetVersionString) { return false; } var targetVersionArr = getVersionArr(targetVersionString); var clientVersionArr = getVersionArr(); var part1Result = compareVer(clientVersionArr[0], targetVersionArr[0]); var part2Result = compareVer(clientVersionArr[1], targetVersionArr[1]); var part3Result = compareVer(clientVersionArr[2], targetVersionArr[2]); //先比较第一位版本号,不相等直接返回结果,相等判断第二位版本号; if (part1Result !== -1) return part1Result; //先比较第二位版本号,不相等直接返回结果,相等判断第三位版本号; if (part2Result !== -1) return part2Result; //先比较第三位版本号,不相等直接返回结果,全部相等则返回true; if (part3Result !== -1) return part3Result; return true; } const REG = /__weibo__(\d+).(\d+).(\d+)/; /** * 获取字符串中的版本号,并分段输出为数组 * @param versionStr | string | "8.9.3" | 必须为三段版本号,中间用.分隔 * @return versionArr | Array | [8,9,3] */ var getVersionArr = (versionStr) => { var ua = navigator.userAgent; var _str = versionStr ? `__weibo__${versionStr}` : ua; var versionArr = []; if (REG.test(_str)) { versionArr.push(parseInt(RegExp.$1)); versionArr.push(parseInt(RegExp.$2)); versionArr.push(parseInt(RegExp.$3)); return versionArr; } return [0, 0, 0]; }; var compareVer = (version1, version2) => { var result = -1; if (version1 > version2) { result = true; } if (version1 < version2) { result = false; } return result; };