mpvue架构开发小程序遇到的问题总结

发布时间:2019-07-01 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了mpvue架构开发小程序遇到的问题总结脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

背景

上上周也就是20180717号,我厂要开发一个新的小程序,用来做快速增长实践,预计三天开发完成。只做一个分享功能,听起来很简单,分析起来似乎也很简单。

准备工作

前言:

小程序架构的搭建,由于之前是用的wepy这个框架(微信官方小程序脚手架)在用这个框架的时候发现了许多他不足的地方(当时分析可能是刚刚诞生,许多问题没有考虑到),但是经过各种方案解决了手上的问题,成功上线

  • 主要的问题

    • 同步异步交叉任务,通过时间总线来搞定
    • 没有引入redux 使用全局变量刷新状态。
    • redux 确实不好用,成本高于实现利益。

正题:

  1. 架构mpvue基本框架的时候,我第一个想到的是请求的封装,顺利完成。使用的是flyjs框架。一个基于Promise的、强大的、支持多种JavaScript运行时的http请求库. 有了它,您可以使用一份http请求代码在浏览器、微信小程序、Weex、Node中都能正常运行。同时可以方便配合 Vue家族的框架. 可以定义一个变量直接挂到wx上 例如: wx.$network = fly
  2. 遇到的第一个真正意义上的问题,微信接口wx.getUserInfo这接口的变更。
  • 变更说明: 此接口有调整,使用该接口将不再出现授权弹窗,请使用 <button oPEn-type="getUserInfo"></button> 引导用户主动进行授权操作
  • 就是说必须用户明确知道要拿自己的信息,并且由用户出发这个事件才行,之前老版本的静默拿用户信息的套路已经渐行渐远。
  • 这个用户信息有两个关键的信息 encryptedData 和 iv 一般后端都需要这两个信息,虽然可以通过wx.login接口拿到js_code 小程序调用wx.LOGin() 获取 临时登录凭证code ,并回传到开发者服务器。开发者服务器以code换取 用户唯一标识openid 和 会话密钥session_key。之后开发者服务器可以根据用户标识来生成自定义登录态,用于后续业务逻辑中前后端交互时识别用户身份。但是我司在当时的环境下需要上述的getUserInfo来做用户分享的相关数据存储。

账户合并

我司的账号合并体系流程是这样的
从一个微信匿名用户出发(一个匿名账号)—> 可以通过微信页面的内嵌网页登录页,进行登录,这个登录的过程就会产生账户合并(匿名用户合并到了登录账户)然后当在微信注销账号的时候又会生成一个新的匿名账号,之前的匿名账号被删除了(wtf?)

mpvue架构开发小程序遇到的问题总结

总结:账户合并体系屡次出现问题,非常有必要进行一次清楚逻辑梳理与代码重构。重构的过程比如会遇到各种操蛋的场景而当时做的违规操作。但做好了,就是一劳永逸的事。

脚本宝典总结

以上是脚本宝典为你收集整理的mpvue架构开发小程序遇到的问题总结全部内容,希望文章能够帮你解决mpvue架构开发小程序遇到的问题总结所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。