微信小程序学习手记(一)—— 全局文件

全局逻辑文件:app.js

App({
  //onLaunch()——监听小程序初始化,当小程序初始化完成时,会触发onLaunch(全局只触发一次)
  onLaunch() {
    // 展示本地存储能力,对logs进行初始化,通过wx.getStorageSync('logs')获取本地缓存中指定的 'logs' 对应的数组,第一次会返回一个空数组
    //本地缓存可在调式器的Storage中看到key--logs和对应数组
    const logs = wx.getStorageSync('logs') || []
    //对 logs 进行数组更新,在数组头部添加一个格式化的时间字符串
    logs.unshift(Date.now())
    //使用wx.setStorageSync存储到本地缓存中指定的key中,即将变量 logs 存储到 'logs' 中
    wx.setStorageSync('logs', logs)

    // 登录,通过wx.login(Object object)获取临时登录凭证(code)
    wx.login({
      // success 接口调用成功的回调函数
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
    // 获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限。
    wx.getSetting({
      // success 接口调用成功的回调函数
      success: res => {
        //authSetting为用户授权结果,scope.userInfo是否授权用户信息,即点击获取头像昵称得到的微信授权弹窗,
        //当选择拒绝时authSetting中scope.userInfo: false,允许则authSetting中scope.userInfo: true
        if (res.authSetting['scope.userInfo']) {
          // 若已经授权,则直接调用 getUserInfo 获取头像昵称等用户信息,不会弹框
          wx.getUserInfo({
            success: res => {
              // res.userInfo中有用户的昵称、头像图片的 URL、性别、国家、省份、城市、所用语言等属性
              // 将res.userInfo赋值给全局数据变量globalData中的userInfo
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
              // 即因为网络获取数据是异步的,为保证数据传递,所以此处加入 callback 以防止这种情况
              //userInfoReadyCallback方法定义在index.js的onload中
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
  },
  globalData: {
    userInfo: null
  }
})

全局配置:app.json(此文件其内容必须符合JSON格式,所以文件内部不允许有注释,此处为作者便于自己理解在文章中插入注释)

pages——描述当前小程序所有页面路径,来指定小程序由哪些页面组成

"pages":[
    "pages/index/index",                      ///首页
    "pages/logs/logs"	           //第二页  
]

windows——用于设置小程序的状态栏、导航条的标题、窗口背景色等外观设置,其他外观则在app.wxss中设置

"window":{
     //下拉 loading 的样式,仅支持 dark / light(要实现需开启"enablePullDownRefresh")
    "backgroundTextStyle":"light",

     //(最上方)导航栏外观设置:
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "Weixin",
    "navigationBarTextStyle":"black"
  }

"style": "v2"——指定使用升级后的weui样式,v2表是表明启用新版的组件样式

sitemapLocation": "sitemap.json"——指明 sitemap.json 的位置,默认为 'sitemap.json' 即在 app.json 同级目录下名字的 sitemap.json 文件

全局样式:app.wxss(与css差不多,就不详解了)

sitemap.json :用于配置小程序及其页面是否允许被微信索引,文件内容为一个 JSON 对象,如果没有 sitemap.json ,则默认为所有页面都允许被索引;(个人理解为小程序能否被搜索到,若理解有误请留言告诉我)
desc——提示信息
rules——指定索引规则
“action”: “allow”——命中该规则的页面能被索引
“page”: “*”——表示所有页面,但是不能作为通配符使用

"desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
 "rules": [{
 "action": "allow",
 "page": "*"
 }]

utils文件夹中的utils.js文件则用于获取当前系统日期和时间

上一篇:Python爬虫开发(二):整站爬虫与Web挖掘


下一篇:如何查看一个网站的HTML地图和XML地图?