zoukankan      html  css  js  c++  java
  • 微信小程序demo解读(二)

      

      小程序最外层有三个文件,上次我们介绍了全局样式app.wxss,接着我们来说另外两个文件。

      我们来看看脚本文件App.js。为了方便解读我已经加上了注释。

    //app.js
    App({
        /*启动函数
        * */
        onLaunch: function () {
            var logs = wx.getStorageSync('logs') || [];     //调用API从本地缓存中获取数据
            logs.unshift(Date.now());
            wx.setStorageSync('logs', logs);    //存入缓存
        },
        /*获取用户信息
        *   @param cb获取成功时的回调
        * */
        getUserInfo: function (cb) {
            var that = this;
            if (this.globalData.userInfo) {
                typeof cb == "function" && cb(this.globalData.userInfo);  //执行回调
            } else {
                wx.login({      //调用登录接口
                    success: function () {
                        wx.getUserInfo({
                            success: function (res) {
                                that.globalData.userInfo = res.userInfo;  //保存信息
                                typeof cb == "function" && cb(that.globalData.userInfo); //执行回调 
                            }
                        })
                    }
                })
            }
        },
        /*全局对象
        * */
        globalData: {
            userInfo: null
        }
    });

      App.js是小程序的入口,也就是程序的启动位置。Demo里面定义了两个初始化函数和一个全局对象,从小程序的API上可以查到。我们一个一个来说。

      1.onLaunch函数是小程序初始化完成后执行的函数,此时可以调取微信端的一些资源,比如缓存。

      2.getUserInfo函数并不是API中直接获取用户信息的函数,而其内部的wx.getUserInfo才是。它只是对获取函数进行了封装,要调用时可以写:

    app.getUserInfo(function (userInfo) {
        操作用户信息userInfo;
    })

      3.globalData用于存放全局变量,调用时可以用app.globalData。开发者可以往里面添加变量,也可以设置新的全局变量。

      app.json 是对整个小程序的全局配置。我们可以在这个文件中配置小程序是由哪些页面组成,配置小程序的窗口的背景色,配置导航条样式,配置默认标题。注意该文件不可添加任何注释(因为是json格式文件)。

    {
      "pages":[
        "pages/index/index",
        "pages/logs/logs"
      ],
      "window":{
        "backgroundTextStyle":"light",
        "navigationBarBackgroundColor": "#fff",
        "navigationBarTitleText": "WeChat",
        "navigationBarTextStyle":"black"
      }
    }

      1.pages就是我们小程序包含的页面,小程序规定页数不可以超过5个,可以看出小程序并不适合开发大型应用。

      2.window包含了一些窗口的样式设置,backgroundTextStyle是下拉背景字体、loading 图的样式,仅支持 dark/light;其余三个键值都是设置窗口的导航栏的属性,也是app.wxss作用域意外的地方的样式属性。导航栏在什么地方?修改navigationBVarTitleText为“轻松一哈”,可以看到导航栏就是位于屏幕的最上方的小程序的标题。

      

  • 相关阅读:
    Oracle学习
    WPF中获取DataGrid列表的选中行Id的方法
    调用MySql存储过程的方法 '增删改查'
    MySql中存储过程的基本增删改查操作
    在WinForm中遍历获取TreeView的节点及其子节点
    WinForm获取MySql数据的基本增删改查
    WinForm中的用户控件实现分页功能
    NGUI之自适应屏幕
    快速排序法
    Array,ArrayList、List<T>、HashSet<T>、LinkedList<T>与Dictionary<K,V>
  • 原文地址:https://www.cnblogs.com/mazhaokeng/p/6901834.html
Copyright © 2011-2022 走看看