問題の説明: uni-starter コンポーネントを使用し、pages.json で uniIdRouter を構成した後、tabBar 間のジャンプが失敗します。
理由:ドキュメントを確認したところ、「uniIdRouter の最下層は、navigateTo、redirectTo、reLaunch、および switchTab のインターセプターを使用してページ ジャンプをインターセプトします。ホームページへのアクセスとネイティブ タブバーのクリックはインターセプトされません。」という文を見つけました。】
解決策: store.hasLogin でログイン ステータスを取得して、ログインしているかどうかを判断します。ログインしていない場合は、ログイン ページにジャンプします。
<template>
<view class="page">
</view>
</template>
<script>
import {store} from '@/uni_modules/uni-id-pages/common/store.js'
export default {
data() {
return {
}
},
onShow() {
if(!store.hasLogin){
uni.redirectTo({
url: '/uni_modules/uni-id-pages/pages/login/login-withoutpwd',
});
}
},
methods: {
}
}
</script>