自定义封装链接跳转
link 链接
type 链接类型 空 未指定 uniapp 原生链接 h5 即h5链接
needToken 是否需要登陆token true要 false不要
routeType 路由类型 1:默认navigateTo 2:redirectTo 代码如下
/**
* 自定义装修模板链接跳转
* link 链接
* type 链接类型 空 未指定 uniapp 原生链接 h5 即h5链接
* needToken 是否需要登陆token true要 false不要
* routeType 路由类型 1:默认navigateTo 2:redirectTo
*/
function diyLinkJump(link,type="",needToken=true,routeType=1){
console.log(link,type,needToken,routeType,'跳转路径')
var has_xd = -1;
if(link == ""){
return false;
}
if(type == ""){
if((link.indexOf('m=') != -1 && link.indexOf('a=') != -1) || link.indexOf('http') == 0){
type = "h5";
}else{
type = "uniapp";
}
}
if(type == "uniapp"){
if(routeType == 2){
uni.redirectTo({
url: link
});
}else{
uni.navigateTo({
url: link
});
}
}else if(type == "h5"){
if(link.indexOf('http') == 0){
//设置webview的链接
uni.setStorageSync("weburl", link)
full_link = "/pages/webview/webview";
}else{
var jing_url = "";
var jing = link.indexOf('#');
if(jing >=0 ){
//带#的链接
jing_url = link.slice(jing)
link = link.slice(0,jing)
}
var full_link = link + '&user_agent=third_program_h5&request_mode=fortune_app&customer_id='+Store.state.vuex_customer_id;
if (needToken == true) {
if(Store.state.vuex_user.token == ""){
var pages = getCurrentPages();
let currentPage = pages[pages.length-1]['$page']['fullPath'] //当前页面路径(带参数)
if(currentPage.charAt(0) != "/"){
currentPage = "/" + currentPage;
}
uni.showModal({
title: '提示',
content: "请先登陆",
confirmText: '登录',
success: function(res) {
if (res.confirm) {
uni.redirectTo({
url: '/public/pages/user/login?back_route='+currentPage
})
} else if (res.cancel) {}
}
});
return false;
}else{
full_link = full_link + '&third_token='+Store.state.vuex_user.token;
}
}
if(jing >=0 ){
full_link = full_link + jing_url //带#的链接
}
//设置webview的链接
uni.setStorageSync("weburl", Store.state.vuex_apiUrl + full_link)
full_link = "/pages/webview/webview";
}
if(routeType == 2){
uni.redirectTo({
url: full_link
});
}else{
uni.navigateTo({
url: full_link
});
}
}
}