uniapp manifest 各配置项及对应说明

以下是 UniApp manifest.json 文件的核心配置项及详细说明,按功能模块分类整理:

一、应用基础配置​

{
  "name": "应用名称",         // 必填,应用显示名称(iOS/Android/H5通用)
  "appid": "原始ID",         // 微信小程序专用(非必填)
  "versionName": "1.0.0",    // 应用版本号(Android/iOS必填)
  "versionCode": "100",      // Android版本代码(整型,每次更新递增)
  "description": "应用描述",  // 应用商店描述(建议200字内)
  "icon": "./static/logo.png", // 应用图标(需适配多尺寸)
  "startWindowIcon": "",     // 启动窗口图标(仅HBuilderX工程有效)
  "launchPath": "",          // 启动页面路径(默认为首页)
  "uniStatistics": {         // 统计分析配置
    "enable": false,         // 是否开启统计
    "appid": ""              // 友盟/AppBase统计ID
  }
}

二、平台适配配置​

1.微信小程序特有

{
  "mp-weixin": {
    "appid": "wx123456789",       // 小程序appid(必须)
    "setting": {
      "urlCheck": false,         // 关闭URL安全域名校验
      "es6": true                // 启用ES6转ES5
    },
    "usingComponents": true      // 启用自定义组件
  }
}

2.H5特有

{
  "h5": {
    "router": {
      "mode": "history"         // 路由模式(hash/history)
    },
    "domainWhitelist": ["*.example.com"], // 白名单域名
    "devServer": {
      "proxy": {                // 代理配置
        "/api": {
          "target": "http://localhost:3000"
        }
      }
    }
  }
}

3.App特有​

{
  "app-plus": {
    "distribute": {
      "android": {
        "permissions": ["android.permission.CAMERA"] // 权限声明
      },
      "ios": {
        "bundleIdentifier": "com.example.app"       // iOS Bundle ID
      }
    },
    "modules": {
      "Runtime": {
        "backgroundAudio": true                     // 后台音频权限
      }
    }
  }
}

三、权限配置​

{
  "permissions": {
    "android": {
      "READ_CONTACTS": {
        "desc": "用于读取通讯录联系人"  // 权限描述(必须)
      }
    },
    "ios": {
      "NSContactsUsageDescription": "需要访问通讯录以同步联系人"
    }
  }
}

四、运行时配置

{
  "runtime": {
    "appname": "MyApp",            // 应用启动标题
    "autoLaunch": true,            // 是否自动启动
    "showSplashscreen": {
      "alwaysShow": false,         // 是否强制显示启动页
      "delay": 2000                // 延迟关闭时间(ms)
    }
  }
}

五、第三方服务配置​

​​1. 支付宝小程序​

{
  "mp-alipay": {
    "appid": "2021000123456789",
    "privateKey": "./private.pem"  // 应用私钥
  }
}

2.支付配置

{
  "payment": {
    "alipay": {
      "publicKey": "支付宝公钥"  // 支付宝RSA2公钥
    },
    "wechat": {
      "merchantId": "wx8888888888888888
      }     
    }
 }

六、应用图标与启动页配置​

{
  "app-plus": {
    "distribute": {
      "android": {
        "splashscreen": {
          "alwaysShow": true,         // Android启动页强制显示
          "delay": 3000               // 启动页延迟时间(ms)
        },
        "icons": {                    // Android图标配置
          "ldpi": "./static/icon_36.png",
          "mdpi": "./static/icon_48.png",
          "hdpi": "./static/icon_72.png"
        }
      },
      "ios": {
        "launchScreen": {
          "background": "#FFFFFF",    // iOS启动页背景色
          "images": [                 // 启动页图片(需适配不同设备)
            "./static/launch_ios_1125x2436.png",
            "./static/launch_ios_828x1792.png"
          ]
        }
      }
    }
  },
  "icons": {                        // 跨平台图标配置
    "android": {
      "ldpi": "./static/icon_36.png",
      "xhdpi": "./static/icon_96.png"
    },
    "ios": {
      "AppStore": "./static/icon_appstore.png",
      "iPhone": "./static/icon_iphone.png"
    }
  }
}

七、网络请求配置​

{
  "networkTimeout": {
    "request": 60000,             // 请求超时时间(ms)
    "connectSocket": 60000,       // WebSocket连接超时
    "uploadFile": 60000           // 文件上传超时
  },
  "h5": {
    "devServer": {
      "proxy": {                    // H5代理配置
        "/api": {
          "target": "http://api.yourserver.com",
          "changeOrigin": true,
          "pathRewrite": {
            "^/api": ""
          }
        }
      }
    }
  }
}

八、插件与原生功能配置

1.原生插件配置​

{
  "plugins": {
    "myPlugin": {
      "version": "1.0.0",
      "provider": "wxidxxxxxxxxxxxxxx", // 微信插件提供者ID
      "unpackage": true               // 是否解压原生插件
    }
  }
}
  1. 模块加载配置​
{
  "modules": {
    "Push": {
      "unipush": true,              // 阿里云统一推送
      "miPush": {
        "appId": "2882303761517658",  // 小米推送配置
        "appKey": "5751765817658"
      }
    }
  }
}

九、调试与打包配置​

{
  "h5": {
    "devServer": {
      "port": 8080,                 // 开发服务器端口
      "open": true                  // 自动打开浏览器
    },
    "productionSourceMap": false    // 生产环境关闭sourceMap
  },
  "app-plus": {
    "distribute": {
      "android": {
        "output": "dist/android.apk"// 安卓打包输出路径
      }
    }
  }
}

十、高级隐私配置​

{
  "privacy": {
    "prompt": "template",           // 隐私弹窗模板(auto/template/custom)
    "agreements": [                 // 用户协议列表
      {
        "name": "用户协议",
        "url": "https://example.com/agreement.html"
      }
    ]
  }
}

注意事项​

1.​​敏感信息处理​​
支付宝/微信的 privateKey 应通过环境变量注入,禁止明文存储
iOS的 bundleIdentifier 需与开发者账号严格匹配
2.多平台差异

{
  "mp-weixin": {
    "functionalPages": true     // 微信小程序服务端能力开关
  },
  "app-plus": {
    "usingHybridPlus": false    // 关闭混合模式(纯原生编译)
  }
}

3.​​性能优化

{
  "app-plus": {
    "renderer": "canvas2d",     // 强制使用Canvas2D渲染模式
    "domSubtreeLevel": 8        // DOM层级深度限制
  }
}

配置验证工具​

1.使用 HBuilderX 的「运行 → 运行到手机或模拟器」进行实时验证
2.通过 npx uniapp-cli validate 执行配置文件语法检查
3.微信小程序需使用「微信开发者工具 → 详情 → 本地设置」开启不校验合法域名
(完整配置项参考 UniApp官方文档)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值