mirror of
https://gitee.com/java110/WechatOwnerService.git
synced 2026-02-23 13:26:40 +08:00
186 lines
3.8 KiB
JavaScript
186 lines
3.8 KiB
JavaScript
/**
|
|
* 路由处理文件
|
|
*
|
|
* add by 吴学文 QQ 928255095
|
|
*/
|
|
|
|
import url from '../constant/url.js'
|
|
|
|
import {
|
|
debug
|
|
} from '../lib/java110/utils/LogUtil.js'
|
|
|
|
import {
|
|
hasLogin,
|
|
checkSession
|
|
} from '../lib/java110/page/Page.js'
|
|
|
|
|
|
import mapping from '../constant/MappingConstant.js'
|
|
|
|
import {
|
|
getStorageSync,
|
|
getWAppId
|
|
} from '../lib/java110/utils/StorageUtil.js';
|
|
|
|
|
|
import {
|
|
getHcCode
|
|
} from '../api/webView/webViewApi.js';
|
|
|
|
import conf from '../conf/config.js';
|
|
|
|
import {
|
|
getMallCommunityId,
|
|
getMallCommunityName
|
|
} from '@/api/community/communityApi.js';
|
|
|
|
|
|
|
|
export function navigateH5(_url) {
|
|
if (_url.indexOf("http") < 0 && _url.indexOf("https") < 0) {
|
|
_url = conf.mallUrl + '#' + _url;
|
|
}
|
|
let hasQuery = _url.indexOf("?") > 0;
|
|
if (hasQuery) {
|
|
_url = _url + "&hcCommunityId=" + getMallCommunityId();
|
|
} else {
|
|
_url = _url + "?hcCommunityId=" + getMallCommunityId();
|
|
}
|
|
_url = _url + "&hcCommunityName=" + encodeURIComponent(getMallCommunityName() || "");
|
|
_url = _url + "&mallFrom=HC_H5";
|
|
window.location.href = _url;
|
|
};
|
|
export function navigateMP(_url) {
|
|
let hasQuery = _url.indexOf("?") > 0;
|
|
if (hasQuery) {
|
|
_url = _url + "&hcCommunityId=" + getMallCommunityId();
|
|
} else {
|
|
_url = _url + "?hcCommunityId=" + getMallCommunityId();
|
|
}
|
|
_url = _url + "&hcCommunityName=" + encodeURIComponent(getMallCommunityName() || "");
|
|
_url = _url + "&mallFrom=HC_MINI"
|
|
let params = _url.split("?")[1].split("&")
|
|
let obj = {};
|
|
params.map(v => obj[v.split("=")[0]] = v.split("=")[1])
|
|
|
|
uni.navigateToMiniProgram({
|
|
appId: conf.mallMinAppId,
|
|
path: _url, // 不填默认首页
|
|
extraData: obj,
|
|
success(res) {
|
|
// 打开成功
|
|
}
|
|
})
|
|
};
|
|
|
|
|
|
/*
|
|
* 跳转功能封装
|
|
* @param {Object} _param 跳转入参
|
|
*/
|
|
export function navigateTo(_param, callback = () => {}) {
|
|
|
|
//参数中刷入wAppId
|
|
let _url = _param.url;
|
|
let _tempUrl = '';
|
|
let _newUrl = '';
|
|
//url 中强制写入wAppId 每个页面必须带入
|
|
if (_url.indexOf('?') > 0) {
|
|
_newUrl = _url + ('&wAppId=' + getWAppId());
|
|
_tempUrl = _url.substring(0, _url.indexOf('?'))
|
|
} else {
|
|
_newUrl = _url + ('?wAppId=' + getWAppId());
|
|
_tempUrl = _url;
|
|
}
|
|
|
|
if (_tempUrl.startsWith("/")) {
|
|
_tempUrl = _tempUrl.substring(1)
|
|
}
|
|
|
|
if (_url.indexOf('wAppId') < 0) {
|
|
_param.url = _newUrl;
|
|
}
|
|
|
|
//是否需要登录
|
|
let noLoginFlag = false;
|
|
url.NEED_NOT_LOGIN_PAGE.forEach(item => {
|
|
if (item == _tempUrl) {
|
|
console.log('item=>', item, _tempUrl)
|
|
uni.navigateTo(_param);
|
|
noLoginFlag = true;
|
|
}
|
|
});
|
|
if (noLoginFlag) {
|
|
return;
|
|
}
|
|
debug('vcRoute', 'navigateTo', _param);
|
|
uni.navigateTo(_param);
|
|
//校验是否登录,如果没有登录跳转至温馨提示页面
|
|
// checkSession(_param.url, function() {
|
|
// //有回话 跳转至相应页面
|
|
// uni.navigateTo(_param);
|
|
// })
|
|
};
|
|
|
|
/*
|
|
* 跳转功能封装
|
|
* @param {Object} _param 跳转入参
|
|
*/
|
|
export function navigateToMall(_param) {
|
|
//参数中刷入wAppId
|
|
|
|
let _url = _param.url;
|
|
uni.setStorageSync(mapping.HC_MALL_CUR_URL, _url);
|
|
|
|
//判断有没有登录
|
|
if (!hasLogin()) { //没有登录直接跳转
|
|
// #ifdef H5
|
|
navigateH5(_url)
|
|
// #endif
|
|
|
|
// #ifdef MP-WEIXIN
|
|
navigateMP(_url)
|
|
// #endif
|
|
// #ifdef APP-PLUS
|
|
uni.navigateTo({
|
|
url: '/pages/hcWebView/hcWebView?wAppId=' + getWAppId()
|
|
});
|
|
// #endif
|
|
return;
|
|
}
|
|
|
|
getHcCode().then(_data => {
|
|
if (_url.indexOf("?") > 0) {
|
|
_url = _url + "&hcCode=" + _data.hcCode;
|
|
} else {
|
|
_url = _url + "?hcCode=" + _data.hcCode;
|
|
}
|
|
uni.setStorageSync(mapping.HC_MALL_CUR_URL, _url);
|
|
// #ifdef H5
|
|
navigateH5(_url)
|
|
// #endif
|
|
|
|
// #ifdef MP-WEIXIN
|
|
navigateMP(_url)
|
|
// #endif
|
|
// #ifdef APP-PLUS
|
|
uni.navigateTo({
|
|
url: '/pages/hcWebView/hcWebView?wAppId=' + getWAppId()
|
|
});
|
|
// #endif
|
|
})
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
* 返回上层页面
|
|
*/
|
|
export function navigateBack() {
|
|
uni.navigateBack({
|
|
delta: 1
|
|
});
|
|
}
|