微信小程序第三方平台代开发技术文档

访问量: 发布时间:2020-05-18 作者:微信小程序开发 本文有8352个文字,约为16.313KB,预计阅读时间21分钟

  小程序运营者,可以一键授权给第三方平台,通过第三方平台来完成业务。第三方平台在小程序的前后端开发上同直接开发小程序有所区别,其所拥有的各项 API 以及详细说明请查看 代小程序实现业务 ,其余部分请阅读下文。

微信小程序开发
微信小程序第三方平台代开发技术文档

  开发第三方平台小程序具有一定的复杂性,首先需要确认三个概念:

  open3rd:第三方平台,是小程序官方认可的第三方开发商 详情

  3rdMiniProgramAppid:第三方平台申请的并绑定在该平台上的小程序,用于开发小程序模板

  extAppid:授权给第三方平台的小程序

  第三方平台相关的小程序开发需要做一些特殊的处理:

  小程序模板的开发

  小程序模板结合 extAppid 的开发调试

  使用 directCommit 直接提交至待审核列表 详情

  最新版本的开发工具支持第三方平台小程序的开发和预览。

  创建项目

  与开发普通小程序一致,第三方平台开发者填入相关的 3rdMiniProgramAppid ,设定项目名称和选择项目目录即可创建项目。

  对于第三方平台小程序,可以在项目页卡查看到相关的 open3rd 信息以及当前的第三方的 3rdMiniProgramAppid ,如若项目配置了相关的 extAppid ,那么项目页卡中也会有相关信息。

  ext

  小程序模板开发

  与开发普通小程序一致,开发者在开发工具上开发好相关的业务逻辑之后,在项目页卡中提交预览即可以在微信中查看小程序的真实表现。

  有所不同的是,第三方平台小程序的提交上传是上传至该第三方平台的 open 帐号下的模板草稿箱中,该平台的管理员需要自行对该模板进行相应的设置,更多请参考 开放平台的文档 。

  extAppid 的开发调试

  为了方便第三方平台的开发者引入 extAppid 的开发调试工作,需要引入 ext.json 的概念。

  ext.json 是一个配置文件,放置在小程序项目的根目录下。

  以下是一个包含了所有配置选项的 ext.json :

  {

  "extEnable": true,

  "extAppid": "wxf9c4501a76931b33",

  "directCommit": false,

  "ext": {

  "name": "wechat",

  "attr": {

  "host": "open.weixin.qq.com",

  "users": [

  "user_1",

  "user_2"

  ]

  }

  },

  "extPages": {

  "pages/logs/logs": {

  "navigationBarTitleText": "logs"

  }

  },

  "window":{

  "backgroundTextStyle":"light",

  "navigationBarBackgroundColor": "#fff",

  "navigationBarTitleText": "Demo",

  "navigationBarTextStyle":"black"

  },

  "tabBar": {

  "list": [{

  "pagePath": "pages/index/index",

  "text": "首页"

  }, {

  "pagePath": "pages/logs/logs",

  "text": "日志"

  }]

  },

  "networkTimeout": {

  "request": 10000,

  "downloadFile": 10000

  }

  }

  ext.json中的配置字段分为两种

  特有的字段

  同 app.json 相同的字段

微信小程序第三方平台代开发技术文档

  extEnable

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

  extAppid

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

  ext

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

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

  {

  "name": "wechat",

  "attr": {

  "host": "open.weixin.qq.com",

  "users": [

  "user_1",

  "user_2"

  ]

  }

  }

  extPages

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

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

  directCommit

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

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

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

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

  同 app.json 相同的字段

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

  {

  "window":{

  "backgroundTextStyle":"light",

  "navigationBarBackgroundColor": "#fff",

  "navigationBarTitleText": "ext navigationBarTitleText",

  "navigationBarTextStyle":"black"

  }

  }

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


本文《微信小程序第三方平台代开发技术文档》的链接地址为"http://www.zhitouweilai.com/xcxkf/91.html"
本网站部分文章转载自互联网以及作者的分享,如本网站所引用的文章涉及著作权问题,请您及时通知本站,我们将及时妥善处理。

获取互联网整合营销解决方案

留下您的联系方式,专属项目团队为您提供免费方案!

咨询网络推广相关问题,可以通过电话联系我们

400-838-0901