微信小程序开发问题总结

接触小程序开发将近4个月时间,期间遇到各种各样的问题,在这里做个总结(纯文字,代码懒得贴)

  • 小程序授权
    貌似在我接触小程序,就不支持调用API授权,只能通过按钮button的open-type=‘getUserInfo’ 获取。在我这里,授权获取的是用户头像以及名称,并且把用户信息传递到后台服务器保存
  • 小程序登录
    通过wx.login获取code,通过code去请求后台提供的一个获取token的接口,以后每次数据请求都需要在header携带token
  • 授权与登录串联
    在app.js的onLaunch中判断是否为第一次登录(登录成功保存当时的登录时间,判断是否存在当前时间),不存在则是首次登录,调用wx.login获取code,并且请求获取token,完成之后,进行授权处理,获取用户的头像以及昵称保存到服务器。
    后台设置的过期时间为7天,保险起见,前端设置六天过期,对比上一次登录时间与当前时间,超过六天,调用更新接口,从新获取token
    少数情况下,用户删除小程序,将会清空storage,那么上次登录时间也会被清除,用户再次进入小程序时,通过后台是否返回用户名称去判断是否需要进行授权
    在这里还有一个问题,用户进入到商城首页,将会执行app.js中的onlaunch以及index.js中的onload,需要保证先有token再去请求首页数据,当然啦,分享的页面以及扫码进来的页面,也是需要进行处理一下
  • setData频繁操作导致阻塞,情景:首页tab栏,上滑动到它的位置需要置顶,下滑动取消置顶
    利用wx.createSelectorQuery()先获取tabs的位置,为了防止某些用户在还没加载完成的情况下滑动屏幕,导致位置计算不准备,需要进行top+scollTop操作。然后再onPageScoll中,通过e.scollTop对比tabs高度判断是否需要置顶,在这里需要注意,不要把e.scollTop的值一直进行setData操作,这会导致阻塞,正确的操作是,在js判断,两则高度大于或小于时,进行一次setData就好
  • 项目是一个分销商城,具有普通用户身份以及团长身份、高级团长身份
    不同的身份,展示不一样的界面。普通用户进来商城,此时是一个普通用户身份,只能进行单独购买,没有开商品团的功能。而团长身份,是可以开商品团,并且可以分享当前商品出去,别人通过扫码以及链接进来购买,团长可以获取利润分销,具有邀请奖励,绑定下级、下级购物有分销、升级为高级团长、参团的价格低于单独购买等等
    优化方面
  • 分包,主包只包含主页面,其他页面都放在subPackages分包里面,能大大加快首次加载数据,比如没分包前,主包可能2000kb,分包后,主包1000kb。
  • 请求,比如:在一个页面,顶部有三个按钮,点击在页面下面展示数据,在这里,可以把数据保存起来,点击过的数据直接在保存中取,减低请求。
  • 善于利用storage,有时候,用户的行为是可以预测的,可以提前请求把数据保存起来,用户进入下个页面,直接取数据展示,提升一下用户的愉悦感,展示完成,可以把保存数据清空哦,稍微减低storage内存。
  • 组件、模板以及公共代码,模块化开发,一个项目,总会有相同的代码段,根据情况,进行抽离,组件适合具有交互和展示,模板适合展示,公共代码适合交互。
  • wxs文件以及css样式文件
    wxs相当于vue过滤,好处还是蛮多的,比如:给金额后面加两个点、订单页面具有立即支付,取消订单、删除订单、查看订单、申请退款订单等等按钮,通过同一个状态位,展示多个按钮,利用wxs可以生成数组渲染。很多css代码都是千篇一律,不妨把它们也抽离出来

微信小程序还有各种各样的细节需要注意,相对而言,上手不难,且行且惜

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值