小程序的会员开卡方法及装置与流程
本说明书一个或多个实施例涉及小程序,尤其涉及小程序的会员开卡方法及装置。
背景技术:
1、小程序是一种运行于超级应用内的轻量级应用程序,具有即用即走、无需安装的特点,为商家提供了低成本触达用户、构建私域流量的高效载体。随着小程序生态的成熟,小程序商家为提升用户粘性与复购率,通常构建会员体系。如此,会员卡开卡成为小程序内高频且关键的业务场景。
2、常规技术中,小程序实现会员开卡功能主要依赖宿主应用提供的第三方插件模式。开发者需先在宿主应用后台订购卡包插件,并在小程序配置文件中显式声明插件依赖并指定版本,在页面逻辑中通过特定方法引用插件实例,最后调用插件接口并传入多层嵌套的参数对象完成开卡服务的唤起。该流程涉及后台订购、配置声明、代码引用与复杂调用四个独立步骤,任一环节出错均会导致功能失效。同时,插件作为独立模块会增加加载耗时,其拉起方式易引发页面跳转与白屏,破坏用户沉浸式体验;嵌套式参数设计与非标准回调范式也显著提高了开发者的学习成本与调试难度。此外,小程序代码与特定插件强耦合,插件版本变更或下线均可能直接威胁业务稳定性,难以满足小程序生态对高效接入与流畅体验的需求。
技术实现思路
1、本说明书一个或多个实施例描述了一种针对小程序的会员开卡方法及装置,用以解决背景技术提到的一个或多个问题。
2、根据第一方面,提供一种小程序的会员开卡方法,适用于宿主应用的客户端,客户端包括小程序前端和宿主应用服务端向用户终端下发的小程序基础库,所述方法包括:通过小程序前端对小程序基础库中预定接口的调用请求,触发小程序基础库中预设的会员开卡业务逻辑;根据所述调用请求及从客户端的内存状态中获取的小程序上下文,向宿主应用服务端发起后端会员卡服务调用;在接收到经宿主应用服务端补充后的业务参数的情况下,通过客户端的渲染引擎渲染会员开卡弹层并向用户展示;捕获用户在弹层的操作,并根据操作结果向小程序前端反馈会员开卡业务的执行结果。
3、在一个实施例中,根据所述调用请求及从客户端的内存状态中获取的小程序上下文,向宿主应用服务端发起后端会员卡服务调用,包括:对所述调用请求进行解析,获取会员卡模版的唯一性标识;从所述小程序上下文提取商家身份标识、会员卡模板关联的小程序标识及当前的会话凭证;基于所述会员卡模版的唯一性标识、所述商家身份标识、所述会员卡模板关联的小程序标识、所述当前的会话凭证,向宿主应用服务端发起后端会员卡服务调用。
4、在一个实施例中,宿主应用服务端补充后的业务参数包括结构化的渲染数据;所述通过客户端的渲染引擎渲染会员开卡弹层并向用户展示,包括:从结构化的渲染数据中提取渲染元数据,所述渲染元数据包括卡面样式、权益文案、表单字段中的至少一项;将所述渲染元数据转换为所述客户端的人机交互框架可识别的视图描述对象;基于所述视图描述对象,调用所述渲染引擎绘制半屏或全屏的会员开卡弹层;在当前页面上覆盖展示所述弹层。
5、在一个实施例中,捕获用户在弹层的操作,包括:通过客户端的事件分发系统,为弹层内的各可交互元素分别注册专属事件监听器,所述可交互元素包括以下一项或多项:授权确认按钮、表单提交控件、关闭按钮、滑动光标、输入框;在用户在弹层内对可交互元素进行操作的情况下,经由所述事件分发系统通过相应专属事件监听器捕获相应操作,所述操作为点击、输入或滑动中的至少一项。
6、在一个实施例中,根据操作结果向小程序前端反馈会员开卡业务的执行结果,包括:根据识别到的操作类型确定执行结果,其中,在用户点击授权确认按钮或表单提交控件完成授权或表单提交的情况下,确定执行结果为开卡成功,在用户点击关闭按钮关闭弹层或超时未响应的情况下,确定执行结果为开卡失败;将执行结果封装为回调函数的结果对象,通过宿主应用提供的跨线程通信机制,将封装的结果对象利用回调函数反馈至小程序前端。
7、在一个实施例中,所述方法还包括:客户端主线程执行弹层销毁、资源释放及内部状态重置操作,并通过跨线程通信机制通知小程序逻辑线程,触发 complete 回调函数的执行,由小程序前端通过清理函数完成收尾操作,所述收尾操作包括以下至少一项:隐藏全局加载态或遮罩层;恢复页面可交互状态(如启用被禁用的按钮);重置本地开卡状态标识,防止重复触发;记录日志或埋点(非业务核心逻辑)。
8、根据第二方面,提供一种小程序的会员开卡方法,适用于宿主应用的服务端,所述方法包括:接收宿主应用的客户端通过执行小程序基础库的会员卡开卡业务逻辑发起的后端会员卡服务请求,其中,小程序基础库由宿主应用服务端向用户终端下发,所述会员卡开卡业务逻辑由小程序前端调用小程序基础库中的预定接口触发,所述后端会员卡服务请求由客户端基于调用请求及从客户端的内存状态中获取的小程序上下文发送;基于所述后端会员卡服务请求查询并补全相关业务参数;向客户端提供所述相关业务参数,以供客户端通过渲染引擎渲染会员卡开卡弹层并向用户展示,在捕获用户在弹层的操作的情况下,根据操作结果向小程序前端反馈会员开卡业务的执行结果。
9、在一个实施例中,所述相关业务参数包括结构化的渲染数据,所述基于所述后端会员卡服务请求查询并补全相关业务参数,包括:从所述后端会员卡服务请求中解析小程序基础库透传的会员卡模版的唯一性标识;以所述唯一性标识作为唯一主键,查询模板配置表,获取结构化的渲染数据,所述结构化的渲染数据包括卡面样式、权益文案、表单字段等中的一项或多项渲染元数据。
10、在一个进一步的实施例中,所述请求信息还包括小程序标识、当前的会话凭证中的至少一项,利用所述请求信息查询的相关业务参数包括会员卡模板的基础元数据,基础元数据包含商户标识、当前版本号、状态标识、模版归属小程序标识、渠道适配规则中的至少一项;利用所述请求信息查询并补全相关业务参数,还包括:在利用所述请求信息查询相关业务参数后,还执行以下至少一种校验操作:调用方身份校验、模板归属关系校验、模板状态校验、用户授权态校验;其中,调用方身份校验通过对小程序基础库透传的小程序标识是否真实存在于宿主应用的注册元数据且处于正常启用状态进行,模板归属关系校验通过小程序标识与模版归属小程序标识的匹配进行,模板状态校验通过检查所查询到的会员卡模板当前生效状态进行,用户授权态校验解析调用请求中的用户会话令牌,向宿主应用服务端的统一认证服务验证令牌有效性及用户登录状态进行;在校验通过的情况下,进行业务参数补全。
11、根据第三方面,提供一种小程序的会员开卡装置,设于宿主应用的客户端,客户端包括小程序前端和宿主应用服务端向用户终端下发的小程序基础库,所述装置包括:触发单元,配置为通过小程序前端对小程序基础库中预定接口的调用请求,触发小程序基础库中预设的会员开卡业务逻辑;调用单元,配置为根据所述调用请求及从客户端的内存状态中获取的小程序上下文,向宿主应用服务端发起后端会员卡服务调用;渲染单元,配置为在接收到经宿主应用服务端补充后的业务参数的情况下,通过客户端的渲染引擎渲染会员卡开卡弹层并向用户展示;反馈单元,配置为捕获用户在弹层的操作,并根据操作结果向小程序前端反馈会员开卡业务的执行结果。
12、根据第四方面,提供一种小程序的会员开卡装置,设于宿主应用的服务端,所述装置包括:接收单元,配置为接收宿主应用的客户端通过执行小程序基础库的会员卡开卡业务逻辑发起的后端会员卡服务请求,其中,小程序基础库由宿主应用服务端向用户终端下发,所述会员卡开卡业务逻辑由小程序前端调用小程序基础库中的预定接口触发,所述后端会员卡服务请求由客户端基于调用请求及从客户端的内存状态中获取的小程序上下文发送;补全单元,配置为基于所述后端会员卡服务请求查询并补全相关业务参数;提供单元,配置为向客户端提供所述相关业务参数,以供客户端通过渲染引擎渲染会员卡开卡弹层并向用户展示,在捕获用户在弹层的操作的情况下,根据操作结果向小程序前端反馈会员开卡业务的执行结果。
13、根据第五方面,提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面或第二方面所述的方法。
14、根据第六方面,提供一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面或第二方面所述的方法。
15、通过本说明书实施例提供的方法和装置,针对小程序中的商家为用户发放会员卡(开卡)业务,宿主应用可以将会员卡开卡业务逻辑去插件化封装,设在服务端下发客户端安装包(或更新数据包)携带的小程序基础库,仅提供原生接口。在小程序商家需要为用户办理会员卡的情况下,可以直接调用该原生接口。宿主应用客户端执行小程序基础库中的会员卡开卡业务逻辑,基于会员开卡请求及从客户端的内存状态中获取的小程序上下文,向宿主应用服务端调用会员卡服务,由会员卡服务获取并补充会员卡模版定义的业务参数,反馈至宿主应用客户端。宿主应用客户端通过自有的原生渲染引擎,渲染并向用户提供会员开卡弹层,在获取用户在弹层的操作结果的情况下,向小程序前端反馈会员开卡业务的执行结果。
16、如此,可以将会员卡开卡的所有业务逻辑封装在宿主应用客户端小程序基础库内部,提供单一、标准的api接口,实现一步式调用,api设计遵循宿主应用统一规范,参数扁平化,回调标准化,显著降低小程序开发者的学习成本和调试难度。另一方面,在宿主应用服务端引入参数智能补全机制,小程序前端仅需传入最小必要参数集,后端自动完成参数拼装,api调用由宿主应用客户端直接响应,内部原生渲染弹层,避免了插件加载的延迟和启动应用(startapp)的跳转感,实现无缝、沉浸式的用户交互。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com