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

1 回复

更多关于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. 检查登录状态判断逻辑

在需要登录的页面中,确保在 onLoadonShow 生命周期中正确判断了登录状态,并在未登录时跳转到登录页。例如:

onLoad() {
  const isLogin = uni.getStorageSync('isLogin');
  if (!isLogin) {
    uni.redirectTo({
      url: '/pages/login/login'
    });
  }
}

3. 检查正式包的配置

manifest.json 中,确保没有配置错误,特别是 app-plush5 的相关配置。例如:

{
  "app-plus": {
    "optimization": {
      "subPackages": true
    }
  },
  "h5": {
    "router": {
      "mode": "history"
    }
  }
}

4. 检查权限控制

如果使用了 uni-starter 的权限控制功能,确保在 main.jsApp.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)
});
回到顶部