login.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. const app = getApp()
  2. const api = require('../../request/api');
  3. const http = require('../../request/http');
  4. const utils = require('../../utils/util.js');
  5. const storeKeys = require('../../utils/storageKeys.js');
  6. Component({
  7. properties: {
  8. showLogin: {
  9. type: Boolean
  10. },
  11. isCall: {
  12. type: Boolean
  13. },
  14. },
  15. data: {
  16. code:'',
  17. },
  18. ready () {
  19. let that = this
  20. wx.login({
  21. success: function(res) {
  22. that.data.code = res.code
  23. }
  24. })
  25. },
  26. methods: {
  27. getPhoneNumber: function (e) {
  28. let that = this;
  29. let errMsg = e.detail.errMsg;
  30. let pages = getCurrentPages();
  31. let perpage = pages[pages.length - 1];
  32. let route = perpage.route;
  33. if (errMsg.indexOf('user cancel') != -1 || errMsg.indexOf('用户未绑定手机,请先在微信客户端进行绑定后重试') != -1) {
  34. console.log('取消');
  35. return false;
  36. }
  37. if (errMsg.indexOf('user deny') != -1) {
  38. console.log('拒绝');
  39. return false;
  40. }
  41. let params = {
  42. openid: utils.getStorageSync("openid"),
  43. iv: e.detail.iv,
  44. encryptedData: e.detail.encryptedData
  45. }
  46. // wx.login({
  47. // success: function (res) {
  48. // if (res.code) {
  49. http.request({
  50. url: api.URL + '/api/mp_wx/login',
  51. data: {
  52. // "code": res.code,
  53. "code": that.data.code,
  54. },
  55. method: 'POST',
  56. success: function (res) {
  57. utils.setStorageSync(storeKeys.OPENID, res.data.data.openid);
  58. if (res.data.data.token) {
  59. utils.toast('登录成功');
  60. utils.setStorageSync(storeKeys.TOKEN, res.data.data.token);
  61. that.getUserInfo()
  62. app.getCartNumber();
  63. that.promotion();
  64. that.setData({
  65. showLogin: false
  66. });
  67. setTimeout(() => {
  68. perpage.onLoad();
  69. }, 1000)
  70. } else {
  71. params.openid = res.data.data.openid,
  72. that.getLoginCall(params, perpage, route)
  73. }
  74. },
  75. error: function (res) {
  76. }
  77. })
  78. // }
  79. // }
  80. // })
  81. },
  82. getUserInfo: function () {
  83. http.request({
  84. url: api.URL + '/api/user/info',
  85. token: utils.getStorageSync(storeKeys.TOKEN),
  86. method: 'GET',
  87. noLogin: true,
  88. success: function (res) {
  89. console.log(res)
  90. let userInfo = res.data.data.userInfo;
  91. app.globalData.userInfo = userInfo
  92. utils.setStorageSync(storeKeys.USERINFO, userInfo);
  93. },
  94. error: function (res) {},
  95. })
  96. },
  97. // 普通用户切换绑定关系
  98. promotion() {
  99. let sharerId = utils.getStorageSync(storeKeys.SHAREID) || utils.getStorageSync(storeKeys.APPLESID) || "";
  100. console.log("sharerId", sharerId)
  101. if (!sharerId) {
  102. return;
  103. }
  104. let data = {
  105. sharerId: sharerId,
  106. isScanCode: "1"
  107. }
  108. http.request({
  109. url: api.URL + '/api/promotion/ch_upper',
  110. data: data,
  111. method: 'POST',
  112. token: utils.getStorageSync(storeKeys.TOKEN),
  113. noLogin: true,
  114. noToast: true,
  115. success: function (res) {
  116. console.log("success")
  117. console.log(res)
  118. },
  119. error: function (res) {
  120. console.log("error")
  121. console.log(res)
  122. }
  123. })
  124. },
  125. getLoginCall(params, perpage, route) {
  126. let that = this;
  127. http.request({
  128. url: api.URL + '/api/mp_wx/mobile',
  129. data: params,
  130. method: 'POST',
  131. success: function (res) {
  132. console.log(res)
  133. utils.toast('登录成功');
  134. utils.setStorageSync(storeKeys.TOKEN, res.data.data.token);
  135. that.getUserInfo()
  136. that.promotion();
  137. app.getCartNumber();
  138. that.setData({
  139. showLogin: false
  140. });
  141. setTimeout(() => {
  142. perpage.onLoad();
  143. }, 1000)
  144. },
  145. error: function (res) {
  146. console.log("新用户登陆失败")
  147. console.log(res)
  148. }
  149. })
  150. },
  151. cancelLogin: function () {
  152. this.setData({
  153. showLogin: false
  154. })
  155. },
  156. }
  157. })