uni-app 小程序 pages.json 的 entryPagePath 配置不生效

uni-app 小程序 pages.json 的 entryPagePath 配置不生效

项目信息 详细信息
产品分类 uniapp/小程序/微信
PC开发环境操作系统 Mac
PC开发环境操作系统版本号 10.15.7
第三方开发者工具版本号 1.05.2106250
基础库版本号 2.17.0
项目创建方式 CLI
CLI版本号 4.5.8

操作步骤:

指定首页为index但打开小程序时首先展示login,以下是pages.json的配置

{
  "easycom": {
    "autoscan": true,
  },
  "entryPagePath": "pages/login/login",
  "pages": [
    {
      "path": "pages/index/index",
      "style": {
        "navigationBarTitleText": "应急事件处理小程序"
      }
    },
    {
      "path": "pages/login/login",
      "style": {
        "navigationBarTitleText": "登录"
      }
    },
  ],
}

预期结果:

指定首页为index但打开小程序时首先展示login

实际结果:

指定首页为index但打开小程序时首先展示index

bug描述:

通过entryPagePath指定小程序的默认启动路径未生效,希望能支持此配置


更多关于uni-app 小程序 pages.json 的 entryPagePath 配置不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

HBuilderX 3.7.0.20230118-alpha 已修复。

更多关于uni-app 小程序 pages.json 的 entryPagePath 配置不生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages

entryPagePath 指定小程序的默认启动路径(首页),常见情景是从微信聊天列表页下拉启动、小程序列表启动等。如果不填,将默认为 pages 列表的第一项。不支持带页面路径参数。

回复 2***@qq.com: 终于遇见个明白人,但是貌似uni现在还没有解决这个问题.

后续更新

entryPagePath 对微信小程序成功,对 H5 失效

entryPagePath 配置在微信小程序中确实存在兼容性问题。根据微信官方文档,该配置仅对部分版本的基础库有效,且在不同小程序平台表现不一致。

解决方案:

  1. 调整 pages 数组顺序:将 pages/login/login 移至 pages 数组首位:
"pages": [
  {
    "path": "pages/login/login",
    "style": { "navigationBarTitleText": "登录" }
  },
  {
    "path": "pages/index/index", 
    "style": { "navigationBarTitleText": "应急事件处理小程序" }
  }
]
  1. 使用条件编译(如需平台差异化处理):
"pages": [
  // #ifdef MP-WEIXIN
  {"path": "pages/login/login", ...},
  // #endif
  {"path": "pages/index/index", ...}
]
  1. 路由拦截方案(推荐): 在 index 页面的 onLoad 中判断登录状态,未登录时跳转至登录页:
// pages/index/index.vue
onLoad() {
  if (!uni.getStorageSync('token')) {
    uni.reLaunch({ url: '/pages/login/login' })
  }
}
回到顶部