(function(window) {
const baseURL = 'http://192.168.10.213:7620';
const s = {
/**
* 打开win页面
* @param { String } name 页面名称
* @param { String } url 页面相对路径
* @param { JSON } param 页面传参
*/
openWin: (name, url, param = {}) => {
const option = {
name: name,
url: url,
pageParam: param,
slidBackEnabled: false // 禁止ios左滑退出
};
api.openWin(option);
},
/**
* 关闭window
* @param { String } name window名称,不传时关闭当前window
*/
closeWin: name => {
const params = name ? {
name: name
} : {};
api.closeWin(params);
},
/**
* 关闭到指定 window,最上面显示的 window 到指定 name 的 window 间的所有 window 都会被关闭。
* @param { String } name 页面名称
*/
closeToWin: name => {
api.closeToWin({
name: name
});
},
/**
* 打开frame页面
* @param { String } name 页面名称
* @param { String } url 页面相对路径
* @param { JSON } param 页面传参
* @param { JSON } set 其他设置
*/
openFrame: (name, url, param, set) => {
var option = {
name: name,
url: url,
rect: set.rect,
pageParam: param,
bounces: false, // 默认不弹动
reload: false // 默认不刷新
}
if (set.hasOwnProperty('bounces')) {
option.bounces = set.bounces
}
if (set.hasOwnProperty('reload')) {
option.reload = set.reload
}
api.openFrame(option);
},
/**
* 关闭frame
* @param { String } name frame名称,不传时关闭当前frame
*/
closeFrame: name => {
const params = name ? {
name: name
} : {};
api.closeFrame(params);
},
/**
* 数据判空
* @param { Object } value 判断的对象
*/
isEmpty: value => {
if (value == null || value == "" || value == "undefined" || value == undefined || value == "null" || value == "(null)" || value == 'NULL' || typeof(value) == 'undefined' || value == 'none') {
return true;
} else {
value = value + "";
value = value.replace(/\s/g, "");
return value == ""
};
},
/**
* 弹出一个定时自动关闭的提示框
* @param { String } msg 消息内容
*/
toast: msg => {
api.toast({
msg: msg
});
},
/**
* 弹出模态框,常用于消息提示
* @param { String } msg 消息内容
*/
alert: (msg, title = '提示') => {
api.alert({
title: title,
msg: msg
});
},
/**
* loading效果
* @param { String } str 提示文本
*/
loading: str => {
api.showProgress({
title: str,
text: ''
})
},
hideLoading: () => {
api.hideProgress();
},
/**
* 偏好设置
* @param { JSON } data 存储的数据 = { key: value }
*/
setStorage: data => {
for (let key in data) {
api.setPrefs({
key: key,
value: data[key] || ''
});
}
},
/**
* 获取偏好设置值
* @param { String } key
*/
getStorage: key => {
return api.getPrefs({
sync: true,
key: key
})
},
/**
* 删除偏好设置值
* @param { String } key
*/
removeStorage: key => {
api.removePrefs({
key: key
});
},
/**
* 网络请求
* @param { JSON } 请求参数 = { url: 请求路径, loading: 加载文案, method: 请求方式, values: 请求传参, files: 上传文件, timeout: 超时设置, headers: 请求头设置 }
* @return { JSON } 返回请求结果
*/
request: param => {
if (s.isEmpty(param.url)) return false;
if (s.isEmpty(param.loading)) {
s.loading(param.loading)
}
return new Promise((reslove, reject) => {
api.ajax({
url: `${ baseURL }${ param.url }`,
method: param.method || 'post',
data: param.data,
timeout: param.timeout || 20,
headers: Object.assign({
'Content-Type': 'application/json;charset=utf-8'
}, param.headers || {})
}, function(ret, err) {
if (s.isEmpty(param.loading)) {
s.hideLoading()
}
if (ret) {
reslove(ret);
} else {
reject(err);
}
});
})
},
/**
* 时间格式化
* @param { Number } dateTime 时间戳
* @param { String } fmt 格式
* @return { String } 返回整理后的时间格式
*/
timeFormat: (dateTime = null, fmt = 'yyyy-mm-dd') => {
if (!dateTime) dateTime = Number(new Date());
if (dateTime.toString().length == 10) dateTime *= 1000;
let date = new Date(dateTime);
let [y, m, d, hh, mm, ss] = [date.getFullYear(), date.getMonth() + 1, date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds()].map(s.formartNumber)
return fmt.replace('yyyy', y).replace('mm', m).replace('dd', d).replace('hh', hh).replace('mm', mm).replace('ss', ss)
},
/**
* 个位挂0
* @param { Number } n 数字
* @return { String } 补0后返回
*/
formartNumber: n => {
n = n.toString()
return n[1] ? n : '0' + n
}
}
window.$c = s;
})(window)