APICloud之个人常用commonJs封装

(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)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值