我正在爲我的應用程序編寫一個許可證驗證部分,並且希望將用戶重定向到續訂頁面,當且僅當他們的許可證已過期。FlowRouter,路由時如何獲取數據取決於訂閱
我正在使用FlowRouter和Blaze。
我所有的認證途徑是一組:
let authenticated = FlowRouter.group({
triggersEnter: [checkAuthenticated, checkSubscription]
});
我再檢查,如果訂閱是有效的,像這樣:
const checkSubscription = function(context){
let path = FlowRouter.current().path;
if (!Meteor.userId()){
return;
}
const sub = new Subscription();
if (sub.isInvalid() && path !=="/manage-practice/subscription"){
FlowRouter.go("/manage-practice/subscription");
}
};
我的班級訂閱使用的集合,我只能加載一次用戶已經登錄。我的問題是路由器通常會在加載此數據之前觸發此重定向。
是否有解決此問題的最佳實踐方法?
您使用的是AccountsTemplates嗎?我把一個解決方案放在一起,包括AccountsTemplates和alanning:在做任何路由之前等待角色的角色。這是醜陋的,但它的工作原理。 – zim