WF系统先判断是否登录会员再跳转实际地址
WF页面上如何一个链接需要判断登录会员才能跳转该如何做呢,我们采用异步的加载会员信息的方式来判断,经过摸索做法如下:
//判断登录后才能跳转到指定网址
function isUserUrl(url){
var siteurl = $("#currentsiteinfo").data("siteajaxrequestprefix");
$.ajax({
url: siteurl + 'Ajax/AjaxPartial',
type: 'post',
data: {
partialViewName: "用户登录页-用户信息",
parameters: "{}",
},
success: function (response) {
var loginInfo = response.html;
if (typeof loginInfo === 'string' && loginInfo.includes('loggedin')) {
//登录状态则直接跳转到指定地址
window.open(url, '_blank');
} else {
//未登录状态弹出登录框,不同版本会有些差异
if ($("#login-body .enabledvalidcode")[0].style.display != "none") {
refreshValidateCode();
}
$("[data-userlogin=userLoginDialog]").css("display", "block");
$("[data-userlogindialog=userLoginDialog]").css("display", "block");
$(".password-field input[name=UserName]").val("");
$(".password-field input[name=Password]").val("");
$(".enabledvalidcode input[name=ValidateCode]").val("");
$(".phone-field input[name=PhoneMessageValidateCode]").val("");
$(".phone-field input[name=PhoneNumber]").val("");
$("#login-body .errormessage").html("");
$.refreshCsrf();
}
}
});
}调用方式:
<a onclick='isUserUrl("http://baidu.com/")'>登录后跳转</a>