|
|
@@ -1,5 +1,6 @@
|
|
|
const _Http = getApp().globalData.http;
|
|
|
let count = 0; //接口完成数量
|
|
|
+let hasRedirected = false; // 防止重复跳转
|
|
|
|
|
|
function loginMsg(res) {
|
|
|
wx.setStorageSync('account_list', res.account_list);
|
|
|
@@ -11,23 +12,67 @@ function loginMsg(res) {
|
|
|
});
|
|
|
wx.setStorageSync('userrole', item.usertype == 1 ? '业务员' : '经销商');
|
|
|
wx.setStorageSync('userMsg', item)
|
|
|
- query_userauth();
|
|
|
+
|
|
|
+ // 立即尝试从缓存加载权限数据
|
|
|
+ const cachedAuth = wx.getStorageSync('userauth');
|
|
|
+ const cachedSiteP = wx.getStorageSync('siteP');
|
|
|
+ const cachedBanner = wx.getStorageSync('banner_list');
|
|
|
+
|
|
|
+ // 如果缓存中有全部数据,立即跳转
|
|
|
+ if (cachedAuth && cachedSiteP && cachedBanner) {
|
|
|
+ count = 3; // 设置完成数量
|
|
|
+ toHome();
|
|
|
+
|
|
|
+ // 异步更新所有数据(不影响主流程)
|
|
|
+ Promise.all([
|
|
|
+ query_userauth(true),
|
|
|
+ querySite_Parameter(true),
|
|
|
+ query_adspacelist(true)
|
|
|
+ ]).catch(err => {
|
|
|
+ console.error('异步更新数据失败:', err);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ // 缓存不全,执行原来的同步逻辑
|
|
|
+ console.log('缓存不全,执行同步加载');
|
|
|
+ query_userauth(); // 这个会触发后续的 query_adspacelist 和 querySite_Parameter
|
|
|
+ }
|
|
|
} else {
|
|
|
wx.redirectTo({
|
|
|
url: './selectSite',
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
+
|
|
|
/* 获取用户权限 */
|
|
|
-function query_userauth() {
|
|
|
+function query_userauth(isAsync = false) {
|
|
|
+ // 异步更新逻辑 - 只更新不处理跳转
|
|
|
+ if (isAsync) {
|
|
|
+ return _Http.basic({
|
|
|
+ "classname": "sysmanage.develop.userauth.userauth",
|
|
|
+ "method": "query_userauth",
|
|
|
+ content: {
|
|
|
+ nocache: true
|
|
|
+ }
|
|
|
+ }).then(res => {
|
|
|
+ if (res.msg != '成功') {
|
|
|
+ console.error('权限查询失败:', res.msg);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ wx.setStorageSync('userauth', res.data);
|
|
|
+ console.log('用户权限已异步更新');
|
|
|
+ return res.data;
|
|
|
+ }).catch(err => {
|
|
|
+ console.error('权限查询异常:', err);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ // 原来的同步逻辑(没有缓存时执行)
|
|
|
query_adspacelist();
|
|
|
querySite_Parameter();
|
|
|
wx.setStorageSync('userauth', []);
|
|
|
- _Http.basic({
|
|
|
+
|
|
|
+ return _Http.basic({
|
|
|
"classname": "sysmanage.develop.userauth.userauth",
|
|
|
- // "classname": "sysmanage.develop.userauthforweb.userauth",
|
|
|
"method": "query_userauth",
|
|
|
content: {
|
|
|
nocache: true
|
|
|
@@ -43,9 +88,30 @@ function query_userauth() {
|
|
|
toHome();
|
|
|
});
|
|
|
}
|
|
|
+
|
|
|
/* 查询站点数据 */
|
|
|
-function querySite_Parameter() {
|
|
|
- _Http.basic({
|
|
|
+function querySite_Parameter(isAsync = false) {
|
|
|
+ // 异步更新逻辑
|
|
|
+ if (isAsync) {
|
|
|
+ return _Http.basic({
|
|
|
+ "classname": "webmanage.site.site",
|
|
|
+ "method": "querySite_Parameter",
|
|
|
+ "content": {}
|
|
|
+ }).then(res => {
|
|
|
+ if (res.msg != '成功') {
|
|
|
+ console.error('站点参数查询失败:', res.msg);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ wx.setStorageSync('siteP', res.data);
|
|
|
+ console.log('站点参数已异步更新');
|
|
|
+ return res.data;
|
|
|
+ }).catch(err => {
|
|
|
+ console.error('站点参数查询异常:', err);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ // 原来的同步逻辑
|
|
|
+ return _Http.basic({
|
|
|
"classname": "webmanage.site.site",
|
|
|
"method": "querySite_Parameter",
|
|
|
"content": {}
|
|
|
@@ -57,11 +123,32 @@ function querySite_Parameter() {
|
|
|
wx.setStorageSync('siteP', res.data);
|
|
|
count += 1;
|
|
|
toHome();
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
+
|
|
|
/* 查询轮播图 */
|
|
|
-function query_adspacelist() {
|
|
|
- _Http.basic({
|
|
|
+function query_adspacelist(isAsync = false) {
|
|
|
+ // 异步更新逻辑
|
|
|
+ if (isAsync) {
|
|
|
+ return _Http.basic({
|
|
|
+ "classname": "common.adspace.adspace",
|
|
|
+ "method": "query_adspacelist",
|
|
|
+ "content": {}
|
|
|
+ }).then(res => {
|
|
|
+ if (res.msg != '成功') {
|
|
|
+ console.error('轮播图查询失败:', res.msg);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ wx.setStorageSync('banner_list', res.data);
|
|
|
+ console.log('轮播图已异步更新');
|
|
|
+ return res.data;
|
|
|
+ }).catch(err => {
|
|
|
+ console.error('轮播图查询异常:', err);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ // 原来的同步逻辑
|
|
|
+ return _Http.basic({
|
|
|
"classname": "common.adspace.adspace",
|
|
|
"method": "query_adspacelist",
|
|
|
"content": {}
|
|
|
@@ -73,11 +160,15 @@ function query_adspacelist() {
|
|
|
wx.setStorageSync('banner_list', res.data)
|
|
|
count += 1;
|
|
|
toHome();
|
|
|
- })
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
function toHome() {
|
|
|
+ if (hasRedirected) return; // 防止重复跳转
|
|
|
if (count < 3) return;
|
|
|
+
|
|
|
+ hasRedirected = true;
|
|
|
+ console.log('跳转到首页');
|
|
|
wx.reLaunch({
|
|
|
url: '/pages/index/index'
|
|
|
})
|
|
|
@@ -85,7 +176,9 @@ function toHome() {
|
|
|
wx.setStorageSync('isLeader', wx.getStorageSync('userMsg').usertype == 21)
|
|
|
wx.removeStorageSync('domainrelatedaccounts')
|
|
|
count = 0;
|
|
|
+ hasRedirected = false; // 重置标志,为了下次登录
|
|
|
}
|
|
|
+
|
|
|
/* 站点数据查询 */
|
|
|
module.exports = {
|
|
|
loginMsg,
|