//1-,判断当前用户微信版本,半段是否用最新版本的方式获取用户信息
const version = uni.getSystemInfoSync().SDKVersion;
if (util.compareVersion(version, '2.10.4') >= 0) {
this.isCanUseProfile = true;
} else {
this.isCanUseProfile = false;
}
util.js中封装的写法
/**比较版本号
* @param {Object} v1 当前版本
* @param {Object} v2 要求的版本
*/
compareVersion(v1, v2) {
v1 = v1.split('.')
v2 = v2.split('.')
const len = Math.max(v1.length, v2.length)
while (v1.length < len) {
v1.push('0')
}
while (v2.length < len) {
v2.push('0')
}
for (let i = 0; i < len; i++) {
const num1 = parseInt(v1[i])
const num2 = parseInt(v2[i])
if (num1 > num2) {
return 1
} else if (num1 < num2) {
return -1
}
}
return 0
},
//2-.获取是否存在账户密码缓存 进行自动填充
storage.getStorage(config.accountCacheKey, data => {
this.account = data.account;
this.password = data.password;
})
// storage.js中的书写
/**获取缓存 --异步
*@param {Object} key 要获取的缓存key
* @param {Object} success 获取成功的回调
* @param {Object} fail 获取失败的回调
**/
storage.getStorage = function(key, success, fail) {
uni.getStorage({
key: key,
success: function(res) {
success(res.data);
},
fail: function(err) {
if (fail) {
fail(err);
}
}
});
}
/**移除某项缓存--异步
* @param {Object} key 对应的key值
* @param {Object} success
* @param {Object} fail
*/
storage.removeStorage = function(key, success, fail) {
uni.removeStorage({
key: key,
success: function(res) {
if (success) {
success();
}
},
fail: function(res) {
if (fail) {
fail();
}
}
});
}
//3-,缓存登陆标识
setLoginCache(result) {
let storageData = {
LoginSign: result.loginSign,
timeOut: result.timeOut
};
//缓存登陆数据封装见上
storage.setStorage(config.loginCacheKey, storageData, function() {
getApp().globalData.isLogin = config.logined;
//关闭所有界面,打开首页
util.showModal("提示", "登录成功", function() {
uni.reLaunch({
url: '/pages/index/index',
})
})
})
}
// 显示提示 utils.js
showModal: (title, content, confirm) => {
uni.showModal({
title: title,
content: content,
showCancel: false,
success: function(res) {
if (res.confirm) {
if (confirm) {
confirm();
}
}
}
})
},