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() { return new Promise(function(resolve, reject) { WeiboJSBridge.invoke('unicomFreeTraffic', {"type": 0}, { success: function(params) { //compnt.showAlert(JSON.stringify(params)) // compnt.showAlert("激活成功~") resolve(params); }, fail: function(params, code) { // compnt.showAlert("请激活以后开始享受免流") reject(params, code); }, final: function(params) { reject(params); } }); }) } export function checkActiveResult() { return new Promise(function(resolve, reject) { WeiboJSBridge.invoke('unicomFreeSIM', {}, { success: function(params) { //compnt.showAlert(JSON.stringify(params)) // compnt.showAlert("激活成功~") if (params.unicomFreeSIM == 1) { compnt.showAlert("激活成功~") resolve(params); } else { compnt.showAlert("激活失败") reject(params, code); } }, fail: function(params, code) { // compnt.showAlert("请激活以后开始享受免流") reject(params, code); }, final: function(params) { reject(params); } }) }) } export function getBrowserInfo() { return new Promise(function(resolve, reject) { WeiboJSBridge.invoke("getBrowserInfo", {}, function (params, success, code) { if (success) { // alert("用户信息是:" + JSON.stringify(params)) uid = params.uid resolve(params); } else { if (code == WeiboJSBridge.STATUS_CODE.NO_RESULT) { // do something. reject(params, code); } } }); /*WeiboJSBridge.invoke('getBrowserInfo', {}, { success: function(params) { //compnt.showAlert(JSON.stringify(params)) //compnt.showAlert(params.uid); uid = params.uid resolve(params); }, fail: function(params, code) { reject(params, code); }, final: function(params) { reject(params); } });*/ }) } export function getUserInfo() { return new Promise(function(resolve, reject) { WeiboJSBridge.invoke("getUserInfo", {}, (params, success, code) => { if (success) { // alert("用户信息是:" + JSON.stringify(params)) uid = params.id; screen_name = params.screen_name; resolve(params); } else { if (code == WeiboJSBridge.STATUS_CODE.NO_RESULT) { reject(params, code); } } }); }) } /** * 判断当前客户端版本是否达到指定版本 * @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; };