微信开放平台第三方代实现小程序业务简述
一、微信公众平台-第三方平台开发(什么是第三方平台) 微信公众平台-第三方平台(简称第三方平台)开放给所有通过开发者资质认证后的开发者使用。在得到公众号或小程序运营者(简称运营者)授权后,第三方平台开发者可以通过调用微信开放平台的接口能力,为公众号或小程序的运营者提供账号申请、小程序创建、技术开发、行业方案、活动营销、插件能力等全方位服务。同一个账号的运营者可以选择多家适合自己的第三方为其提供产品能力或委托运营。 从具体的业务场景上说,第三方平台包括以下场景: 1、提供行业解决方案,整体打包公众号或小程序的产品开发等; 2、行业:提供更加专业的运营能力,精细化运营用户公众号或小程序; 3、功能:对公众平台功能的优化,如专门优化图文消息视觉样式和排版的工具,或专门定制的 CRM 用户管理功能,或功能强大的小程序插件等。 二、第三方平台代实现小程序业务 第三方平台代实现小程序业务,即第三方平台帮助旗下已授权的小程序进行代码管理。和普通的小程序开发流程相比,第三方代实现小程序业务,需要先开发完成小程序模板,再将小程序模板部署到旗下小程序帐号中 三、从0到1代实现小程序业务 3.1 微信开放平台注册与认证 在微信开放平台https://open.weixin.qq.com/ 注册帐号,并在账号中心中,完成认证。 [图片] 3.2 创建第三方平台 1)在“微信开放平台-管理中心-第三方平台”创建第三方平台。 [图片] 2)选择对应的服务商类型进行第三方平台创建。 *定制化开发服务商:指具备完整开发独立小程序或插件,并可以提供后续运营的服务商。定制化服务商,可将自己已经开发出的定制化小程序关联到服务商平台中,生成凭证(票据)填充到小程序代码包中进行关联。平台获取开发关系。 *平台型服务商:平台型服务商可以通过一键授权,获得为商户开发部署小程序的权限,代商户完成小程序的开发部署及上线。 [图片] Step 1 : 基本信息填写 平台名称: 名称尽可能能够和自己的业务方向相似,且不要包含测试等字样。 业务标签:有如下几类,可以按照行业划分,也可以按照功能划分,标签选择自己业务范畴之内的即可。 [图片] 平台简介: 这里将显示在详情页中,一般用户从这里获得对平台的业务认知,建议要合理填写。 官方网站: 此处填写你的官网域名,需要注意的是,此处写的地址必须要和此第三方平台的业务描述相一致。否则在审核的时候会被驳回的。 平台图标: 需要自己制作核实的图标,必须保证是108*108像素,仅支持PNG格式,大小不超过300KB。 Step 2 :选择权限 微信开放平台为第三方平台型服务商提供丰富的权限勾选,服务商自由选择需要的权限,所勾选的权限,将在用户授权页面展示。最终服务商可获得的权限,以授权用户选择的权限为准。关于权限详情,可查询第三方平台权限说明 特别提醒,请勿随意全选所有权限,当选择一些没有用到的权限集时,会在全网发布的自动化测试时触发某些检测,导致不能通过。具体可以细看全网发布接入检测说明 [图片] Step 3 :开发资料填写 [图片] 授权发起页域名: 此处填写的是跳转授权页时所在的域名,比如此处填写 w.example.com ,那么授权页必须从这个域名中打开才能正常显示,否则会出错。这在一定程度上防止了授权信息的盗用和滥授权,一般这里填用户授权可以访问的业务域名。这里不校验https,但是需要保证域名是实名且可以公共访问的。 授权测试公众号列表: 由于在创建后并没有全网发布,需要先行做开发测试,这里就是用于测试的公众号、小程序的原始ID。我们需要找到一个任意主体的小程序用来测试,推荐选择自己的,好在接下来的环节中实践。需要注意的是,在全网发布之前,扫描授权页二维码授权的账号只能在这个列表中选择,列表外的没有办法成功授权! 授权事件接收URL: 此处需要填写一个API地址,开放平台向你发送的所有消息均通过请求此URL来完成。在这个地址请求后,需要程序判定消息的类型以及相应的处理方法。在此实践中,此URL主要用来接收开放平台的验证票据(component_verify_ticket) 信息校验Token和消息加解密Key: 这两个主要用来解密开放平台向接收URL发送的消息,或者加密信息向开放平台发送。token填写任意一个字符串即可,key必须保证长度为43位的字符串,只能是字母和数字。 小程序服务器域名: 在授权过来的小程序中配置的合法域名必须在此设置的列表中,本教程小程序使用云开发作为后端服务,所以此处设置的域名没有用到,在使用传统后端服务模式时,建议填写支持小程序后台服务的域名。 小程序业务域名: 在授权过来的小程序中配置的合法域名必须在此设置的列表中,本教程小程序使用云开发作为后端服务,所以此处设置的域名没有用到,在使用传统后端服务模式时,建议填写支持小程序后台服务的域名。 白名单IP地址: 这两个主要用来解密开放平台向接收URL发送的消息,或者加密信息向开放平台发送。token填写任意一个字符串即可,key必须保证长第三方平台所有的API接口必须在白名单列表中的IP才可以成功响应,一般填写自己服务器的公网IP。 更多信息可查询文档申请资料说明 完成上述【基本信息】、【选择权限】和【开发资料】信息填写后,提交审核即可,审核时间1小时以内。审核成功后,就可以使用相关接口进行对应开发。 3.3 平台型服务商代实现小程序基本流程 3.3.1开发准备 1)配置域名并设定授权事件url 2)创建授权事件接收URL的服务监听 微信开放平台向授权事件url发送相关的开发或通知信息,如验证票据等。开放平台向此URL发送的数据是加密过的,具体遵循消息加解密方案。 3)使用接收到的验证票据(component_verify_ticket)获取令牌 令牌是第三方平台接口的调用凭据,根据官方文档-获取令牌可知,我们需要请求API接口:https://api.weixin.qq.com/cgi-bin/component/api_component_token 在请求时需要提供三个参数:component_appid(第三方平台 appid)、component_appsecret(第三方平台 appsecret)、component_verify_ticket(第二步获取的ticket),其中前两个我们可以在开放平台直接获取。 [图片] 4)使用令牌获取预授权码并拼接用户授权链接 预授权码(pre_auth_code)是第三方平台方实现授权托管的必备信息,每个预授权码有效期为 10 分钟。一般我们获取它用来拼接授权链接并发给用户使用。 5)获取第三方调用令牌 3.3.2 小程序模版开发 平台型服务商需要将现成小程序模板通过接口直接上传部署到用户的小程序账号中。具体操作为我们在第三方平台的控制台中可以添加开发小程序。 [图片]选择自己为管理者的小程序账号。在添加流程中,也是需要验证小程序账号密码并通过管理员微信扫码验证的。(这里是输入谁的小程序账号密码?) [图片] 当添加成功之后,我们便可以在公众平台的设置页中看到如下信息的变化,开发小程序所属账号为我们的第三方平台的账号,此时小程序的代码上传便由第三方平台接管。 [图片] 使用微信开发者工具使用此小程序appid创建或导入项目,效果如下,跟普通开发相比,多了一个平台名 [图片] 当我们上传代码时,会提示上传到第三方平台的草稿箱。 [图片] 当上传之后,我们便可以在第三方平台详情页中看到我们上传的代码。 [图片]我们可以点击右边的按钮,直接将代码直接添加到模板库中,也可以删除。 [图片]添加后在模板库中就会出现模板代码,并附带有模板编号,我们便可以通过对应的API接口直接将此模板小程序上传至指定的授权小程序中了,无需再用开发者工具上传提交。 具体关于模板小程序的细则,可以查看官方文档。其中关于extAppid的开发调试属于小程序开发的范畴知识附加,在这里不详细阐述。 3.3.3 小程序模板部署与发布(提审) 小程序模版开发完成后,可以点击全网发布按钮。 [图片] 在发布前会进行自动化测试检查,在本教程推荐的两个权限集勾选,无其他权限集的状态下,只需要验证票据的推送状态。具体可以细看全网发布接入检测说明。 检测通过后,会进行资质审核。主要检查你的官网描述是否和设置的描述相仿。审核通过后,第三方平台业务即可上线,可向所有符合要求的公众号、小程序进行登录授权。