微信小程序注册APP时做了什么

167 阅读2分钟

我们先看看小程序目录结构

小程序在启动的时候,会先读取app.json。读取完app.json里的配置之后。然后会读取app.js文件然后执行, 调用里面的app函数

调用函数时我们给它传入了一个对象, 对象里有一些生命周期函数(类似Vue), 默认生成了这几个函数, 还有 其他生命周期函数

我们可以在生命周期函数中执行某些操作, 进到页面中在请求页面相应数据

注册app时, 我们一般会做什么?

  • 判断小程序得到进入场景
  • 监听生命周期函数, 在生命周期中执行费对应的业务逻辑,比如获取用户信息
  • app是全局共享的单例对象, 可以存放共享数据

判断小程序得到进入场景

场景值用来描述用户进入小程序的路径。完整场景值的含义请查看场景值列表

由于Android系统限制,目前还无法获取到按 Home 键退出到桌面,然后从桌面再次进小程序的场景值,对于这种情况,会保留上一次的场景值。

获取场景值

对于小程序,可以在 App 的 onLaunch 和 onShow,或wx.getLaunchOptionsSync 中获取上述场景值

在微信开发者工具中关闭模拟器可以选择模拟小程序入口

获取用户信息

获取用户信息的方式:

  • wx.getUserInfo – 即将废弃的接口
  • button组件 – 将open-type改成getUserInfo,并且绑定bindgetuserinfo事件去获取
  • 使用open-data组件展示用户信息

使用微信提供的getUserInfo方法可以获取用户信息(即将废弃)

wx.getUserInfo({
      success: function(response) {
        console.log(response)
      },
    })

使用button组件获取用户数据的写法

// wxml页面
<button size="mini" 
  bindgetuserinfo="clickButton"
  open-type="getUserInfo"
>获取用户信息</button>
// js页面
clickButton(e){
    console.log(e)
}

点击button, 事件对象内会有用户信息

展示用户信息的方式

使用open-type可以展示用户信息, 根据属性的值展示不同的数据

官网说明

<!-- 展示用户昵称 -->
<open-data type="userNickName"></open-data>

保存全局变量

app.js

app({
    globalData:{
    name: 'monkeySun'
  }
})

home.js

const app = getApp()
console.log(app.globalData.name)