导航:首页 > 软件知识 > 微信小程序解析错误怎么解决

微信小程序解析错误怎么解决

发布时间:2023-05-19 02:33:52

‘壹’ 微信小程序一直正在解析配置

发生此情况的可能原因有如下几方面:

1、网络不好;

2、该小程序被官方查封;

3、软件临时出现问题。

解决方法侍掘如下:

1、重启打开手机宏纳,进入该软件;

2、重启该软件;手机软件卡顿也会引发上述情况,重启之后查看是否恢复正常;

3、选择网络好的地方重新老绝核尝试。

‘贰’ 微信小程序解密报错:pad block corrupted 解决方法

通过wx.getUserInfo获取用户的openId 和unionId,需要对接口返回的加密数据( encryptedData )进行对称解密。

/**

    * 功能描述: <br>

    * 〈功能详细描述〉

    *

*@paramargs

*@see[相关类逗穗兄/方法](可选)

*@since[产品/模块版本](可选)

    */

publicstaticvoidmain(String[] args){

String encryptedData ="********......*******";

String sessionKey ="********......*******";

String iv ="9btKSYjvtGMGpknPpjS2Ag==";

        JSONObject jsonObject = getUserInfo(encryptedData, sessionKey, iv);

System.out.println(jsonObject.getString("unionId"));

        System.out.println(jsonObject.toJSONString());

    }

结果运行报错:

javax.crypto.BadPaddingException: pad block corrupted

at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$BufferedGenericBlockCipher.doFinal(Unknown Source)

at org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher.engineDoFinal(Unknown Source)

at javax.crypto.Cipher.doFinal(Cipher.java:2087)

at com.saic.ebiz.service.util.AESUtils.getUserInfo(AESUtils.java:62)

at com.saic.ebiz.service.util.AESUtils.main(AESUtils.java:86)

Exception in thread"main"java.lang.NullPointerException

at com.saic.ebiz.service.util.AESUtils.main(AESUtils.java:87)

查询原因,有可能是我的wx.login在wx.getUserInfo之后调的原因,细究一下

我们通过wx.login获得用户授权码code,接下来我们用code以及appid和appSecret请求微信

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

获取session_key,而sessionKey又是解密encryptedData的密钥,所以一旦我们的wx.login在wx.getUserInfo之后获取,我们redis中存族拦储山袭的sessionKey绝对不是当前获取encryptedData的密钥。所以更改小程序请求顺序,每次请求wx.getUserInfo之前先请求wx.login,同时生成sessionKey放入缓存。而后需要解密的时候就可以正常解密了

特别注意: 让前端看一下你的请求顺序是不是错了

‘叁’ 微信小程序(抖音小程序):手机号码解析失败解决方案

本文以抖音小程序(微信小程序获取流程和接口一模一样)为例,最近博主在做一个抖音小程序的小项目,前端在获取用户手机号的时候,需要调用 tt.login 接口进行登录,登录后返回一个code,这个code有3分钟的失效时间,根据这个code可以获取到sessionKey,这个sessionKey类似于对称加密的密钥,会对用户信息进行加密。在获取用户信息的时候,前端
需要将 <button> 组件 open-type 的值设置为 getPhoneNumber。用户点击后会弹出一个授权弹窗让用户确认(若该用户账户未绑定手机号码会执行一次绑定手机号码的流程;授权弹窗每次使用都会弹出)。 用户同意后,开发者可以通过 bindgetphonenumber 事件回调获取到一个加密数据,开发者可以把该数据传回到自己的服务端进行解密获取手机号。

获取到的加密数据需要使用sessionKey进行解密,因此在获取用户信息前,需要登录一次,获取到code,然后根据code获取到sessionKey,再根据sessionKey进行加密数据的解密,解析出手机号。

根据博主猜测,抖音在登录后会生成一个code,和一个对应的sessionKey,在会话期间(session未过期)的时候获取用户信息,会将用户信息使用sessionKey进行数据的加密,进行数据的解密也需要使用到sessionKey。code和sessionKey是对应的,但是它们的失效期是不一样的,code的失效期是3分钟,sessionKey的失效时间是不定的,只要用户活跃在页面上都不会失效。在获取到code的3分钟内调用 code-2-session 接口,会获取到sessionKey,如果3分钟后根据code获取sessionKey将会获取失败,因此解密也会失败。

因为无法判断用户什么时候开始获取用户信息,所以用户一进入页面,前端就会调用 tt.login 接口进行登录,然后放到localstorage缓存中,在用户点击按钮时,弹出授权框用户确认后获取到用户信息的加密数据,然后前端将缓存的code和加密数据一并传给后端。后端用code先去调用 code-2-session 接口获取到sessionKey,然后以sessionKey为密钥进行AES解密,获取到手机号返回给前台。整个流程看起来没什么问题,但是一旦用户在页面停留时间超过3分钟,然后再去获取用户信息会失败,主要是因为code已经失效,获取sessionKey会失败。

目前的问题就是过了code的有效期后,根据code获取sessionKey失败。那么在前端login获取到code后,先缓存到本地,然后立即调用后台接口去获取sessionKey然后缓存到redis里面,key为code,value为sessionKey。失效时间根据自己的业务设置(小程序页面用户不会停留太久,因此缓存失效时间设置为30分钟),用户退出小程序后,会重新login,然后也会存一份新的code和sessionKey的对应值。

用户在授权到用户信息后,前端直接将缓存的code和加密后的用户信息上传到服务到进行解密。服务端根据code从缓存中先获取到sessionKey,然后再用sessionKey进行解密,解析出手机号进行返回。

以上解决办法每次基本都可以获取手机号成功,但是也会存在一些问题

UserInfoController主要提供两个接口,一个是解密手机号和code2seesion操作

TiktokEncryptedParam 主要是前端传过来的code和加密后的数据

TiktokUserInfoSPI 主要是对接口的封装

TiktokUserInfoSPIAdapter 实现接口

使用AES对称加密

‘肆’ 微信小程序报告错误

应用程序错误解决方法:
1.检查电脑是否存在病毒,请使用网络卫士进行木马查杀。
2.系统文件损坏或丢失,盗版系统或Ghost版本系统,很容易出现该问题。建议:使用完整版或正版系统。
3.安装的软件与系统或其它软件发生冲突,找到发生冲突的软件,卸载它。如果更新下载补丁不是该软件的错误补丁,也会引起软件异常,解决办法:卸载该软件,重新下载重新安装试试。顺便检查开机启动项,把没必要启动的启动项禁止开机启动。
4.如果检查上面的都没问题,可以试试下面的方法。
打开开始菜单→运行→输入cmd→回车,在命令提示符下输入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。
完成后,在输入下面
for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。
如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止(重启电脑)。

‘伍’ 微信小程序报错&解决方法

新源灶建一个page页面和page文件后,发现报错了:

打开search.json后,如下所示含迟

若雹老扮是没有需要添加的json,就将此json文件删除。在小程序中, 页面的样式表(xxx.wxss)和页面的配置文件(xxx.json)是非必要的 ;
若是有需要添加的内容,添加json内容并保存即可。

‘陆’ 安装微信时显示解析包出现问题怎么办

安装微信时显示解析包出现问题的解决办法:
1、RE文件管理设置的缘故,如果将其设置成“sdcard\ ”就会出现“解析包出现问题”的错误提示。解决方法:重新下载安装apk程序。将RE文件管理设置为“\ ”即可。

2、如果重新下载也解决不了Android解析包出现问题的话,很大一个可能就是在于你的手机的烂闷团腊配置参数不支持这款软件。

3、举个例子吧,如果一款apk程序的系统版本要求在Android 4.0以上,而你的手机则是Android 2.3系统,就会出现“解析包时出现问题”这样的解析错误。

4、RE管理器设置问题:进入RE管理器——设置——常规设置——主文件夹选项,有的网友反映如果将其设置成“sdcard\ ”就会出现“解析饥或弯包出现问题”的错误提示,而如果将其设置“\ ”就可以成功安装。

5、Android apk程序解析包出现问题的话,可能是由于你下载的apk程序本身就有问题,程序的压缩包可能在下载过程中被损坏了,建议请重新下载一次。

阅读全文

与微信小程序解析错误怎么解决相关的资料

热点内容
评委打分程序在哪里 浏览:481
内江市老城区菜市场有哪些 浏览:369
凯尔在哪里代理 浏览:18
保险代理公司怎么考核 浏览:651
去哪里可以免费开放技术资源 浏览:319
给孩子发信息有哪些方法 浏览:524
小区摄像头录像数据在哪里 浏览:640
为什么重卡市场竞争激烈 浏览:664
武理工电子信息和机设哪个好 浏览:917
为什么看好碳交易 浏览:321
boss小程序如何屏蔽公司 浏览:291
微商代理怎么下单发货 浏览:279
减肥产品的代工厂有哪些 浏览:825
佳琦直播间秒杀产品什么时间 浏览:631
销售信息技术服务费计入什么科目 浏览:523
光储存技术用于哪些领域 浏览:860
深圳怡宝总代理怎么样 浏览:419
c程序输出如何四行星号 浏览:661
实型数据关键字有哪些 浏览:736
aiot上哪些交易所 浏览:247