保险APP已经用了Flutter,还能接入小程序吗?

今天分享一下保险APP接入小程序的一种做法。APP已经用了Flutter,保单列表、客户登录和个人中心也都已经有了,现在准备增加一项保单服务预约。客户可以从某张保单进入,选择服务网点和时间,填写想咨询的问题,提交后还能在APP里查看预约记录。

如果继续按原来的方式开发,这项服务可以直接写进Flutter工程。不过,预约页面后续还会增加咨询类型、补充表单字段,调整办理提示。每次改页面,客户端团队都要跟着开发、测试和发版,这些业务调整就会一直占用主工程的排期。

其实,Flutter工程也可以接入FinClip小程序。沿用现有APP,让小程序来承接新增预约服务,再接好登录和导航,就可以利用已有的客户端能力增加服务入口。这样一来,Flutter继续负责APP主界面,FinClip负责小程序运行,预约团队维护自己的业务页面,三者可以在同一个APP里配合工作。

沿用Flutter主工程,新增服务按小程序交付

当客户打开保险APP,看到的首页、保单卡片和底部导航仍然由Flutter实现。点击“保单服务预约”后,APP可以通过FinClip的Flutter SDK打开小程序,再通过启动参数,把当前保单标识、服务类型和来源页面一起带过去。

在iOS和Android上,FinClip的Flutter插件衔接对应的原生SDK,小程序页面和逻辑由FinClip运行环境承载。预约团队使用小程序的页面、组件和API开发业务,客户端团队继续维护Dart代码与已有工程。预约表单有了自己的交付单元,APP主工程则增加运行环境、入口和宿主接口。

层次负责什么预约服务中的工作
Flutter宿主APP主界面、账号、路由从保单详情打开服务,处理登录和返回
FinClip运行环境加载并运行小程序,承接宿主调用打开预约页面,连接业务与APP能力
预约小程序服务页面与业务交互选择网点、日期,填写信息并展示结果
保险业务后台保单、可预约时段与预约记录校验服务资格,生成并查询预约记录

比如,客户从一张保单的详情页进入预约,小程序拿到保单标识后,可以直接展示对应的服务类型,让客户少选一次保单。网点和可用时段由业务后台返回,提交结果也保存在保险公司的预约系统中。页面入口换成小程序后,保单数据和网点管理仍然沿用公司的业务系统。

客户端接入时,将Flutter插件与两端原生依赖纳入工程配置。预约团队开发表单和接口,Flutter团队联调入口和公共能力。双方对着同一条客户流程推进,各自的交付内容也更清楚。

共用APP登录,让客户直接进入保单预约

如果客户在保险APP里已经登录,进入预约服务时,就可以继续使用当前账号。预约小程序通过FinClip的自定义API调用宿主登录能力,Flutter端接上已有账号模块,再把结果返回给小程序。

在接入时,可以让宿主取得预约服务所需的短期登录凭证,小程序用它与预约后台建立业务会话。保单标识用来确定客户要办理哪张保单的服务,后台根据登录身份确认可办理的内容。这样一来,客户可以直接进入对应保单的预约流程,少输一次账号。

如果客户进入服务时还没登录,或者登录状态已经过期,宿主可以打开现有登录页面。登录完成后,把结果交回小程序,继续查询网点和时间。客户取消登录时,预约页面可以保留当前选择,等客户再次操作时继续处理。

把这项接口接好后,新增其他客户服务也可以沿用同一套登录约定。FinClip提供小程序与宿主之间的调用通道,保险团队把登录凭证和账号关联接入现有认证体系,让后续服务少做一遍账号对接。

接续导航与预约结果,客户办完仍在原业务里

当客户在预约小程序里选好网点和时间,提交咨询内容后,后台会生成预约编号,页面展示服务地点、预约时间和办理提示。这时客户可能想回到保单,也可能点“查看我的预约”,两个动作都需要接到Flutter主界面的路由上。

预约页面可以调用约定的宿主导航接口,把目标页面和预约编号交给Flutter。宿主接到请求后,先收起小程序界面,再打开对应页面:客户想回保单,就恢复原详情页;想看预约记录,就打开预约列表或详情页。具体怎么跳转由Flutter团队维护,小程序按接口约定告诉宿主要去哪里。

客户操作小程序处理Flutter宿主处理
在预约页面返回上一步回到小程序内的上一页保留原APP页面
退出预约服务退出小程序界面回到进入服务的保单详情
预约成功后查看记录传递预约编号和导航请求打开预约记录页并查询后台
预约成功后返回保单通知预约已完成恢复保单详情,刷新服务状态

预约提交成功后,小程序还可以通过自定义API通知宿主,把预约编号和处理状态交给Flutter。宿主标记相关页面需要刷新,再从业务后台查询最新记录。小程序中的成功提示、保单页中的预约状态和“我的预约”里的记录,便能对应到同一笔业务。

如果客户提交后直接退出APP,下次打开时,也可以用同一个账号查到预约记录。预约结果已经保存在后台,小程序给宿主发的通知,用来刷新页面和安排跳转。这样,客户从哪个入口回来,都可以继续查看这次预约。

两端联调时,团队可以直接走一遍“保单详情—预约—结果—返回”的过程,检查系统返回键、页面返回按钮和“查看预约”是否到达约定页面。两端导航遵循同一业务约定,客户换设备后也能按熟悉的顺序完成操作。

业务页面独立更新,减少主工程重复改动

如果网点临时调整营业时间,可以直接在预约后台修改可用时段;页面要增加咨询类型或补充办理提示,就更新预约小程序。Flutter主界面的入口与公共接口可以继续沿用,让客户端团队把更多精力放在保单展示、消息和整体体验上。

FinClip小程序管理平台承接业务版本的上传、审核与发布。预约小程序按自己的节奏维护,Flutter主工程增加新的宿主能力或升级SDK时,再安排APP版本。首次接入运行环境需要随客户端发版,后续在已接入能力范围内的业务页面更新,可以走小程序发布流程。

对于保险团队,已有Flutter工程沉淀下来的账号和导航可以继续复用,新的预约服务则拥有自己的页面、逻辑和版本。后续增加新的保单服务入口,团队沿用已经接好的运行环境与接口,就能把更多客户服务接进现有APP。

感兴趣的话,可以关注了解更多技术细节~