本章内容出自《小程序开发不求人》电子书,点击下载完整版
小程序模板介绍
角色介绍
- 系统服务商(ISV):负责开发、维护小程序模板,基于模板实例化出商户小程序。是被委托方。
- 商户:委托系统服务商(ISV)基于系统服务商(ISV)提供的小程序模板实例化出商户自己的小程序。是委托方。
模板开发模式的核心
三方小程序模板,是支付宝为系统服务商(ISV)提供批量生成小程序的能力,系统服务商(ISV)通过模板开发,得到商户授权后,即可快速根据模板代码给商户快速实例化小程序。
模板开发模式下系统服务商(ISV)可以通过 API 接口批量处理商家小程序,比如系统服务商(ISV)通过模板开发模式服务了 1 万个不同的餐饮小程序,如果需要对这 1 万个不同的小程序做版本升级时,在模板开发模式下,可以实现用API 接口构建、提审、上架这 1 万个不同的小程序。
在模板开发模式下商户把自己的小程序授权给系统服务商(ISV)的三方应用,让系统服务商(ISV)去帮商户实现商户小程序的代码构建、提审以及商户小程序上架。在商户把商户小程序授权给系统服务商(ISV)的三方应用后,商户小程序的代码只能通过服务商三方应用下的小程序模板代码去构建。
业务特点:
- 开发流程:系统服务商(ISV)先开发小程序模板的代码,然后通过小程序模板的代码去构建商户小程序的代码。
- 快速开通:通过服务市场,商户仅需完成订购,即完成商户小程序授权,通过模板快速生成自有商户小程序。
- 批量维护:系统服务商(ISV)可代商户实现小程序的快速批量更新。
模式简介
系统服务商(ISV)可以通过研发小程序模板的方式,为商户提供标准化的小程序代开发服务,快速规模化的拓展商户。
模板开发主要有四步:
1、系统服务商(ISV) 需创建和开发第三方应用。如已经拥有,则可以沿用;
2、在第三方应用下创建小程序模板,并完成开发;
3、引导商户完成小程序授权:
- 系统服务商(ISV)通过第三方应用,引导商户将小程序应用授权给自己,以便进行后面模板小程序实例化的实施操作;
-
系统服务商(ISV)发布模板为服务,并引导商户在服务市场订购对应小程序模板,或完成小程序应用授权。操作如下:
- 系统服务商(ISV) 引导商户在服务市场订购小程序模板。如商户没有小程序,在订购过程中平台会让商户完成小程序的创建并授权;
- 系统服务商( ISV)通过线下推广的方式,引导商户完成模板服务的授权。如商户没有小程序,在授权过程中平台会让商户完成小程序的创建;
4、系统服务商(ISV)通过平台接口完成模板小程序的构建、提审、测试、上架等操作。
小程序插件介绍
插件是小程序的一项能力,插件 2.0 体系使插件不仅像组件一样可以嵌入到主体小程序页面内部,而且还可以像页面一样提供独立服务,可以从主体小程序进行跳转,同时我们对主体小程序和插件进行权限隔离,在保证插件数据安全的前提下提供更多的灵活性。目前只有 支付宝官方 才能开发,但所有的开发者可以通过支付宝服务市场来获取和使用这些插件。
每个插件有插件 ID(和小程序 AppID 同一命名空间),形态在功能和结构上和小程序类似,不同的是插件运行在主体小程序的上下文之中,对主体小程序的能力进行扩展。
目前插件主要聚焦于门店小程序的场景,用于三方开发者对各门店进行能力上的扩展,如电子发票、配送和预订等。
主体小程序和插件的区别
插件与开放平台、商家及用户之间的关系
- 在开发时,插件开发商需要和开放平台签约获得特色能力(如支付) 。
- 商家购买插件后,在门店启用时,根据插件所需要获得的信息(如门店名称)对插件进行授权,这样插件在运行时可获取被授权的信息 。
- 在用户使用过程中,唤起插件时,如果插件需要获取用户信息(如用户名称、最近消费金额和时间),需要用户授权。
插件开发和使用涉及到的场景
场景 1:小程序及小程序模板开发
- 小程序和小程序模板(特别是后者)在开发时,需要明确是否支持插件热插拔,如果需要支持,需预留可插拔的位置,需要定义相关的参数传递处理逻辑,例如对于插件所需要的不同参数的获得与传递 。
- 在发布时,需要明确自己将对插件暴露什么样的参数 id、类型和描述,这样插件开发者可以通过这些约定来获得这些参数。
场景 2:插件开发
- 插件的业务目标决定了它被唤起时需要获得主体程序什么样的信息,这个时候需要定义插件期待的信息参数 id:例如对于电子发票小服务,它希望在唤起的时候能够获得主体小程序当前门店的名称 。
- 另外对于插件所需要的功能包,需要和开放平台进行签约 。
场景 3:插件的购买和启用
- 商家在选择购买和启用插件的时候,如果插件需要获得商家小程序的信息,需显示出来并让商家进行明确的授权:例如对于电子发票插件,订购和启用时,会提示该插件需要在运行时获得当前门店的名称,这需要商家明确同意,否则不能购买和启用 。
- 如果插件需要的信息在商家小程序中并不存在,则表明插件不适用于该商家,不能进行购买和启用 。
场景 4:插件的使用
- 用户可以在主体小程序唤起插件,例如在门店点击电子发票进行开票。插件如果在这个时候需要获得用户相关的信息如用户名称、当前门店消费金额和时间,需要用户明确授权 。
- 对于商家已在购买和启用时所授权的信息如门店名称,主体小程序在唤起插件时会根据插件所需要的参数 id 传递过来相关的信息 。
- 插件利用获得的用户信息和商家信息,运行相关业务逻辑对用户提供服务。