# 特有的字段

属性 类型 必填 描述
extEnable Boolean 配置 ext.json 是否生效
extAppid String 配置 extAppid
ext Object 开发自定义的数据字段
extPages String Array 单独设置每个页面的 json
directCommit Boolean 是否直接提交到待审核列表
# extEnable

extEnable 是一个 Boolean 类型的字段,用于规定当前的 ext.json 文件是否生效,开发者可以通过修改这个字段来开启和关闭 extAppid 的结合开发。

# extAppid

extAppid 是授权调试的 AppID ,例如开发者在此处填写的是 2313243432 那么在 extEnable 为真的情况下,后续的开发逻辑都会基于 2313243432 来运行。

# ext

ext 字段是开发自定义的数据字段,在小程序中可以通过 qq.getExtConfigSync 或者 qq.getExtConfig 获取到这些配置信息。

例如上面的例子中,通过 qq.getExtConfigSync 就可以获得 ext 字段的所有配置

{
  "name": "qq",
  "attr": {
    "host": "q.qq.com",
    "users": [
      "user_1",
      "user_2"
    ]
  }
}
1
2
3
4
5
6
7
8
9
10
# extPages

extPages 是一个对象,对象中的每个 key 应该是该小程序模板 app.json 中定义的页面,每个 key 对应的 valuepage.json 中所规定的各项配置。

当开发者设置这个配置以后,小程序框架会对应的修改相对应的 page 的配置信息。

# directCommit

directCommit 是一个 Boolean 类型的字段,用于规定当前的上传操作是否是直接上传到 extAppid 的审核列表中。

directCommittrue 真时,开发者在工具中的上传操作,会直接上传到对应的 extAppid 的审核列表,第三方平台只需要调用 https://api.q.qq.com/api/component/code/submit_audit?access_token=ACCESS_TOKEN 即可以提交审核。更多请参考 第三方平台文档

directCommitfalse 或者没有定义时,开发者在工具中的上传操作,会直接上传到对应的草稿箱中。

tips: 可以使用工具的命令行接口 或者 http 接口来实现自动化的代码提交审核

#app.json 相同的字段

ext.json 中的字段同 app.json 中一致时,ext.json 的字段会覆盖 app.json 中的对应字段,例如以下的 ext.json

{
  "window":{
    "backgroundTextStyle":"light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "ext navigationBarTitleText",
    "navigationBarTextStyle":"black"
  }
}
1
2
3
4
5
6
7
8

那么该小程序最终的 navigationBarTitleText 应该是 ext navigationBarTitleText