login.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. var http = require("../../utils/http.js");
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. showBindTips: false
  8. },
  9. /**
  10. * 微信登录
  11. */
  12. bindGetUserInfo(e) {
  13. if (e.detail.userInfo) {
  14. wx.setStorageSync('userInfo', e.detail.userInfo)
  15. http.getToken()
  16. // 判断是否已经有绑定账号登陆
  17. if (!wx.getStorageSync('loginResult').nickName) {
  18. this.setData({
  19. showBindTips: true
  20. })
  21. } else {
  22. wx.switchTab({
  23. url: '/pages/index/index'
  24. })
  25. }
  26. } else {
  27. wx.navigateTo({
  28. url: '/pages/user/user',
  29. })
  30. }
  31. },
  32. /**
  33. * 获取用户手机号
  34. */
  35. getPhoneNumber(e) {
  36. if (e.detail.errMsg === 'getPhoneNumber:ok') {
  37. let that = this
  38. var params = {
  39. url: '/user/registerOrBindUser',
  40. method: 'PUT',
  41. data: {
  42. appType: 1,
  43. encryptedData: e.detail.encryptedData,
  44. ivStr: e.detail.iv,
  45. img: wx.getStorageSync('userInfo').avatarUrl || '',
  46. nickName: wx.getStorageSync('userInfo').nickName || '',
  47. validateType: 2,
  48. channelId:wx.getStorageSync('channelId')||3,
  49. registerOrBind:2 // 验证类型 1注册 2绑定
  50. },
  51. callBack: res => {
  52. http.loginSuccess(res,that.getUserInfo)
  53. wx.reLaunch({
  54. url: '/pages/index/index'
  55. })
  56. }
  57. }
  58. http.request(params)
  59. } else {
  60. wx.showToast({
  61. title: '授权失败',
  62. icon: 'none'
  63. })
  64. }
  65. },
  66. /**
  67. * 获取用户信息
  68. */
  69. getUserInfo: function() {
  70. var param = {
  71. url: '/p/user/userInfo',
  72. method: 'GET',
  73. data: {},
  74. callBack: (res) => {
  75. res.channelId&&wx.setStorageSync('channelId',res.channelId)
  76. }
  77. }
  78. http.request(param)
  79. },
  80. /**
  81. * 跳转账号登陆
  82. */
  83. toLogin() {
  84. wx.navigateTo({
  85. url: '/pages/accountLogin/accountLogin',
  86. })
  87. },
  88. goback(){
  89. wx.reLaunch({
  90. url: '/pages/index/index',
  91. })
  92. // wx.navigateBack()
  93. },
  94. /**
  95. * 生命周期函数--监听页面加载
  96. */
  97. onLoad: function(options) {
  98. },
  99. /**
  100. * 生命周期函数--监听页面初次渲染完成
  101. */
  102. onReady: function() {
  103. },
  104. /**
  105. * 生命周期函数--监听页面显示
  106. */
  107. onShow: function() {
  108. // 微信解密更新code
  109. wx.login({
  110. success: res => {
  111. // 发送 res.code 到后台换取 openId, sessionKey, unionId
  112. http.request({
  113. login: true,
  114. url: '/appLogin',
  115. data: {
  116. principal: res.code,
  117. appType: 1
  118. },
  119. callBack: result => {
  120. // loginSuccess(result, fn)
  121. wx.setStorageSync('tempToken', 'bearer' + result.access_token)
  122. }
  123. }, true)
  124. },
  125. fail:err=>{
  126. }
  127. })
  128. },
  129. /**
  130. * 生命周期函数--监听页面隐藏
  131. */
  132. onHide: function() {
  133. },
  134. /**
  135. * 生命周期函数--监听页面卸载
  136. */
  137. onUnload: function() {
  138. },
  139. /**
  140. * 页面相关事件处理函数--监听用户下拉动作
  141. */
  142. onPullDownRefresh: function() {
  143. },
  144. /**
  145. * 页面上拉触底事件的处理函数
  146. */
  147. onReachBottom: function() {
  148. },
  149. /**
  150. * 用户点击右上角分享
  151. */
  152. onShareAppMessage: function() {
  153. }
  154. })