CN114003211A - 一种太阳码的生成及解析方法、装置、电子设备及介质 - Google Patents
一种太阳码的生成及解析方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN114003211A CN114003211A CN202111306415.8A CN202111306415A CN114003211A CN 114003211 A CN114003211 A CN 114003211A CN 202111306415 A CN202111306415 A CN 202111306415A CN 114003211 A CN114003211 A CN 114003211A
- Authority
- CN
- China
- Prior art keywords
- path parameter
- identifier
- solar
- code
- parameter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开一种太阳码的生成及解析方法、装置、电子设备及介质,涉及软件开发领域,后端在接收到生成请求后,通过key‑value方式将请求中包含的第一Path参数拼接获得第二Path参数,若第二Path参数的长度超过阈值,则将第二Path参数转换为随机串后,再将随机串和第一标识符生成太阳码,当第二Path参数未超过阈值时,将第二标识符和第二Path参数生成太阳码,前端通过扫描该太阳码获取信息,判断信息中的标识符,选择相应解析方式,由于随机串长度可以控制在6位数之内,这样无论如何Path参数的长度都不会超出位数限制,即可合理避开太阳码Path参数长度的限制,且保证生成太阳码的生成个数不受影响。
Description
技术领域
本申请涉及软件开发领域,特别是涉及一种太阳码的生成及解析方法、装置、电子设备及介质。
背景技术
近年来,小程序凭借着开发简单,实用性强,深受众多用户的青睐。小程序有生成小程序码(简称太阳码)功能,可供用户扫码进入小程序特定页面,所有生成的太阳码永久有效,小程序开发者工具为满足不同需求和场景,提供了四个接口供开发者利用太阳码生成服务;
然而目前生成太阳码时,由于受到的限制,会出现Path参数过长时,生成的太阳码个数受限的问题,针对某些行业大量使用小程序太阳码情况,例如餐厅点餐或医疗挂号等复杂业务需要同时满足Path参数长度和太阳码个数的特定需求。
鉴于上述技术,寻找一种能同时保证太阳码的数量和Path参数长度都不受限制的太阳码生成及解析方法是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种太阳码生成及解析方法,以便于解决太阳码的生成数量和Path参数长度受到限制的问题。
为解决上述技术问题,本申请提供一种太阳码生成方法,应用于后端服务器,该方法包括:
接收生成太阳码的请求;
将所述请求包含的第一Path参数进行key-value拼接得到第二Path参数;
判断所述第二Path参数的长度是否超过阈值;
若是,将所述第二Path参数转化为随机串,并将所述随机串和第一标识符生成所述太阳码,其中,所述第一标识符用于表征包含有将所述第二Path参数转化为所述随机串的过程。
若否,则将所述第二Path参数和第二标识符转换生成所述太阳码,其中,所述第二标识符用于表征包含有将所述第二Path参数转换为太阳码的过程。
优选地,在所述接收生成太阳码的请求之后,所述将所述请求包含的第一Path参数进行key-value拼接得到第二Path参数之前,还包括:
判断小程序是否更新;
若是,则进入所述将所述请求包含的第一参数进行key-value拼接得到第二Path参数的步骤;
若否,则第一Path参数不变,根据所述第一Path参数生成所述太阳码。
优选地,该方法还包括:
将所述第二Path参数转换为随机串,在所述随机串中加入第三标识符并生成所述太阳码以便前端服务器根据所述第三标识符解析所述太阳码。
优选地,该方法包括:
接收扫描到的太阳码的信息;
解析所述信息中包含的标识符为第一标识符或第二标识符;
如果为所述第二标识符,则直接解析所述第二Path参数;
如果为所述第一标识符,则通过请求后端服务器接口获取所述第二Path参数后,再对所述第二Path参数进行解析;
根据解析结果执行所述第二Path参数表征的小程序的运行逻辑。
优选地,在所述解析所述信息中包含的标识符为第一标识符或第二标识符之前,还包括:
判断所述信息中是否包含所述第一标识符或所述第二标识符;
若是,则进入所述解析所述信息中包含的标识符为第一标识符或第二标识符的步骤;
若否,则对第一Path参数进行解析,并根据解析结果执行所述第一Path参数表征的所述小程序的运行逻辑。
优选地,所述根据解析结果执行所述第二Path参数表征的小程序的运行逻辑包括:
通过Onload函数获取所述第二Path参数中的信息并赋值给外部变量;
通过所述Onshow读取所述外部变量,并执行所述外部变量Path参数表征的小程序的运行逻辑,所述Onshow通过回调函数+闭包的写法编写。
本申请还提供一种太阳码生成装置,该装置包括:
第一接收模块,用于接收生成太阳码的请求;
拼接模块,用于将所述请求包含的第一Path参数进行key-value拼接得到第二Path参数;
第一判断模块,用于判断所述第二Path参数的长度是否超过阈值;
第一生成模块,用于将所述第二Path参数转化为随机串,并将所述随机串和第一标识符生成所述太阳码,其中,所述第一标识符用于表征包含有将所述第二Path参数转化为所述随机串的过程;
第二生成模块,用于则将所述第二Path参数和第二标识符转换生成所述太阳码,其中,所述第二标识符用于表征包含有将所述第二Path参数转换为太阳码的过程。
作为一种优选的方案,太阳码生成装置还包括:
第二判断模块,用于判断小程序是否更新;
第三生成模块,用于则第一Path参数不变,根据所述第一Path参数生成所述太阳码。
作为一种优选的方案,太阳码生成装置还包括:
第四生成模块,将所述第二Path参数转换为随机串,在所述随机串中加入第三标识符并生成所述太阳码以便前端服务器根据所述第三标识符解析所述太阳码。
本申请还提供一种太阳码解析装置,该装置包括:
第二接收模块,用于接收扫描到的太阳码的信息;
第一解析模块,用于解析所述信息中包含的标识符为第一标识符或第二标识符;
第二解析模块,用于则直接解析所述第二Path参数;
第三解析模块,用于则通过请求后端服务器接口获取所述第二Path参数后,再对所述第二Path参数进行解析;
执行模块,用于根据解析结果执行所述第二Path参数表征的小程序的运行逻辑。
作为一种优选的方案,太阳码解析装置还包括:
第三判断模块,用于判断所述信息中是否包含所述第一标识符或所述第二标识符;
第四解析模块,则对第一Path参数进行解析,并根据解析结果执行所述第一Path参数表征的所述小程序的运行逻辑。
作为一种优选的方案,太阳码解析装置还包括:
赋值模块,通过Onload函数获取所述第二Path参数中的信息并赋值给外部变量;
读取模块,通过所述Onshow读取所述外部变量,并执行所述外部变量Path参数表征的小程序的运行逻辑,所述Onshow通过回调函数+闭包的写法编写。
本申请还提供一种电子设备,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的太阳码生成方法或太阳码解析方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的太阳码生成方法或太阳码解析方法的步骤。
本申请所提供的太阳码生成方法及解析方法,在接收到生成请求后,通过key-value方式将请求中包含的第一Path参数拼接获得第二Path参数,若第二Path参数的长度超过阈值,则通过将第二Path参数转换为随机串后,再将随机串和第一标识符生成太阳码,当第二Path参数未超过阈值时,将第二标识符和第二Path参数生成太阳码,前端通过扫描该太阳码获取信息,判断得到的信息中的标识符,若检测到的为第二标识符,则直接解析第二Path参数,若检测到为第一标识符,则通过请求后端服务器接口拿到所述第二Path参数后,再对所述第二Path参数进行解析,并执行第二Path参数表征的小程序的运行逻辑,由于随机串的特性长度可以控制在6位数之内,这样无论如何Path参数的长度都不会超出位数限制,如此一来,即可合理避开小程序对太阳码Path参数长度的限制,且保证生成太阳码的生成个数不受影响。
本申请提供的装置及电子设备和可读存储介质,与上述方法对应,有益效果相同。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种太阳码生成方法的流程图;
图2为本申请提供的一种太阳码解析方法的流程图;
图3为本申请提供的一种太阳码生成装置结构示意图;
图4为本申请提供的一种太阳码解析装置结构示意图;
图5为本申请另一实施例提供的电子设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种太阳码的生成及解析方法。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
图1为本申请提供的一种太阳码生成方法的流程图,应用于后端服务器,如图所示该方法包括:
S10:接收生成太阳码的请求。
需要说明的是,本实施例中提到的太阳码均为使用小程序开发者工具进行编辑及生成,本实施例中对于小程序版本不进行限定,后续不进行赘述。
后端在拿到请求时,例如生成对应链接’pages/coupon_store/coupon’和Path参数{templateId:11,storeId:22,adid:33}的请求时,则判断出需要生成新的太阳码,本实施例对于请求包含的内容和参数在此不进行限定。
S11:将请求包含的第一Path参数进行key-value拼接得到第二Path参数;
需要说明的是key-value即根据关键字取值,key为关键字,value为值,例如拼接前Path参数为{templateId:11,storeId:22,adid:33},长度不超过阈值时,拼接后value部分则为templateId=11&storeId=22&adid=33的拼接逻辑,长度超过阈值,拼接后value部分则转化为随机串,本实施例中提到的第二Path参数即将第一Path参数按key-value规则拼接后得到的value部分,本实施例中对于key即具体关键字不进行限定。
S12:判断第二Path参数的长度是否超过阈值,若是,进入S13,若否进入S14;
需要说明的是第二Path参数长度指的是第二Path参数的字符数,在此对于阈值的具体值不进行限定。
S13:将第二Path参数转化为随机串,并将随机串和第一标识符生成太阳码,其中,第一标识符用于表征包含有将第二Path参数转化为随机串的过程。
需要说明的是,本实施例所提及的第一标识符及前文所提到的key-value拼接方式拼接参数时的key部分,例如当规定第二Path参数大于阈值时,key=1,则拼接后的完整的程序为,url?scene=key=1&value=随机串,‘key=1’则为第一标识符,在本实施例中对于第一标识符在此不进行具体限定。同时利用数据库表中的映射关系,将参数转换成随机串,而随机串的长度控制在6位数之内,这样无论如何新生成的太阳码都不会超出限制。
S14:则将第二Path参数和第二标识符转换生成太阳码,其中,第二标识符用于表征包含有将第二Path参数转换为太阳码的过程。
如同上文所述,本步骤所提及的第二标识符作用类似于第一标识符,用于指示该参数是由key-value拼接而成而未进行随机串转换,例如当规定第二Path参数小于阈值时,key=2,则拼接后的完整的程序为,url?scene=key=2&value=templateId=11&storeId=22&adid=33。
本实施例中提供的太阳码生成方法,在接收到生成请求后,通过key-value方式将请求中包含的第一Path参数拼接获得第二Path参数,若第二Path参数的长度超过阈值,则通过将第二Path参数转换为随机串后,再将随机串和第一标识符生成太阳码,当第二Path参数未超过阈值时,将第二标识符和第二Path参数生成太阳码,前端通过扫描该太阳码获取信息,判断得到的信息中的标识符,若检测到的为第二标识符,则直接解析第二Path参数,若检测到为第一标识符,则通过请求后端服务器接口拿到所述第二Path参数后,再对所述第二Path参数进行解析,并执行第二Path参数表征的小程序的运行逻辑,由于随机串的特性长度可以控制在6位数之内,这样无论如何Path参数的长度都不会超出位数限制,如此一来,即可合理避开小程序对太阳码Path参数长度的限制,且保证生成太阳码的生成个数不受影响。
上述实施例中,提供了一种全新的太阳码生成方法,但考虑到在实际应用中,商户可能并未更新小程序,为了做到对于老版本的兼容,在此提出优化方案,在接收生成太阳码的请求之后,将请求包含的第一Path参数进行key-value拼接得到第二Path参数之前,该方法还包括:
判断小程序是否更新;
若是,则进入将请求包含的第一参数进行key-value拼接得到第二Path参数的步骤;
若否,则第一Path参数不变,根据第一Path参数生成太阳码。
需要说明的是,本实施例中的小程序为太阳码的使用者的小程序,例如餐厅使用太阳码生成程序时,即为检测餐厅商家的小程序是否进行更新,而后端则根据小程序每次发版产生的,递增的开放平台生成的templateID去判断不同解决方案下的商户pid下的小程序版本是否更新,当检测到小程序未进行更新时,及保持第一Path参数定义不变进行太阳码生成,生成方法及更新前的使用方法,在此对于更新前参数的定义及生成太阳码的方法不进行限定,视具体用户而定,如果商户小程序更新到包含解析代码的版本后,则生成新码,即根据key-value方式拼接得到第二Path参数。
本实施例中针对小程序的版本提出优化方案,因此可以同时兼容新版和旧版的太阳码生成,且保证生成的太阳码有效,且新版太阳码中均有标识符,而旧版太阳码中没有,如此一来,前端只需检测标识符即可选择相应的解析方式解析不同的太阳码,提高本实施例中生成的太阳码的版本兼容性。
在实际应用中,考虑到可能存在特殊用途的太阳码,例如需要加密,或缓存等,上述实施例中未对此提及,本实施例提出优选方案,该方法还包括:
将第二Path参数转换为随机串,在随机串中加入第三标识符并生成太阳码以便前端服务器根据第三标识符解析太阳码。
需要说明的是,本实施例中的第二Path参数转换为随机串无需进行长度判定,而是将所有的需要使用的第二Path参数均转换为随机串,与上述实施例不同,需要区分,且本处的第三标识符为随机串中的标识符,与上述实施例中第一标识符和第二标识符不同,并非为key-value中的key值,需要明确区分。
如此一来,后端在生成随机串的时候增加可加密和缓存等行为,保证数据丢失后也能再次找回,和传输的安全等有益效果,根据数据库映射的参数不同,有益效果不同。
图2为本申请提供的一种太阳码解析方法流程图,应用于前端服务器,该方法包括:
S20:接收扫描到的太阳码的信息;
需要说明的是,本实施例中所提及的太阳码为扫描所得的太阳码,包括但不限于上述太阳码生成方法中提及的太阳码,信息及太阳码所包括的参数及标识符和运行逻辑等等,在此对于信息的具体内容不进行限定。
S21:解析信息中包含的标识符为第一标识符或第二标识符,若为第一标识符,进入步骤S23,若为第二标识符,进入步骤S22;
需要说明的是,本处所提及的第一标识符和第二标识符均为上述太阳码生成方法实施例中提到的标识符,且本实施例中未对信息进行限定,因此太阳码中可能不存在标识符,在此不进行限定,本实施例中只针对包含标识符的情况。
S22:直接解析第二Path参数;
若为第二标识符,即解析到的信息中直接包含第二Path参数,即直接解析即可,在此对于第二Path参数的具体内容不进行限定。
S23:通过请求后端服务器接口获取第二Path参数后,再对第二Path参数进行解析;
若为第一标识符,即解析到的信息中不存在第二Path参数,即需要根据数据库映射和接口转换,识别信息中的随机串后,访问后端服务器取得对应的Path参数,需要说明的是,本实施例中所提及的访问后端服务器取得参数的取参方式在此不进行限定。
S24:根据解析结果执行第二Path参数表征的小程序的运行逻辑。
在此对于本实施例中的执行步骤及运行逻辑不进行限定。
本实施例中提供的太阳码解析方法,在接收到生成请求后,通过key-value方式将请求中包含的第一Path参数拼接获得第二Path参数,若第二Path参数的长度超过阈值,则通过将第二Path参数转换为随机串后,再将随机串和第一标识符生成太阳码,当第二Path参数未超过阈值时,将第二标识符和第二Path参数生成太阳码,前端通过扫描该太阳码获取信息,判断得到的信息中的标识符,若检测到的为第二标识符,则直接解析第二Path参数,若检测到为第一标识符,则通过请求后端服务器接口拿到所述第二Path参数后,再对所述第二Path参数进行解析,并执行第二Path参数表征的小程序的运行逻辑,由于随机串的特性长度可以控制在6位数之内,这样无论如何Path参数的长度都不会超出位数限制,如此一来,即可合理避开小程序对太阳码Path参数长度的限制,且保证生成太阳码的生成个数不受影响。
上述实施例中,提供了一种全新的太阳码解析方法,但考虑到在实际应用中,商户可能并未更新小程序,为了做到对于老版本的兼容,在此提出优化方案,在解析信息中包含的标识符为第一标识符或第二标识符之前,还包括:
判断信息中是否包含第一标识符或第二标识符;
若是,则进入解析信息中包含的标识符为第一标识符或第二标识符的步骤;
若否,则对第一Path参数进行解析,并根据解析结果执行第一Path参数表征的小程序的运行逻辑。
需要说明的是,本实施例中前端只需要解析太阳码中是否含有第一标识符或第二标识符,即可判断相应的太阳码是由新旧哪种版本的方式进行定义,以决定对应的解析方式,增加了方法的兼容性。
在实际应用中,一般来说解析方式是由OnLoad中直接拿到参数,但在信息中没有参数中时,需要请求后端接口拿到参数,因此变为Promise或者接口拿到参数,执行逻辑相当于从同步变为了异步,这样就会导致OnShow中访问参数时,OnLoad中的异步可能还没执行结束,导致OnShow内部参数相关逻辑报错,在此提出优化方案,根据解析结果执行第二Path参数表征的小程序的运行逻辑包括:
通过Onload函数获取第二Path参数中的信息并赋值给外部变量;
通过Onshow读取外部变量,并执行外部变量Path参数表征的小程序的运行逻辑,Onshow通过回调函数+闭包的写法编写。
需要说明的是,Onload即页面加载,Onshow即页面显示,解析参数过程很直接,但考虑到与业务逻辑的低耦合,而业务逻辑是和小程序的生命周期,即OnLoad和OnShow函数强关联的,所以参数的解析就不能影响小程序原本的生命周期执行顺序,执行逻辑相当于从同步变为了异步,这样就会导致OnShow中访问参数时,OnLoad中的异步可能还没执行结束,导致OnShow内部参数相关逻辑报错,因此采用回调函数+闭包的写法,保证去拿到异步解析参数成功的状态后,才去执行业务逻辑,解决了异步取参导致的逻辑运行错误的问题。
在上述实施例中,对于太阳码生成方法及太阳码解析方法进行了详细描述,本申请还提供太阳码生成装置及太阳码解析装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图3为本申请提供的一种太阳码生成装置结构示意图,包括:
第一接收模块1,用于接收生成太阳码的请求;
拼接模块2,用于将请求包含的第一Path参数进行key-value拼接得到第二Path参数;
第一判断模块3,用于判断第二Path参数的长度是否超过阈值;
第一生成模块4,用于将第二Path参数转化为随机串,并将随机串和第一标识符生成太阳码,其中,第一标识符用于表征包含有将第二Path参数转化为随机串的过程;
第二生成模块5,用于则将第二Path参数和第二标识符转换生成太阳码,其中,第二标识符用于表征包含有将第二Path参数转换为太阳码的过程。
作为一种优选的方案,太阳码生成装置还包括:
第二判断模块,用于判断小程序是否更新;
第三生成模块,用于则第一Path参数不变,根据所述第一Path参数生成所述太阳码。
作为一种优选的方案,太阳码生成装置还包括:
第四生成模块,将所述第二Path参数转换为随机串,在所述随机串中加入第三标识符并生成所述太阳码以便前端服务器根据所述第三标识符解析所述太阳码。
图4为本申请提供的一种太阳码解析装置结构示意图,包括:
第二接收模块10,用于接收扫描到的太阳码的信息;
第一解析模块11,用于解析信息中包含的标识符为第一标识符或第二标识符;
第二解析模块12,用于则直接解析第二Path参数;
第三解析模块13,用于则通过请求后端服务器接口获取第二Path参数后,再对第二Path参数进行解析;
执行模块14,用于根据解析结果执行第二Path参数表征的小程序的运行逻辑。
作为一种优选的方案,太阳码解析装置还包括:
第三判断模块,用于判断所述信息中是否包含所述第一标识符或所述第二标识符;
第四解析模块,则对第一Path参数进行解析,并根据解析结果执行所述第一Path参数表征的所述小程序的运行逻辑。
作为一种优选的方案,太阳码解析装置还包括:
赋值模块,通过Onload函数获取所述第二Path参数中的信息并赋值给外部变量;
读取模块,通过所述Onshow读取所述外部变量,并执行所述外部变量Path参数表征的小程序的运行逻辑,所述Onshow通过回调函数+闭包的写法编写。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图5为本申请另一实施例提供的电子设备的结构图,如图5所示,电子设备包括:存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的太阳码生成方法及太阳码解析方法的步骤。
本实施例提供的电子设备可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的太阳码生成方法及太阳码解析方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于太阳码生成方法及太阳码解析方法涉及的数据等。
在一些实施例中,电子设备还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图5中示出的结构并不构成对电子设备的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的电子设备,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:上述实施例中提及的太阳码生成方法及太阳码解析方法。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的太阳码生成方法及太阳码解析方法进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种太阳码生成方法,其特征在于,应用于后端服务器,该方法包括:
接收生成太阳码的请求;
将所述请求包含的第一Path参数进行key-value拼接得到第二Path参数;
判断所述第二Path参数的长度是否超过阈值;
若是,将所述第二Path参数转化为随机串,并将所述随机串和第一标识符生成所述太阳码,其中,所述第一标识符用于表征包含有将所述第二Path参数转化为所述随机串的过程;
若否,则将所述第二Path参数和第二标识符转换生成所述太阳码,其中,所述第二标识符用于表征包含有将所述第二Path参数转换为太阳码的过程。
2.根据权利要求1所述的太阳码生成方法,其特征在于,在所述接收生成太阳码的请求之后,所述将所述请求包含的第一Path参数进行key-value拼接得到第二Path参数之前,还包括:
判断小程序是否更新;
若是,则进入所述将所述请求包含的第一参数进行key-value拼接得到第二Path参数的步骤;
若否,则第一Path参数不变,根据所述第一Path参数生成所述太阳码。
3.根据权利要求1或2所述的太阳码生成方法,其特征在于,还包括:
将所述第二Path参数转换为随机串,在所述随机串中加入第三标识符并生成所述太阳码以便前端服务器根据所述第三标识符解析所述太阳码。
4.一种太阳码解析方法,其特征在于,应用于前端服务器,该方法包括:
接收扫描到的太阳码的信息;
解析所述信息中包含的标识符为第一标识符或第二标识符;
如果为所述第二标识符,则直接解析所述第二Path参数;
如果为所述第一标识符,则通过请求后端服务器接口获取所述第二Path参数后,再对所述第二Path参数进行解析;
根据解析结果执行所述第二Path参数表征的小程序的运行逻辑。
5.根据权利要求4所述的太阳码解析方法,其特征在于,在所述解析所述信息中包含的标识符为第一标识符或第二标识符之前,还包括:
判断所述信息中是否包含所述第一标识符或所述第二标识符;
若是,则进入所述解析所述信息中包含的标识符为第一标识符或第二标识符的步骤;
若否,则对第一Path参数进行解析,并根据解析结果执行所述第一Path参数表征的所述小程序的运行逻辑。
6.根据权利要求5所述的太阳码解析方法,其特征在于,所述根据解析结果执行所述第二Path参数表征的小程序的运行逻辑包括:
通过Onload函数获取所述第二Path参数中的信息并赋值给外部变量;
通过所述Onshow读取所述外部变量,并执行所述外部变量Path参数表征的小程序的运行逻辑,所述Onshow通过回调函数+闭包的写法编写。
7.一种太阳码生成装置,其特征在于,包括:
第一接收模块,用于接收生成太阳码的请求;
拼接模块,用于将所述请求包含的第一Path参数进行key-value拼接得到第二Path参数;
第一判断模块,用于判断所述第二Path参数的长度是否超过阈值;
第一生成模块,用于将所述第二Path参数转化为随机串,并将所述随机串和第一标识符生成所述太阳码,其中,所述第一标识符用于表征包含有将所述第二Path参数转化为所述随机串的过程;
第二生成模块,用于则将所述第二Path参数和第二标识符转换生成所述太阳码,其中,所述第二标识符用于表征包含有将所述第二Path参数转换为太阳码的过程。
8.一种太阳码解析装置,其特征在于,包括:
第二接收模块,用于接收扫描到的太阳码的信息;
第一解析模块,用于解析所述信息中包含的标识符为第一标识符或第二标识符;
第二解析模块,用于则直接解析所述第二Path参数;
第三解析模块,用于则通过请求后端服务器接口获取所述第二Path参数后,再对所述第二Path参数进行解析;
执行模块,用于根据解析结果执行所述第二Path参数表征的小程序的运行逻辑。
9.一种电子设备,其特征在于,包括存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的太阳码生成方法或太阳码解析方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的太阳码生成方法或太阳码解析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111306415.8A CN114003211A (zh) | 2021-11-05 | 2021-11-05 | 一种太阳码的生成及解析方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111306415.8A CN114003211A (zh) | 2021-11-05 | 2021-11-05 | 一种太阳码的生成及解析方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114003211A true CN114003211A (zh) | 2022-02-01 |
Family
ID=79928241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111306415.8A Pending CN114003211A (zh) | 2021-11-05 | 2021-11-05 | 一种太阳码的生成及解析方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003211A (zh) |
-
2021
- 2021-11-05 CN CN202111306415.8A patent/CN114003211A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110502227B (zh) | 代码补全的方法及装置、存储介质、电子设备 | |
CN112104709B (zh) | 智能合约的处理方法、装置、介质及电子设备 | |
CN111736840A (zh) | 小程序应用的编译方法、运行方法、存储介质及电子设备 | |
CN112540862A (zh) | 一种接口文档数据生成方法、装置、设备及存储介质 | |
CN111177113A (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
CN106776779B (zh) | 基于Mac平台的JSON数据生成实体文件的方法 | |
CN113741864B (zh) | 基于自然语言处理的语义化服务接口自动设计方法与系统 | |
CN113360300B (zh) | 接口调用链路生成方法、装置、设备及可读存储介质 | |
CN112800724B (zh) | 可视化配置模板的可读文件导出方法及相关装置 | |
CN117744651A (zh) | 一种语言大模型融合nlu的槽位信息抽取方法及装置 | |
CN112883088B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN116775488A (zh) | 异常数据确定方法、装置、设备、介质及产品 | |
CN111142871A (zh) | 一种前端页面开发系统、方法、设备、介质 | |
CN116737535A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN114003211A (zh) | 一种太阳码的生成及解析方法、装置、电子设备及介质 | |
CN113672233B (zh) | 一种基于Redfish的服务器带外管理方法、装置及设备 | |
CN115495421A (zh) | 一种数据格式化的方法、装置、电子设备及介质 | |
CN115577689A (zh) | 一种表格组件的生成方法、装置、设备及介质 | |
CN112699642B (zh) | 复杂医疗文书的索引提取方法及装置、介质及电子设备 | |
CN110471708B (zh) | 基于可重用组件的配置项获取的方法及装置 | |
CN113805861A (zh) | 基于机器学习的代码生成方法、代码编辑系统及存储介质 | |
EP4068141B1 (en) | Method and system to enable print functionality in high-level synthesis (hls) design platforms | |
CN113094040B (zh) | 一种小程序编译方法和装置 | |
CN114003317B (zh) | 内联实现方法及装置、电子设备、存储介质及程序产品 | |
CN112559478B (zh) | 一种日志生成方法、装置、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |