uniapp方法封装

 根据项目需要,封装

对应IP地址,存储、获取账套的方法;

uniapp请求方法,根据不同形式的请求地址封装的方法;

uniapp比较版本号大小,返回值的方法。

const APP = function() {
	return {
		LoginIP: function() { // 切换账套用的IP
			return 'xxxxxxx:xxx'
		},
		/**
		 * 获取协议类型 http:// 或 https://
		 */
		IPAgreement: function(data) {
			if (data) {
				return uni.setStorageSync('IPAgreement', data);
			} else {
				return uni.getStorageSync('IPAgreement');
			}
		},
		UserInfo: function(data) {
			if (data) {
				return uni.setStorageSync('UserInfo', data);
			} else {
				return uni.getStorageSync('UserInfo');
			}
		},
		serverIP: function(ip) { // 账套对应的 IP 地址
			if (ip) {
				return uni.setStorageSync('serverIP', ip);
			} else {
				return uni.getStorageSync('serverIP');
			}
		},
		/**
		 * @param cmd 	接口名
		 * @param parm 	参数
		 * @param successCallback 	成功的回调
		 * @param errorCallback 	失败的回调
		 * @param IP 	IP地址(传入则使用传入的IP地址,不传则使用存储的IP地址)
		 * @param data 	区分走哪个  1 -- '?cmdname='; 2 --'?cmd=' ; 不传 -- 无 
		 */
		request: function(cmd, parm, successCallback, errorCallback, IP, data) {
			var url = ''
			if (IP) {
				if (data == 1) {
					url = IP + '?cmdname=' + cmd;
				} else if (data == 2) {
					url = IP + '?cmd=' + cmd;
				} else {
					url = IP
				}
			} else {
				url = APP.IPAgreement() + APP.serverIP() + '/Frame/SqlData?cmdname=' + cmd;
			}

			console.log(url)
			uni.request({
				url: url,
				data: parm,
				// method: 'POST',
				success: (ret) => {
					console.log(ret)
					if (ret) {
						if (ret.data.status == 200) {
							if (successCallback) successCallback(ret.data);
						} else {
							// alert(cmd + '\n' + APP.serverIP() + '\n' + '错误代码1:' + '\n' + JSON
							// 	.stringify(ret));
							if (errorCallback) errorCallback(ret.data);
							console.log(JSON.stringify(ret))
						}
					} else {
						if (errorCallback) {
							errorCallback(err);
						} else {
							console.log(JSON.stringify(err))
							// alert(cmd + '\n' + APP.serverIP() + '\n' + '错误代码2:' + '\n' + JSON
							// 	.stringify(err));
						}
					}
				}
			});
		},
		/** 比较版本号 
		 * 返回值: 0 高于服务器版本; 1 与服务器版本一致; 2 低于服务器版本;
		 * @param {String} OldV 从服务器获取的版本号 
		 * @param {String} NewV 从本机获取的版本号 
		 */
		versionFn: function(NewV, OldV) {
			var curV = NewV,
				reqV = OldV,
				curArr = curV.split('.'),
				reqArr = reqV.split('.'),
				maxL = Math.max(curArr.length, reqArr.length),
				index = 0,
				diff = 0;

			if (reqArr.length != maxL) {
				reqArr.push("0");
			}

			while (index < maxL) {
				diff = parseInt(curArr[index]) > parseInt(reqArr[index]) ? 1 : (parseInt(curArr[index]) ==
					parseInt(
						reqArr[index]) ? 0 : -1);
				if (diff != 0) {
					break;
				}
				index++;
			}

			if (diff > 0) {
				return 2
			} else if (diff == 0) {
				return 1
			} else {
				return 0
			}
		}
	}
}()
export default APP

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值