创新实训——记录12

目录

内容综述

第一次提交审核失败

进一步整改的功能

index页面tabs数组的修改

总结


内容综述

本文记录第一次将小程序提交审核后未通过的原因,并进行修改,之后进行一系列产品更新。

第一次提交审核失败

在2022年5月20日晚21:03,我整理了代码,将目前为止最新的版本4.1.2提交审核。但这次审核不是为了正式发布,而是收集审核会卡的条件。

21:31时,收到通知,审核未通过,原因如下:

说得很清楚,原因在于,获取openid的时候需要用到小程序的秘钥向微信官方API发送网络请求。我将秘钥明文放在前端,直接发送网络请求,增大了数据泄漏的风险。代码如下:

可以看到,前端存储了appId和secret,并且直接向官方API发送网络请求,这个是比较危险的。审核方面给出的建议是,将appId和secret交由后端负责,由后端获取openid等信息。因此,需要与后端的同学协调,完成登录功能的改变。

经过商议,我们采取如下的模式:

(注:图片引自博客微信小程序 接口调用讲解 (AccessToken、小程序码登录)_moTzxx的博客-CSDN博客_微信小程序接口) 

简单来说,获取openid除了需要appId和appSecret之外,还需要临时登录凭证code。前端需要获取到code,交给后端,后端利用这三个获取openid。然后,按照我们自己的逻辑,再获取token,一并返回给用户即可。

获取code的方法,就是已经在代码中体现的:

 而且,在上面的userInfo中,包含了nickname等用户信息,可以一块交给后端处理。

逻辑清晰了之后,后端同学给出了新的接口:

 

这个就很清晰了,比之前的登录逻辑还要清晰。根据这个接口,我实现了新的登录方法。首先是用户点击登录按钮后的逻辑如下:

具体的网络请求由login方法完成:

仍然采用Promise格式。至此,新的登录方式已经写好。

测试:

 

成功!

进一步整改的功能

index页面tabs数组的修改

修改之后,我发现仍有一些毛刺需要剔除。例如,在首页,当点击非“发现”tab,如“论文”,后离开首页,再返回首页,显示的仍然是“论文”,这不符合常理。因为在离开之后再次打开,应该显示“发现”。因此,需要在离开首页时进行一定程度的修改。

我采用了生命周期中的onHide方法,在页面被隐藏时,修改tab数组,保证第一个tab被显示。修改如下:

这样,在隐藏时仍将第一个置为active。效果如下:

 

 

 成功。

总结

本文第一次尝试了提交,并对相应功能进行了整改。接下来,将进一步完善小程序。

猜你喜欢

转载自blog.csdn.net/weixin_45792464/article/details/124899450
今日推荐