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