微信开放平台之第三方
发布网友
发布时间:2024-09-11 05:49
我来回答
共1个回答
热心网友
时间:2024-12-04 12:53
哈喽,大家好,我是静文。今天我带来了一期特别的小需求分享,以后每期都会分享我在日常开发中遇到的需求和解决思路。下面我们就开始吧。这期我们聊聊微信的第三方平台。
第三方平台,全名第三方平台服务,这里我们简称它为第三方。它是微信开放给所有认证开发者使用的接口集合。公众号或小程序授权给第三方后,开发者可以通过调用第三方的接口,为公众号或小程序提供全面服务。
接下来,我们先看一般小程序开发模式和基于第三方的开发模式的区别。
一般小程序开发模式的流程包括:开发者提交代码、提交体验版、提交审核,等待微信消息通知,手动发布。
而基于第三方模式的流程包含:开发者提交代码、操作ci、提交审核、等待微信消息通知、发布。
这两种开发模式看起来都很流畅。基于第三方模式只不过会多一个中间平台,但一般小程序开发模式大部分操作都是手动完成的。
接下来,我们来谈谈一般小程序开发的缺点。一般小程序开发模式属于单对单的模式,需要开发者提交代码、提交体验版、提交审核,等待微信消息通知,手动发布。审核消息通知和违规申诉通知,只有在微信内的服务通知或小程序助手当中可以看到,当微信消息特别多的时候,这种弱消息通知,基本会被淹没在海量信息当中。
小程序的发布分为三部分,提交体验版、提交审核、发布代码。提交体验版可以通过小程序的ci包完成,我们可以将这步揉入自动化发布体系当中,但是提交审核和发布代码这两步,都需要登录平台完成。
制作小程序马甲包繁琐,马甲包的含义就是当我们A小程序因为平台机制问题导致下线时,这时就需要有一个一模一样的B小程序顶替上去,维持线上的正常运转。如果我们采用一般小程序开发模式的话,那么我们将要维护两套代码,处理操作两个小程序账号。
总结下来就是,提交流程繁琐,通知消息薄弱,快速复制能力为零。如果长期只维护一个小程序的背景下,还算可行。但是当小程序的数量达到一定程度的时候,就会非常繁琐。
接下来,我们来一一拆分模块看看,两种模式之间的区别,以及第三方会带来什么改变。一般小程序开发模式的手动部分,包括提交审核、发布,弱点在于违规、申诉、复用。基于第三方模式可以将审核、发布改为自动,违规、申诉可以改为强提醒,复用起来非常方便。
第三方的优势在于,我申请好小程序后,只需要授权给第三方。然后开发模式不变,但是审核发布流程可以进行自动化操作。由原先的提交代码、操作ci、提交审核、等待微信内通知、发布,修改为提交代码、操作ci、等待企业微信发布成功通知。之前的审核流程、发布流程完全可以进行自动化操作。
并且第三方也拥有审核消息推送、违规消息推送的机制,这样原先只能在服务通知或小程序助手内接收的消息,可以调整为webhook的形式,推送到企业微信或者钉钉接收,从原来的弱消息提醒,变成强消息提醒,提升了即时反应的速度。并且提供了一些额外的功能,例如:申请适用小程序、一键更新插件,用户投诉消息推送等。
这样听我说,是不是很不清晰,那么我们看下一张图,这里展示了一个小程序开发的流程。
首先,开发人员开发完业务后,需要提交代码,然后去操作ci,登录平台操作提审、等待服务通知或小程序开发助手通知、发布。这样一套流程下来,我们就将一个小程序发布上线了。
如果我们管理多个小程序,我们需要不停的在多个小程序中游走,包括提交、提审、关注消息通知、确认发布。这其中需要登录不同的账号,也会需要关注不同的*,这对于开发人员是一个极大的心智负担。
如果基于第三方,我们将如何开发?首先,我们将拥有一个集中化的平台作为管理,其中包括发布系统、代码系统、通知系统、接收消息系统这些基础模块。
作为业务开发人员,我们只需要将代码提交至仓库,然后在仓库中设置好事件的webhook,用merge事件来触发ci/cd系统,然后ci/cd系统就会将代码发送到代码系统。
开发人员再登录中台,去操作发布,并且设置即时发布或者手动发布。这时发布系统开始工作,将代码提审。
接下来,消息接收系统等待接*发送的审核通知后,会通过通知系统,发送消息至开发者,如果开发者选择即时发布,发送消息的同时,也就直接全量发布了。如果不是,那就还是需要人为操作发布。开发者需要操作的只有提交代码、操作merge、登录中台选择是否自动发布(默认自动发布),就这三步,在一个中台当中,就可以完成小程序的全部发布流程。再也不需要关注微信消息、来回切换登录账号,也不需要每天提心吊胆的害怕被违规,没看不到通知了。
我为什么要开发一个第三方平台?目前我有多个小程序需要保证迭代升级。还有其中2个小程序,是一模一样的代码。并且22年最少还要开发3个小程序。简单来说,就是我管不过来了,需要集群化式的管理小程序。
第一期产品需求,我会制作这些功能。
第一期代码需求,我将会制作这些功能。
后端逻辑
前端逻辑
工程师解决问题的思路究竟是靠肝还是靠脑?我换句大白话就是,你是要无止境的内耗自己,还是利用系统体系来优化自己?我的选择当然是利用系统来优化自己。我是一个信奉效率的人,当一个系统一直处于增墒状态,我们要如何在繁杂的系统中,找到头绪,来解决问题呢?你可以用爆肝的方式,梳理系统、优化系统、整改系统。也可以用集群服务化的思维,分而治之。而我选择后者。