app.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  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. const auth = await wxp.getSetting()
  22. if (!auth.authSetting['scope.userInfo']){
  23. console.log('您还没有授权');
  24. return
  25. }
  26. // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
  27. const info = await wxp.getUserInfo()
  28. this.globalData.userInfo = info.userInfo
  29. if (this.userInfoReadyCallback) {
  30. this.userInfoReadyCallback(res)
  31. }
  32. await self.wxLogin(info.userInfo);
  33. },
  34. globalData: {
  35. userInfo: null
  36. },
  37. wxLogin:async function(data){
  38. console.log(data)
  39. if (!data){
  40. console.log('你还没有授权')
  41. return
  42. }
  43. let _self = this;
  44. let res = await wxp.login()
  45. console.log(res)
  46. if (!res.code){
  47. return
  48. }
  49. data['code'] = res.code
  50. console.log(data)
  51. let info = await userApi.userLogin(data)
  52. wx.setStorageSync('token', info.userInfo.token)
  53. requestApi.HEAD.token = info.userInfo.token
  54. this.setUserInfo(info.userInfo)
  55. return info.userInfo
  56. },
  57. getPhoneNumber: async function(data){
  58. let _self = this;
  59. let res = await wxp.login()
  60. console.log(res)
  61. if (!res.code){
  62. return
  63. }
  64. data['code'] = res.code
  65. let info = await userApi.getMobile(data)
  66. console.log(info)
  67. _self.setUserInfo(info.userInfo)
  68. return info.userInfo;
  69. },
  70. setUserInfo: function(userInfo){
  71. wx.setStorage({
  72. data: userInfo,
  73. key: 'userInfo',
  74. });
  75. this.globalData.userInfo = userInfo
  76. },
  77. getWxUserInfo: async function(){
  78. if (!this.globalData.userInfo){
  79. try {
  80. let userInfo = wx.getStorageSync({key: 'userInfo'})
  81. return userInfo.data
  82. } catch (error) {
  83. console.log('缓存中没有用户信息')
  84. return null
  85. }
  86. }else {
  87. return this.globalData.userInfo
  88. }
  89. },
  90. isAuth: async function(){
  91. const auth = await wxp.getSetting()
  92. if (!auth.authSetting['scope.userInfo']){
  93. console.log('您还没有授权');
  94. return false
  95. }
  96. return true
  97. }
  98. })