index.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. // pages/login/index.js
  2. import util from '../../utils/util'
  3. import http from '../../utils/http'
  4. const app = getApp()
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. mobile: '',
  11. password: '',
  12. // mobile|wechat|forget
  13. type: 'mobile',
  14. title: '手机号登录',
  15. name: ''
  16. },
  17. /**
  18. * 生命周期函数--监听页面加载
  19. */
  20. onLoad: function (options) {
  21. },
  22. getUserInfo: function(e) {
  23. var that = this
  24. if(e.detail.errMsg == 'getUserInfo:ok') {
  25. // wx.checkSession({
  26. // success () {
  27. // that.wechatLogin(e.detail)
  28. // },
  29. // fail () {
  30. // session_key 已经失效,需要重新执行登录流程
  31. wx.login({
  32. success (res) {
  33. if(res.code) {
  34. that.wechatLogin(Object.assign({}, e.detail, {code: res.code}))
  35. }
  36. }
  37. }) //重新登录
  38. // }
  39. // })
  40. }
  41. },
  42. wechatLogin: function(data) {
  43. http({
  44. url: 'loginByWechat',
  45. data: data,
  46. loadTitle: '登录中',
  47. success: function(res) {
  48. if(res.code == 0) {
  49. app.loginCallback(res.data)
  50. }
  51. }
  52. })
  53. },
  54. switchType: function(e) {
  55. var type = e.currentTarget.dataset.type
  56. var title = '手机号登录'
  57. if(type == 'wechat') {
  58. title = '微信授权登录'
  59. } else if(type == 'forget') {
  60. title = '忘记密码'
  61. }
  62. this.setData({
  63. title,
  64. type
  65. })
  66. },
  67. updateValue: function(e) {
  68. var name = e.currentTarget.dataset.name
  69. this.setData({
  70. [name]: e.detail
  71. })
  72. },
  73. login: function() {
  74. if(!util.checkMobile(this.data.mobile)) {
  75. util.showError('手机号格式错误')
  76. return false;
  77. }
  78. if(!this.data.password) {
  79. util.showError('密码必填')
  80. return false;
  81. }
  82. http({
  83. url: 'login',
  84. data: {
  85. phone: this.data.mobile,
  86. password: this.data.password
  87. },
  88. loadTitle: '登录中',
  89. success: function(res) {
  90. if(res.code == 0) {
  91. app.loginCallback(res.data)
  92. }
  93. }
  94. })
  95. },
  96. reset: function() {
  97. if(!util.checkMobile(this.data.mobile)) {
  98. util.showError('手机号格式错误')
  99. return false;
  100. }
  101. if(!this.data.name) {
  102. util.showError('真实姓名必填')
  103. return false;
  104. }
  105. http({
  106. url: 'reset',
  107. data: {
  108. phone: this.data.mobile,
  109. name: this.data.name
  110. },
  111. loadTitle: '提交中',
  112. success: function(res) {
  113. if(res.code == 0) {
  114. wx.showToast({
  115. title: '提交成功',
  116. })
  117. }
  118. }
  119. })
  120. },
  121. /**
  122. * 生命周期函数--监听页面初次渲染完成
  123. */
  124. onReady: function () {
  125. },
  126. /**
  127. * 生命周期函数--监听页面显示
  128. */
  129. onShow: function () {
  130. },
  131. /**
  132. * 生命周期函数--监听页面隐藏
  133. */
  134. onHide: function () {
  135. },
  136. /**
  137. * 生命周期函数--监听页面卸载
  138. */
  139. onUnload: function () {
  140. },
  141. /**
  142. * 页面相关事件处理函数--监听用户下拉动作
  143. */
  144. onPullDownRefresh: function () {
  145. },
  146. /**
  147. * 页面上拉触底事件的处理函数
  148. */
  149. onReachBottom: function () {
  150. },
  151. /**
  152. * 用户点击右上角分享
  153. */
  154. onShareAppMessage: function () {
  155. }
  156. })