my.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. // pages/my/my.js
  2. var app=getApp();
  3. Page({
  4. /**
  5. * 页面的初始数据
  6. */
  7. data: {
  8. buttonText:'发送验证码',
  9. phone:"",
  10. code:"",
  11. avatar:"/images/头像.png",
  12. userInfo:null,
  13. countDown:60,
  14. timer:null,
  15. sendCodeDisabled:false,
  16. },
  17. onPhoneInput(e){
  18. this.setData({
  19. phone:e.detail
  20. });
  21. },
  22. onCodeInput(e){
  23. this.setData({
  24. code:e.detail
  25. });
  26. },
  27. sendCode(){
  28. if(this.data.sendCodeDisabled){
  29. return;
  30. }
  31. if(this.data.phone.length<11){
  32. wx.showToast({
  33. title: '手机号长度错误',
  34. icon:"none",
  35. });
  36. return;
  37. };
  38. var reg=/^(1[3|4|5|6|7|8|9])\d{9}$/;
  39. if(!reg.test(this.data.phone)){
  40. wx.showToast({
  41. title: '手机号格式错误',
  42. icon:"none",
  43. });
  44. return;
  45. }
  46. wx.request({
  47. url: 'http://127.0.0.1:8000/api/message/',
  48. data: {
  49. phone:this.data.phone
  50. },
  51. method: 'GET',
  52. success: (res) => {
  53. console.log(res);
  54. if(res.data.status){
  55. this.setData({
  56. sendCodeDisabled:true,
  57. timer:setInterval(this.hcountDown,1000)
  58. });
  59. wx.showToast({
  60. title: res.data.message,
  61. icon:"none",
  62. });
  63. }else{
  64. wx.showToast({
  65. title: res.data.message,
  66. icon:"none",
  67. });
  68. }
  69. },
  70. })
  71. },
  72. tuichu(e){
  73. app.delUserInfo();
  74. this.setData({
  75. userInfo:null
  76. });
  77. },
  78. denglu(e){
  79. const pagePath = e.currentTarget.dataset.url; // 改为 data-url
  80. if (pagePath) {
  81. // 跳转到对应的页面
  82. wx.navigateTo({
  83. url: pagePath,
  84. });
  85. } else {
  86. console.error('页面路径未定义');
  87. };
  88. },
  89. hcountDown(){
  90. var countDown=this.data.countDown;
  91. if(countDown===0){
  92. clearInterval(this.data.timer);
  93. this.setData({
  94. buttonText:'发送验证码',
  95. sendCodeDisabled:false,
  96. countDown:60
  97. });
  98. return;
  99. }
  100. this.setData({
  101. buttonText:countDown+'s',
  102. countDown:countDown-1
  103. });
  104. },
  105. login2(e){
  106. wx.showLoading({
  107. title: '登录中...',
  108. mask: true // 防止触摸穿透
  109. });
  110. wx.request({
  111. url: 'http://127.0.0.1:8000/api/login/',
  112. data: {
  113. phone:this.data.phone,
  114. code:this.data.code
  115. },
  116. method: 'POST',
  117. dataType:'json',
  118. success: (res) => {
  119. console.log(res);
  120. if(res.data.status){
  121. console.log(res.data.data);
  122. console.log(e);
  123. this.setData({
  124. userInfo:e.detail.userInfo
  125. });
  126. app.initUserInfo(res.data.data,e.detail.userInfo)
  127. }else{
  128. wx.showToast({
  129. title:res.data.message,
  130. icon:"none",
  131. });
  132. }
  133. },
  134. });
  135. wx.hideLoading();
  136. },
  137. denglu1(e) {
  138. const pagePath = e.currentTarget.dataset.url;
  139. if (app.globalData.userInfo && app.globalData.userInfo.token) {
  140. if (pagePath) {
  141. wx.navigateTo({
  142. url: pagePath,
  143. });
  144. } else {
  145. console.error('页面路径未定义');
  146. }
  147. } else {
  148. wx.showToast({
  149. title: '请先登录',
  150. icon: 'none'
  151. });
  152. wx.navigateTo({
  153. url: '/pages/my/my',
  154. });
  155. }
  156. },
  157. login(){
  158. wx.request({
  159. url: 'http://127.0.0.1:8000/api/login/',
  160. data: {
  161. phone:this.data.phone,
  162. code:this.data.code
  163. },
  164. method: 'POST',
  165. dataType:'json',
  166. success: (res) => {
  167. console.log(res);
  168. if(res.data.status){
  169. console.log(res.data.data);
  170. this.setData({
  171. userInfo:res.data.data.token,
  172. id:res.data.data.id,
  173. });
  174. }else{
  175. wx.showToast({
  176. title:res.data.message,
  177. icon:"none",
  178. });
  179. }
  180. },
  181. })
  182. },
  183. /**
  184. * 生命周期函数--监听页面加载
  185. */
  186. onLoad(options) {
  187. },
  188. /**
  189. * 生命周期函数--监听页面初次渲染完成
  190. */
  191. onReady() {
  192. },
  193. /**
  194. * 生命周期函数--监听页面显示
  195. */
  196. onShow() {
  197. var userInfo=app.globalData.userInfo
  198. this.setData({
  199. userInfo:userInfo
  200. });
  201. },
  202. /**
  203. * 生命周期函数--监听页面隐藏
  204. */
  205. onHide() {
  206. },
  207. /**
  208. * 生命周期函数--监听页面卸载
  209. */
  210. onUnload() {
  211. clearInterval(this.data.timer);
  212. },
  213. /**
  214. * 页面相关事件处理函数--监听用户下拉动作
  215. */
  216. onPullDownRefresh() {
  217. },
  218. /**
  219. * 页面上拉触底事件的处理函数
  220. */
  221. onReachBottom() {
  222. },
  223. /**
  224. * 用户点击右上角分享
  225. */
  226. onShareAppMessage() {
  227. }
  228. })