app.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. //app.js
  2. App({
  3. getCurrentPages: function () {
  4. var pages = getCurrentPages(); //获取加载的页面
  5. var currentPage = pages[pages.length - 1]; //获取当前页面的对象
  6. var url = currentPage.route; //当前页面url
  7. var options = currentPage.options; //获取url中所带的参数
  8. //拼接url的参数
  9. var currentPage = url + '?';
  10. for (var key in options) {
  11. var value = options[key]
  12. currentPage += key + '=' + value + '&';
  13. }
  14. currentPage = currentPage.substring(0, currentPage.length - 1);
  15. return currentPage;
  16. },
  17. onLaunch: function () {
  18. // 展示本地存储能力
  19. var logs = wx.getStorageSync('logs') || []
  20. logs.unshift(Date.now())
  21. wx.setStorageSync('logs', logs)
  22. // 登录
  23. wx.login({
  24. success: res => {
  25. // 发送 res.code 到后台换取 openId, sessionKey, unionId
  26. }
  27. })
  28. // 获取用户信息
  29. wx.getSetting({
  30. success: res => {
  31. if (res.authSetting['scope.userInfo']) {
  32. // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
  33. wx.getUserInfo({
  34. success: res => {
  35. // 可以将 res 发送给后台解码出 unionId
  36. this.globalData.userInfo = res.userInfo
  37. // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
  38. // 所以此处加入 callback 以防止这种情况
  39. if (this.userInfoReadyCallback) {
  40. this.userInfoReadyCallback(res)
  41. }
  42. }
  43. })
  44. }
  45. }
  46. })
  47. },
  48. globalData: {
  49. userInfo: null
  50. }
  51. })