import config from '@/config/index';
import cubeModule from '_public/CubeModule.json';
const _MIDEA_COMMON = 'MideaCommon'; // 通用组件
const _MIDEA_USER = 'MideaUser'; // 用户信息相关
const _MIDEA_BARCODE = 'MideaBarcode'; // 二维码扫描相关
const _MIDEA_MAP = 'MideaMap'; // 地图定位相关
const _MIDEA_PDF = 'MideaPdf'; // 附近展示相关
const _MIDEA_ORG = 'Organization'; // 组织架构相关 const agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
export default {
/**
* 获取设备平台
* @returns {number} 2-安卓,1-IOS,0-未知
*/
getPlatForm() {
const u = navigator.userAgent;
const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; // android终端
const isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); // ios终端
let flatform = isAndroid ? 2 : isiOS ? 1 : 0;
return flatform;
},
// 判断是不是T信移动客户端
isTLinkMobile() {
const userAgent = navigator.userAgent;
//T信环境
let isTLinkClient = userAgent.includes("teamwork");
//是否PC环境
let IsPC = true;
for (let v = 0; v < agents.length; v++) {
if (userAgent.includes(agents[v])) {
IsPC = false;
break;
}
}
return !IsPC && isTLinkClient;
},
// 判断是不是T信PC端
isTLinkPC() {
const userAgent = navigator.userAgent;
let IsPC = true;
for (let v = 0; v < agents.length; v++) {
if (userAgent.includes(agents[v])) {
IsPC = false;
break;
}
}
let isTLinkClient = userAgent.includes("teamwork");
return IsPC && isTLinkClient;
},
/**
* 调用cordova的方法
* @param name {string} 方法组、类别
* @param method {string} 方法名称
* @param params {Array} 参数
* @return {promise}
*/
callApi(name, method, params) {
var promise = new Promise((resolve, reject) => {
if (window.cordova) {
try {
window.cordova.exec((msg) => {
resolve(msg);
}, (msg) => {
reject(msg)
}, name, method, params || [])
} catch (e) {
console.log('_error', 'widget error:', e);
reject(e);
}
} else {
console.log('_debug', 'Cordova is not exist');
}
});
return promise;
},
// 3.复制 参数 [copy内容]
copy(param = []) {
return this.callApi(_MIDEA_COMMON, 'copy', param).then((message) => {
//成功
});
},
// 4.粘贴 参数 []
paste(param = []) {
return this.callApi(_MIDEA_COMMON, 'paste', param).then((message) => {
//成功
});
},
/**
* 验证密码,主要用于hr自助认证
*/
password() {
return this.callApi(_MIDEA_COMMON, 'authPassword').then((message) => {
if (message === 0) {
this.password();
} else if (message === -1) {
this.exit();
}
})
},
/**
* 显示菜单
*/
showMenu: function () {
return this.callApi(_MIDEA_COMMON, 'showMenu', null);
},
/**
* 显示导航
*/
showNav: function () {
return this.callApi(_MIDEA_COMMON, 'showNav', null);
},
/**
* 隐藏导航
*/
hideNav: function () {
return this.callApi(_MIDEA_COMMON, 'hideNav', null)
},
/**
* 退出应用
*/
exit: function () {
return this.callApi(_MIDEA_COMMON, 'exit', null)
},
/**
* 后退
*/
goBack: function () {
return this.callApi(_MIDEA_COMMON, 'goBack', null)
},
/**
* 开始监听手机摇动
*/
shake: function () {
return this.callApi(_MIDEA_COMMON, 'shake', null);
},
/**
* 停止监听手机摇动
*/
shakeStop: function () {
return this.callApi(_MIDEA_COMMON, 'shakeStop', null);
},
/**
* 显示悬浮菜单
*/
showFloat: function () {
return this.callApi(_MIDEA_COMMON, 'showFloat', null);
},
/**
* 隐藏悬浮菜单
*/
hideFloat: function () {
return this.callApi(_MIDEA_COMMON, 'hideFloat', null);
},
/**
* 获取当前语言
*/
language: function () {
if (config.env === 'local') {
return new Promise((resolve, reject) => {
resolve({ language: config.language });
})
} else {
return this.callApi(_MIDEA_COMMON, 'language', []);
}
},
/**
* 获取用户信息
*/
getUser: function () {
if (config.env.includes('local')) {
return config.developer;
} else {
return this.callApi(_MIDEA_USER, 'getUser', []);
}
},
/**
* 跳转到用户详情
*/
showUser: function (params) {
return config.env === 'local' ? config.developer : this.callApi(_MIDEA_USER, 'vcard', params);
},
/**
* 58.搜索用户 参数 [type搜索类型0-部门1-职位2-邮箱]
*/
search: function (p = []) {
return this.callApi(_MIDEA_BARCODE, 'search', p);
},
/**
* 获取邮箱SID 参数 []
*/
mailSid: function (p = []) {
return this.callApi(_MIDEA_BARCODE, 'mailSid', p);
},
/**
* 启动扫码
*/
scan: function () {
return this.callApi(_MIDEA_BARCODE, 'scan', null);
},
/**
* 启动扫码
*/
scanNow: function () {
return this.callApi(_MIDEA_BARCODE, 'scanNow', null);
},
/**
* 获取扫码结果
*/
getScanExtra: function () {
return this.callApi(_MIDEA_BARCODE, 'getScanExtra', null);
},
/**
* 获取位置信息
* @param arr {array} 参数
*/
location: function (arr) {
return this.callApi(_MIDEA_MAP, 'location', arr);
},
/** * 62.获取地图定位 参数 [] */
mapLocation: function (arr) {
return this.callApi(_MIDEA_MAP, 'mapLocation', arr);
}, /**
* 66.高德开启持续定位 参数 [持续定位更新最小时间间隔,单位毫秒(可选-2000)]
* @param arr {array} 参数
*/
startUpdatingLocation: function (arr) {
return this.callApi(_MIDEA_MAP, 'startUpdatingLocation', arr);
},
/**
* 停止更新位置信息
*/
stopUpdatingLocation: function () {
return this.callApi(_MIDEA_MAP, 'stopUpdatingLocation', null);
},
/**
* 68.修改导航标题 参数 ['标题'(必传)]
*/
modifyNativeTitle: function () {
return this.callApi(_MIDEA_MAP, 'modifyNativeTitle', null);
},
/**
* 导航
* @param arr {array} 参数
*/
navigation: function (arr) {
return this.callApi(_MIDEA_MAP, 'navTo', arr);
},
/**
* 64.从某地导航至某地 参数 [latitude目的地纬度(必传),longitude目的地经度(必传),from_latitude出发地纬度(必传),from_longitude出发地经度
*/
navToWithFrom: function (arr) {
return this.callApi(_MIDEA_MAP, 'navToWithFrom', arr);
},
/**
* 65.获取高德地图单次定位 参数 [(数据类型int,返回坐标系类型,0-默认、1-Baidu、2-MapBar、3-ABC、4-SoSoMap、5-AliYun、6-Google、7-GPS,不建议传值(可选)),(数据类型String,Best高精度,HundredMeters中等精度,精度越高,获取速度越慢(可选))]
*/
amapLocation: function (arr) {
return this.callApi(_MIDEA_MAP, 'amapLocation', arr);
},
/**
* 拍照或选择图片
* @param params {object} 参数
* @return {*}
*/
getPicture: function (params) {
// return promise
const imgPackageHeader = 'data:image/jpeg;base64,'
const imgDefaultBase64Code = '/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABQAAD/4QMpaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjAtYzA2MCA2MS4xMzQ3NzcsIDIwMTAvMDIvMTItMTc6MzI6MDAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgV2luZG93cyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDozMzM5RDY2ODMyNzQxMUU1QTJENkEwOTg5MjdGQTczNiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDozMzM5RDY2OTMyNzQxMUU1QTJENkEwOTg5MjdGQTczNiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjMzMzlENjY2MzI3NDExRTVBMkQ2QTA5ODkyN0ZBNzM2IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjMzMzlENjY3MzI3NDExRTVBMkQ2QTA5ODkyN0ZBNzM2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+/+4ADkFkb2JlAGTAAAAAAf/bAIQAAgICAgICAgICAgMCAgIDBAMCAgMEBQQEBAQEBQYFBQUFBQUGBgcHCAcHBgkJCgoJCQwMDAwMDAwMDAwMDAwMDAEDAwMFBAUJBgYJDQsJCw0PDg4ODg8PDAwMDAwPDwwMDAwMDA8MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAEAAQAwERAAIRAQMRAf/EAG8AAAMBAAAAAAAAAAAAAAAAAAQFBggBAAIDAAAAAAAAAAAAAAAAAAMEBQcIEAABBAEDBAMAAAAAAAAAAAABAgMEBQYAERIhMUEHYSIUEQACAgAGAgMBAAAAAAAAAAABAhEDACFREgQFMUFhoRQi/9oADAMBAAIRAxEAPwDWfripp7WwyFy7q13MWmoZtmzXIecYLr0ct8U82vsN+RGq06+pHZt67gqkxMZiNMaH73k3U11ip9hexV3QDAafRywd7BxuorKfDchrKaXjLmTtTVS8cmPl9TP5HUIQ8hTiUOcHgokch46EjronP46IldiqV3T/ACTMQfOsH5wHpOfdddfRY62CsrDqIncCSDBIlYzjXPCbBMsGHy76ehyUxNn0kuvq5UTYLZlPFBbcKipJSElPUjc/Gg8LlfnZmzkqQI9E4a7jrf3pWhAKrYrMD4KiZHg64mLW4tr2WqfdWcq1mrASqVLdW85xHZIUskgDwOw0tbc9rbnJJ+c8SHG4tXGTZUgVdAAB9Y//2Q==' if (config.env === 'local') { // 本地调试
return new Promise((resolve, reject) => {
resolve({
base64Code: imgDefaultBase64Code,
base64Url: imgPackageHeader + imgDefaultBase64Code
});
})
} else { // 测试或者生产环境
let opt = {
quality: params.quality || 50,
destinationType: params.destinationType || 0,
allowEdit: params.allowEdit || false,
encodingType: params.encodingType || 0,
saveToPhotoAlbum: params.saveToPhotoAlbum || false,
sourceType: params.sourceType || 0,
mediaType: params.mediaType || 0,
correctOrientation: params.correctOrientation || true,
cameraDirection: params.cameraDirection || 0
}
if (params.sourceType == 0) {
return new Promise(async (resolve, reject) => {
try {
const res = await this.callApi(_MIDEA_COMMON, 'getPicture', ['1', '0']);
return resolve({
base64Code: res[0],
base64Url: imgPackageHeader + res[0]
});
} catch (e) {
console.log('_warn', 'Cordova maybe not exist.')
reject(e)
};
});
} else {
return new Promise((resolve, reject) => {
try {
navigator.camera.getPicture(
async (data) => {
let base64Url = imgPackageHeader + data;
if (data.indexOf("file://") > -1) { //安卓拍照
const obj = await this.callApi('MideaCommon', 'getBase64s', [data]);
base64Url = imgPackageHeader + obj.base64[0];
// Indicator.close()
resolve({
base64Code: data,
base64Url: base64Url
});
} else {
resolve({
base64Code: data,
base64Url: base64Url
});
}
},
(data) => {
Indicator.close();
reject(data);
}, opt)
} catch (e) {
console.log('_warn', 'Cordova maybe not exist.');
reject(e);
}
})
}
}
},
/**
* 获取通讯录
* @param fields {string} 查找内容
* @param options {array} 参数
* @return {*}
*/
getContact: function (fields, options) {
var promise = new Promise((resolve, reject) => {
try {
navigator.service.contacts.find(fields,
function (msg) { resolve(msg) },
function (msg) { reject(msg) }, options)
} catch (e) {
console.log('_warn', 'Cordova maybe not exist.');
reject(e);
}
});
return promise;
},
/**
* 组织架构单选
*/
orgChoose: function () {
return this.callApi(_MIDEA_USER, 'orgChoose', null);
},
/**
* 组织架构多选
* @param p {array} 参数
*/
orgMuChoose: function (p) {
return this.callApi(_MIDEA_USER, 'orgMuChoose', p);
},
/**
* 56.部门选择 参数 ['orgidString_1','orgidString_2','orgidString_3',...]
*/
departmentChoose: function (p = []) {
return this.callApi(_MIDEA_USER, 'departmentChoose', p);
},
/**
* 根据组织id获取组织内容
* @param p {array} 参数
* {
"withChild": true,
"withUser": true,
"departId": orgId
}
*/
fetchDepart: function (p) {
return this.callApi(_MIDEA_ORG, 'fetchDepart', p);
},
/**
* 改变状态栏颜色-仅IOS
* @param p {array} 参数 [r, g, b]
*/
changeColor: function (p) {
return this.callApi(_MIDEA_COMMON, 'statusBarColor', p);
},
/**
* 登出,注销用户
*/
logout: function () {
return this.callApi(_MIDEA_COMMON, 'logout', null);
},
/**
* 获取webview信息
*/
webview: function () {
return this.callApi(_MIDEA_COMMON, 'webview', null);
},
/**
* 获取屏幕信息
*/
screen: function () {
return this.callApi(_MIDEA_COMMON, 'screen', null);
},
/**
* 获取额外启动参数
* @param params {array} 参数
*/
getExtra: function (params) {
return this.callApi(_MIDEA_COMMON, 'getExtra', params || [cubeModule.identify])
},
/**
* 获取设备信息
*/
getDeviceInfo: function () {
return this.callApi(_MIDEA_COMMON, 'getDeviceInfo', null);
},
/**
* 19.开启手机横竖屏 参数 [0表示关闭,1表示开启,2表示横竖屏都支持,3表示竖屏]
*/
orientation: function (param = []) {
return this.callApi(_MIDEA_COMMON, 'orientation', param);
},
/**
* 52.设置手机横竖屏 参数 [0或者1(0竖屏,1横屏 必传)]
*/
setScreenOrientation: function (param = []) {
return this.callApi(_MIDEA_COMMON, 'setScreenOrientation', param);
},
/**
* 用外部浏览器打开链接
* @param url {string} 链接地址url
*/
openUrl: function (url) {
return this.callApi(_MIDEA_COMMON, 'openSysBrowser', [url]);
},
/**
* 21.检测应用是否安装 参数 [程序包名]
*/
apk: function (param = []) {
return this.callApi(_MIDEA_COMMON, 'apk', param);
},
/**
* 22.启动指定原生APP 参数 [参数1:包名的id 参数2:该包名的appkey 用户传输密码密文]
*/
startApp: function (param = []) {
return this.callApi(_MIDEA_COMMON, 'startApp', param);
},
/**
* h5事件监听 Bugly设置关键数据 参数 [{"key":"key","value":"value"}]
* @param params {array} 参数
*/
statistics: function (params) {
return this.callApi(_MIDEA_COMMON, 'onEvent', params);
},
/**
* 36.调用银联 参数 [订单信息]
*/
callUpPay: function (params) {
return this.callApi(_MIDEA_COMMON, 'callUpPay', params);
},
/**
* 37.获取当前H5轻应用信息 参数 []
*/
appLogInfo: function (params) {
return this.callApi(_MIDEA_COMMON, 'appLogInfo', params);
},
/**
* 38.切换H5轻应用 参数 [pluginId(切换的目标H5标识)]
*/
openApp: function (params) {
return this.callApi(_MIDEA_COMMON, 'openApp', params);
},
/**
* 39.打开在线文件 参数 [fileUrl文件地址(必传),title文件标题(可选)]
*/
previewFile: function (params) {
return this.callApi(_MIDEA_COMMON, 'previewFile', params);
},
/**
* 分享
* @param params {array} 参数
*/
share: function (params) {
return this.callApi(_MIDEA_COMMON, 'share', params);
},
/**
* 50.分享选择器 参数 [{title: '测试',subTitle: '',action: 'openH5',widgetId: '', widgetExtra: '',imageUrl: '',actionType: 1,shareRange: 2,url:''}]
*/
showShare: function (param = []) {
return this.callApi(_MIDEA_COMMON, 'showShare', param);
},
/**
* 51.跳转指定用户单聊页面 参数 [uid 用户UID(必传),name 昵称(可选,默认取用户详情名字)]
*/
chatMessage: function (param = []) {
return this.callApi(_MIDEA_COMMON, 'chatMessage', param);
},
/**
* 打开应用页面
*/
showAppView: function () {
return this.callApi(_MIDEA_COMMON, 'showAppView', ['messageView']);
},
/**
* 打开时间日期选择
* @param params {array} 参数
* @return {*}
*/
showPicker: function (params) {
var promise = new Promise((resolve, reject) => {
if (window.datePicker) {
params = Object.assign({
date: new Date(),
mode: 'date',
type: 'day'
}, params); window.datePicker && window.datePicker.show(params, function (date) {
resolve(date);
})
} else {
console.log('_debug', 'datePicker is not exist')
}
});
return promise;
},
/**
* 打开通讯录
*/
getPhoneMan: function () {
return this.callApi(_MIDEA_USER, 'getContact', null);
},
/**
* 打开个人设置页面
*/
goPersonalSet: function () {
return this.callApi(_MIDEA_COMMON, 'showSetView', null);
},
/**
* 打开“我的”页面
*/
goMyView: function () {
return this.callApi(_MIDEA_COMMON, 'showMyView', null);
},
/**
* 打开widget
* @param params {array} 参数
*/
showWidget: function (params) {
return this.callApi(_MIDEA_COMMON, 'showWidget', params);
},
/**
* 显示键盘
*/
showInput: function () {
return this.callApi(_MIDEA_COMMON, 'showInput', null);
},
/**
* 隐藏键盘
* @return {*|promise}
*/
hideInput: function () {
return this.callApi(_MIDEA_COMMON, 'hideInput', null);
},
/**
* 打开消息页面
*/
showMessageView: function () {
return this.callApi(_MIDEA_COMMON, 'showAppView', ['messageView']);
},
/**
* 批量将图片转换成base64码
* @param pictureList {array} 图片列表
*/
getBase64CodeFromPictures: function (pictureList) {
return this.callApi(_MIDEA_COMMON, 'getBase64s', pictureList);
},
/**
* 跳转到系统设置页面,
* @param arr arr[0]为要跳转的对应的设置页面,暂时支持 蜂窝网络:CellularNetWork,WIFI:WIFI
* @returns {*}
*/
gotoSystemSetting: function (arr) {
return this.callApi(_MIDEA_COMMON, 'gotoSystemSetting', arr);
},
/**
* 附件展示
* @param param {array} 附件链接url列表
*/
showPdf: function (param) {
return this.callApi(_MIDEA_PDF, 'showPdf', param);
},
/**
* 附件txt展示
* @param param {array} 参数
*/
showTxt: function (param) {
return this.callApi(_MIDEA_PDF, 'showTxt', param);
},
/**
* @description 获取底座密码
*/
getUserPassword: function () {
return this.callApi(_MIDEA_USER, 'getUserPassword', []);
},
/**
* @description 打电话(底座有bug)
* @param phoneNumber {string}
*/
callPhone: function (phoneNumber) {
return this.callApi(_MIDEA_COMMON, 'callPhone', [phoneNumber]);
},
/**
* 是否禁用webview橡皮筋效果
* @param params params '1': 启用 '0': 禁止
* @returns {*}
*/
setBounces(params) {
return this.callApi(_MIDEA_COMMON, 'setBounces', [params]);
},
/**
* 41.发送卡片消息 参数 [uid发送目标uid(必传),content发送内容(必传),title卡片消息标题(必传),description卡片消息摘要(必传),icon卡片消息icon url(必传)]
*/
sendCardMessage(param = []) {
return this.callApi(_MIDEA_COMMON, 'sendCardMessage', param);
},
/**
* 42.添加T信隐形水印 参数 [图片base64字符串(),水印文字()]
*/
addTChatWaterMask(param = []) {
return this.callApi(_MIDEA_COMMON, 'addTChatWaterMask', param);
},
/**
* 43.预览多张图片 参数 [[{"type":"0-在线url,1-base64","data":"base64或者在线url"}](必传),参数数组顺序1,选择首张预览位置(可传)]
*/
previewPicture(param = []) {
return this.callApi(_MIDEA_COMMON, 'previewPicture', param);
},
/**
* 44.播放在线视频 参数 [视频地址url]
*/
playVideo(param = []) {
return this.callApi(_MIDEA_COMMON, 'playVideo', param);
},
/**
* 45.录制视频 参数 [time录制视频最大长度(可选)]
*/
videoRecord(param = []) {
return this.callApi(_MIDEA_COMMON, 'videoRecord', param);
},
/**
* 46.获取是否为根目录 参数 []
*/
isRootNativePage(param = []) {
return this.callApi(_MIDEA_COMMON, 'isRootNativePage', param);
},
/**
* 47.上传文件 参数 [{"url":"指定上传路径地址","files":"['本地文件路径']"}(必传)]
*/
upload(param = []) {
return this.callApi(_MIDEA_COMMON, 'upload', param);
},
/**
* 打开外链url
* @param url {string} 链接地址url
*/
neiOpenUrl: function (url) {
return this.callApi(_MIDEA_COMMON, 'openUrl', [url]);
},
/**
* 26.修改底座导航条标题 参数 [标题文字]
*/
showTitle: function (pram = []) {
return this.callApi(_MIDEA_COMMON, 'showTitle', pram);
},
/**
* 27.自定义导航栏右侧按钮 参数 [文字标题(必传(无文字的传空字符串)),触发事件调起的JS函数名(必传),icon样式 1-搜索,2-我的,3-删除,4-筛选,5-编辑,6-关闭,7-自定义icon(必传),自定义icon base64(可选)]
*/
showRightButton: function (pram = []) {
return this.callApi(_MIDEA_COMMON, 'showRightButton', pram);
},
/**
* 28.上报埋点信息至T信后台服务器 参数 [插件ID(必传),page页面参数(必传),func函数名参数(必传),res参数 0-成功,其他-失败Code(可选),msg备注信息(可选),url查询邮件列表则填写url,本地操作未空(可选)]
*/
recordPlugin: function (pram = []) {
return this.callApi(_MIDEA_COMMON, 'recordPlugin', pram);
},
/**
* 29.PDF浏览 参数 [PDF在线地址URL]
*/
readPDF: function (pram = []) {
return this.callApi(_MIDEA_COMMON, 'readPDF', pram);
},
/**
* 30.设置会话过期 参数 []
*/
sessionout: function (pram = []) {
return this.callApi(_MIDEA_COMMON, 'sessionout', pram);
},
/**
* 31.发送手机短信 参数 [手机号码,短信内容]
*/
sendSms: function (pram = []) {
return this.callApi(_MIDEA_COMMON, 'sendSms', pram);
},
/**
* 32.关闭原生返回功能(仅iOS) 参数 []
*/
closeSlideOut: function (pram = []) {
return this.callApi(_MIDEA_COMMON, 'closeSlideOut', pram);
},
/**
* 33.显示\隐藏水印 参数 [显示标识(0-显示1-隐藏)]
*/
waterMarkManage: function (pram = []) {
return this.callApi(_MIDEA_COMMON, 'waterMarkManage', pram);
},
/**
* 34.获取原生用户配置信息 参数 [配置表key值]
*/
getId: function (pram = []) {
return this.callApi(_MIDEA_COMMON, 'getId', pram);
},
/**
* 判断安卓、ios
* @param
* @returns true:false
*/
isAndroid() {
let u = navigator.userAgent;
return u.indexOf('Android') > -1 || u.indexOf('Adr') > -1;
},
isIOS() {
let u = navigator.userAgent;
return !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/);
},
saveToGallery(url) {
return this.callApi(_MIDEA_COMMON, 'saveToGallery', [url]);
},
// 49.电子定制接口-取消WebView栈顶通知(仅iOS) 参数 []
closeMoniterViewAppear(param = []) {
return this.callApi(_MIDEA_COMMON, 'closeMoniterViewAppear', param);
},
/*
**
** 从其他 应用中返回 调用 传入的fun方法
** @param fun { Function } 回调方法
** 48.电子定制接口-WebView栈顶通知(仅iOS) 参数 []
*/
viweAppear(fun) {
if (this.isIOS) {
window.setTimeout(function () {
var promise = new Promise((resolve, reject) => {
if (window.cordova) {
try {
window.cordova.exec((msg) => {
fun();
this.viweAppear(fun);
resolve(msg);
}, (msg) => {
reject(msg);
}, 'MideaCommon', 'moniterViewAppear', null)
} catch (e) {
console.log('_error', 'widget error:', e);
reject(e);
}
} else {
console.log('_debug', 'Cordova is not exist');
}
})
}, 1000);
}
if (this.isAndroid) {
try {
document.addEventListener('resume', function () {
fun();
}, false);
} catch (e) {
console.log('not exist');
}
}
}
}

  

最新文章

  1. PHP判断变量是否存在及函数isset() 、empty()与is_null的区别
  2. radio值未出现JQ获取值问题
  3. oracle基础备份和还原
  4. Android Studio开发基础之自定义View组件
  5. Javascript 中的 &amp;&amp; 和 || 使用小结
  6. 实现Foreach遍历
  7. EMV卡复位应答的时间特性 ---ISO7816协议
  8. 如何将EXCEL表导入MYSQL
  9. strategy pattern
  10. C# 中判断字符串是不是汉字
  11. think in uml 1
  12. CodeForces 617A Elephant
  13. css 蒙层
  14. Codeforces Round #529 (Div. 3) D. Circular Dance
  15. linux (centOS)安装 oracle 11g 以及卸载oracle
  16. M2事后总结
  17. Robot Framework 教程 (7) - 使用For循环
  18. Jenkins Pipeline+sonar构建质量平台
  19. Zabbix高可用
  20. java web 资源文件读取

热门文章

  1. SSH SCP 使用秘钥验证 登录
  2. mysql不需要密码,乱输入密码就能进去。。。。解决
  3. nc传输文件结束后不退出
  4. 关于linux配置java环境变量问题
  5. 【每日一题】【判断栈是否为空的方法】2022年1月9日-NC76 用两个栈实现队列的出队入队【入队简单】
  6. 使用Java刷评论为平台引流的经历
  7. WPF中的“资源”
  8. 连表操作join 子查询 SQL补充 数据库软件navicat pymysql模块
  9. BOM与DOM之BOM操作
  10. React报错之Element type is invalid