app.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. //app.js
  2. import { default as commonApi } from "./api/commonApi"
  3. import { default as requestApi } from "./utils/request"
  4. import { default as userApi } from "./api/user"
  5. import { promisifyAll, promisify } from 'miniprogram-api-promise';
  6. const wxp = {}
  7. // promisify all wx's api
  8. promisifyAll(wx, wxp)
  9. App({
  10. onLaunch: async function () {
  11. // 展示本地存储能力
  12. // if(!wx.getStorageSync('token')){
  13. // const tokenData = await commonApi.getToken();
  14. // if(tokenData.token){
  15. // wx.setStorageSync('token', tokenData.token)
  16. // requestApi.HEAD.token = tokenData.token
  17. // }
  18. // }
  19. const self = this
  20. // 登录
  21. this.isAuth();
  22. // const auth = await wxp.getSetting()
  23. // if (!auth.authSetting['scope.userInfo']){
  24. // console.log('您还没有授权');
  25. // requestApi.HEAD.token = ''
  26. // wx.setStorageSync('token', '')
  27. // return
  28. // }
  29. // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
  30. // const info = await wxp.getUserInfo()
  31. // console.log(info)
  32. // this.globalData.userInfo = info.userInfo
  33. // if (this.userInfoReadyCallback) {
  34. // this.userInfoReadyCallback(res)
  35. // }
  36. // if(this.globalData.userInfo){
  37. await self.wxLogin({"type":"slince"});
  38. // }
  39. },
  40. globalData: {
  41. userInfo: null,
  42. },
  43. wxLogin:async function(data){
  44. console.log(data)
  45. if (!data){
  46. console.log('你还没有授权')
  47. requestApi.HEAD.token = ''
  48. wx.setStorageSync('token', '')
  49. return
  50. }
  51. let _self = this;
  52. let res = await wxp.login()
  53. if (!res.code){
  54. return
  55. }
  56. data['code'] = res.code
  57. let info = await userApi.userLogin(data)
  58. console.log(info)
  59. wx.setStorageSync('token', info.userInfo.token)
  60. requestApi.HEAD.token = info.userInfo.token
  61. this.setUserInfo(info.userInfo)
  62. if (this.checkLoginReadyCallback){
  63. this.checkLoginReadyCallback(res);
  64. }
  65. return info.userInfo
  66. },
  67. getPhoneNumber: async function(data){
  68. let _self = this;
  69. let res = await wxp.login()
  70. console.log(res)
  71. if (!res.code){
  72. return
  73. }
  74. data['code'] = res.code
  75. let info = await userApi.getMobile(data)
  76. console.log(info)
  77. _self.setUserInfo(info.userInfo)
  78. return info.userInfo;
  79. },
  80. setUserInfo: function(userInfo){
  81. wx.setStorage({
  82. data: userInfo,
  83. key: 'userInfo',
  84. });
  85. this.globalData.userInfo = userInfo
  86. },
  87. getWxUserInfo: async function(){
  88. if (!this.globalData.userInfo){
  89. try {
  90. let userInfo = wx.getStorageSync({key: 'userInfo'})
  91. return userInfo.data
  92. } catch (error) {
  93. console.log('缓存中没有用户信息')
  94. return null
  95. }
  96. }else {
  97. return this.globalData.userInfo
  98. }
  99. },
  100. isAuth: async function(){
  101. console.log(this.globalData.userInfo);
  102. if (!this.globalData.userInfo){
  103. console.log('您还没有授权');
  104. return false;
  105. }
  106. return true;
  107. // const auth = await wxp.getSetting()
  108. // console.log(auth);
  109. // if (!auth.authSetting['scope.userInfo']){
  110. // console.log('您还没有授权');
  111. // return false
  112. // }
  113. // return true
  114. }
  115. })