uni-app uni-starter 正式包未登录时无法正常跳转登录页
uni-app uni-starter 正式包未登录时无法正常跳转登录页
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | windows 10 | HBuilderX |
产品分类:uniapp/App
PC开发环境操作系统:Windows
PC开发环境操作系统版本号:windows 10
HBuilderX类型:正式
HBuilderX版本号:3.4.7
手机系统:Android
手机系统版本号:Android 12
手机厂商:小米
手机机型:RedmiK 40
页面类型:vue
vue版本:vue2
打包方式:云端
项目创建方式:HBuilderX
示例代码:
官方示例uni-starter没改动代码,只是运行后正式包后会出现上述问题。
操作步骤:
在“我的”页面,没有登录的情况下,点击头像、普通签到、我的积分等不能正常跳转到登录页面去登录。
预期结果:
在没有登录的情况下,应该跳转到登录页面去登录,效果详见附件。
实际结果:
在没有登录的情况下,没有跳到登录页面去登录,且点击普通签到、我的积分时,出现了一个短暂的loading,就结束了,效果详见附件。
bug描述:
H5、微信小程序、连接手机调试及自定义调试基座在没有登录的情况下可以正常跳转登录页面去登录,但APP正式包不能正常跳转。
更多关于uni-app uni-starter 正式包未登录时无法正常跳转登录页的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app uni-starter 正式包未登录时无法正常跳转登录页的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在 uni-app 中使用 uni-starter 时,如果正式包在未登录状态下无法正常跳转登录页,可能是由于以下几个原因导致的。你可以根据以下步骤进行排查和解决:
1. 检查路由配置
确保在 pages.json 中正确配置了登录页的路由。例如:
{
"pages": [
{
"path": "pages/login/login",
"style": {
"navigationBarTitleText": "登录"
}
},
// 其他页面配置
]
}
2. 检查登录状态判断逻辑
在需要登录的页面中,确保在 onLoad 或 onShow 生命周期中正确判断了登录状态,并在未登录时跳转到登录页。例如:
onLoad() {
const isLogin = uni.getStorageSync('isLogin');
if (!isLogin) {
uni.redirectTo({
url: '/pages/login/login'
});
}
}
3. 检查正式包的配置
在 manifest.json 中,确保没有配置错误,特别是 app-plus 和 h5 的相关配置。例如:
{
"app-plus": {
"optimization": {
"subPackages": true
}
},
"h5": {
"router": {
"mode": "history"
}
}
}
4. 检查权限控制
如果使用了 uni-starter 的权限控制功能,确保在 main.js 或 App.vue 中正确配置了全局的登录状态检查和跳转逻辑。例如:
import Vue from 'vue';
import App from './App';
import uniStarter from 'uni-starter';
Vue.use(uniStarter, {
loginPage: '/pages/login/login',
// 其他配置
});
new Vue({
el: '#app',
render: h => h(App)
});

