微信小程序——开源-知乎日报客户端源码学习_前端


纪年科技aming
网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。


微信小程序——开源-知乎日报客户端源码学习_前端_02

  • 致敬作者 谢谢 如有冒犯请联系我

微信小程序——开源-知乎日报客户端源码学习_前端_03

//splash 分析

微信小程序——开源-知乎日报客户端源码学习_前端_04微信小程序——开源-知乎日报客户端源码学习_前端_05微信小程序——开源-知乎日报客户端源码学习_前端_06微信小程序——开源-知乎日报客户端源码学习_前端_07微信小程序——开源-知乎日报客户端源码学习_前端_08微信小程序——开源-知乎日报客户端源码学习_前端_09微信小程序——开源-知乎日报客户端源码学习_前端_10

  • requests 在接下来 分析学习
    微信小程序——开源-知乎日报客户端源码学习_前端_11微信小程序——开源-知乎日报客户端源码学习_前端_12微信小程序——开源-知乎日报客户端源码学习_前端_13微信小程序——开源-知乎日报客户端源码学习_前端_14
  • 计算窗口面积 size
  • request - >getsplashcover 跳转到首页
  • 关于 request 的引用 以后再说
    微信小程序——开源-知乎日报客户端源码学习_前端_15微信小程序——开源-知乎日报客户端源码学习_前端_16微信小程序——开源-知乎日报客户端源码学习_前端_17

微信小程序——开源-知乎日报客户端源码学习_前端_18微信小程序——开源-知乎日报客户端源码学习_前端_19微信小程序——开源-知乎日报客户端源码学习_前端_20微信小程序——开源-知乎日报客户端源码学习_前端_21
微信小程序——开源-知乎日报客户端源码学习_前端_22微信小程序——开源-知乎日报客户端源码学习_前端_23
微信小程序——开源-知乎日报客户端源码学习_前端_24微信小程序——开源-知乎日报客户端源码学习_前端_25微信小程序——开源-知乎日报客户端源码学习_前端_26微信小程序——开源-知乎日报客户端源码学习_前端_27微信小程序——开源-知乎日报客户端源码学习_前端_28微信小程序——开源-知乎日报客户端源码学习_前端_29微信小程序——开源-知乎日报客户端源码学习_前端_30微信小程序——开源-知乎日报客户端源码学习_前端_31微信小程序——开源-知乎日报客户端源码学习_前端_32微信小程序——开源-知乎日报客户端源码学习_前端_33微信小程序——开源-知乎日报客户端源码学习_前端_34微信小程序——开源-知乎日报客户端源码学习_前端_35微信小程序——开源-知乎日报客户端源码学习_前端_36微信小程序——开源-知乎日报客户端源码学习_前端_37

生命周期

  • onlaunch:
    当小程序初始化完成时,会触发 onLaunch
    (全局只触发一次)(app.js)

  • onLoad: 页面加载
    小程序注册完成后,加载页面,触发onLoad方法。
    一个页面只会调用一次,可以在 onLoad 中获取打开当前页面所调用的 query 参数(页面js)。

  • onShow: 页面显示
    页面载入后触发onShow方法,显示页面。
    每次打开页面都会调用一次(比如当小程序有后台进入到前台运行或重新进入页面时)。

  • onReady:
    首次显示页面,页面初次渲染完成,会触发onReady方法,渲染页面元素和样式,一个页面只会调用一次,代表页面已经准备妥当,可以和视图层进行交互。
    对界面的设置如wx.setNavigationBarTitle请在onReady之后设置。

  • onHide: 页面隐藏
    当navigateTo或底部tab切换时调用。

  • onUnload: 页面卸载
    当使用重定向方法wx.redirectTo(OBJECT)或关闭当前页返回上一页wx.navigateBack的时候调用。

基本上可以说执行顺序为onLaunch–onLoad–onShow–onReady–onHide.
虽然说onLaunch在onLoad之前执行,
但是在onLaunch里请求获取是否有权限,等待返回值的时候Page里的onLoad事件就已经执行了。

解决办法:
在APP里面onLanch中的网络请求中设置判断

if (this.userInfoReadyCallback) {
this.userInfoReadyCallback(res)
}

在page的onLoad中设置一个回调

app.userInfoReadyCallback = res => {
if (res != ‘’) {
console.log(“app.globalData.userInfo”)
}
}

  • 再来看 上面的获取设置参数 的 程序
  • 接着往下看
    微信小程序——开源-知乎日报客户端源码学习_前端_38

typeof cb == “function” && cb( this.globalData.userInfo )微信小程序——开源-知乎日报客户端源码学习_前端_39

微信小程序——开源-知乎日报客户端源码学习_前端_40微信小程序——开源-知乎日报客户端源码学习_前端_41微信小程序——开源-知乎日报客户端源码学习_前端_42

  • 判断cb是不是函数类型同时将一个参数传入名为cb的函数下
    对应首页 对于用户数据的 getuserinfo调用
    微信小程序——开源-知乎日报客户端源码学习_前端_43微信小程序——开源-知乎日报客户端源码学习_前端_44
  • if else 语句 来处理用户信息 存在与否的 处理流程
    微信小程序——开源-知乎日报客户端源码学习_前端_45
    • 更新 设置函数
    • 往下看
      微信小程序——开源-知乎日报客户端源码学习_前端_46
  • 分别为 获取缓存 函数 和 全局变量
  • 看到了 一开始 获取设置 的 数据 appsetting

— app.js 结束

老版本 授权弹框 的问题 需要解决

微信小程序——开源-知乎日报客户端源码学习_前端_47

设计 流程
先分析产品需求 --> UI设计 -->架构选型设计分析—> 框架搭建–>前端服务实现设计 --> 后端服务实现开发–>内网测试—> 可运维架构部署测试 —> git优化改良&&测试–> 分布式容器云部署