根据项目需要,封装
对应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