login.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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.switchTab({
  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.navigateBack()
  90. },
  91. /**
  92. * 生命周期函数--监听页面加载
  93. */
  94. onLoad: function(options) {
  95. },
  96. /**
  97. * 生命周期函数--监听页面初次渲染完成
  98. */
  99. onReady: function() {
  100. },
  101. /**
  102. * 生命周期函数--监听页面显示
  103. */
  104. onShow: function() {
  105. // 微信解密更新code
  106. wx.login({
  107. success: res => {
  108. // 发送 res.code 到后台换取 openId, sessionKey, unionId
  109. http.request({
  110. login: true,
  111. url: '/appLogin',
  112. data: {
  113. principal: res.code,
  114. appType: 1
  115. },
  116. callBack: result => {
  117. // loginSuccess(result, fn)
  118. wx.setStorageSync('tempToken', 'bearer' + result.access_token)
  119. }
  120. }, true)
  121. },
  122. fail:err=>{
  123. }
  124. })
  125. },
  126. /**
  127. * 生命周期函数--监听页面隐藏
  128. */
  129. onHide: function() {
  130. },
  131. /**
  132. * 生命周期函数--监听页面卸载
  133. */
  134. onUnload: function() {
  135. },
  136. /**
  137. * 页面相关事件处理函数--监听用户下拉动作
  138. */
  139. onPullDownRefresh: function() {
  140. },
  141. /**
  142. * 页面上拉触底事件的处理函数
  143. */
  144. onReachBottom: function() {
  145. },
  146. /**
  147. * 用户点击右上角分享
  148. */
  149. onShareAppMessage: function() {
  150. }
  151. })