获取用户信息

util.js封装的getUserInfo、checkLogin等一系列方法可以实现小程序端用户登录、获取用户信息等逻辑。

开发者可以在app.js中封装获取用户信息的逻辑

  • app.js
  1. var util = require('utils/util.js');
  2. util.init();
  3. App({
  4. globalData: {
  5. userInfo: null
  6. },
  7. onLaunch: function () {
  8. var that = this;
  9. that.getUserInfo(); // 需要全局登录时才在此处调用
  10. },
  11. getUserInfo: function(cb) {
  12. var that = this;
  13. // 获取用户信息的时候,强制检测登录态
  14. util.checkLogin({
  15. success: function () {
  16. util.getUserInfo(function (userInfo) {
  17. that.globalData.userInfo = userInfo;
  18. if (typeof cb == 'function') {
  19. cb(userInfo);
  20. }
  21. });
  22. },
  23. fail: function () {
  24. util.login(function (userInfo) {
  25. that.globalData.userInfo = userInfo;
  26. if (typeof cb == 'function') {
  27. cb(userInfo);
  28. }
  29. });
  30. }
  31. });
  32. }
  33. });

在需要用到用户信息的页面js中可以调用app.js封装的业务逻辑

  • pages/account/account.js
  1. var app = getApp();
  2. var util = require('../../utils/util.js');
  3. util.init();
  4. Page({
  5. data: {
  6. userInfo: null
  7. },
  8. onLoad: function () {
  9. var that = this;
  10. app.getUserInfo(function(userInfo) {
  11. that.setData({
  12. userInfo: userInfo
  13. });
  14. });
  15. }
  16. });