支付宝小程序自定义tabbar参数经uni-app编译后生成的app.json中属性缺失

支付宝小程序自定义tabbar参数经uni-app编译后生成的app.json中属性缺失

示例代码:

"tabBar": {
// #ifdef MP-ALIPAY
"customize": true,
"overlay": true,
// #endif
// #ifdef MP-WEIXIN
"custom": true,
// #endif
...
}

操作步骤:

执行npm run dev:mp-alipay 或npm run build:mp-alipay,

预期结果:

在生成编译后代码的app.json的tabBar属性中overlay属性存在

实际结果:

在生成编译后代码的app.json的tabBar属性中overlay属性消失

bug描述:

支付宝小程序自定义tabbar参数,经uniapp编译后,生成的app.json中属性缺失 以下为支付宝小程序文档 https://opendocs.alipay.com/mini/03jry7

"tabBar": {
"customize": true,
"overlay": true, /* 启用 Native 模式 */
}  

customize属性存在于app.json中,但overlay凭空消失

信息类型 内容
PC开发环境 Mac
操作系统版本号 MacOS12.5
项目创建方式 CLI
CLI版本号 3.0.0-3090520231028001


更多关于支付宝小程序自定义tabbar参数经uni-app编译后生成的app.json中属性缺失的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

解决了吗

更多关于支付宝小程序自定义tabbar参数经uni-app编译后生成的app.json中属性缺失的实战教程也可以访问 https://www.itying.com/category-93-b0.html


感谢反馈,问题已复现,已加分
临时解决方案
替换 node_modules/@dcloudio/uni-mp-alipay/dist/uni.compiler.js 为附件的文件

这是一个已知的uni-app编译支付宝小程序时的兼容性问题。根据支付宝官方文档,overlay属性确实应该保留在编译后的app.json中,但目前uni-app编译器在处理支付宝小程序的tabBar配置时,会过滤掉这个属性。

解决方法可以尝试:

  1. 在项目根目录创建alipay.json文件,直接配置支付宝特有的tabBar属性:
{
  "tabBar": {
    "customize": true,
    "overlay": true
  }
}
回到顶部