login.vue 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. <template>
  2. <view class="pages">
  3. <image src="../static/common/images/dlbg.png" class="dlbg"></image>
  4. <view class="title">用户登录</view>
  5. <view class="item dflex"><input type="number" maxlength="11" focus placeholder="请输入手机号"
  6. placeholder-class="placegolder" v-model="mobile" /></view>
  7. <view class="item dflex" v-if="isLoginType == 0">
  8. <input type="number" maxlength="6" placeholder="请输入验证码" placeholder-class="placegolder" v-model="code" />
  9. <view class="huoqu" @click="getCode()"
  10. v-text="sendMsg"></view>
  11. </view>
  12. <view class="item dflex" v-else><input placeholder="请输入密码" password="true" placeholder-class="placegolder"
  13. type="text" v-model="pwd" /></view>
  14. <view class="xieyi dflex">
  15. <image :src="'../static/common/images/' + (isCheckXY ? 'xyico_h' : 'xyico') + '.png'" @click="checkXY()">
  16. </image>
  17. <view class="dflex">
  18. <text @click="checkXY()">已经阅读并同意</text>
  19. <navigator :url="'/mine/page/page?title=用户协议&isXieyi=true'" hover-class="none">《用户隐私协议》</navigator>
  20. </view>
  21. </view>
  22. <view class="submit" @click="submitLogin">登录</view>
  23. <view class="bot dflex">
  24. <!-- <navigator url="/comm/code/code" hover-class="none" @click="swiLoginWay()">{{ isLoginType == 0 ? '账号密码登录' : '验证码登录' }}</navigator> -->
  25. <!-- <navigator url="/comm/password/password" hover-class="none">忘记密码?</navigator> -->
  26. </view>
  27. <!-- <view class="other dflex">更多登录方式</view>
  28. <view class="list dflex">
  29. <view class="li" @click="wxLogin()">
  30. <image src="../static/common/images/wechat.png"></image>
  31. <text>微信授权登录</text>
  32. </view>
  33. </view> -->
  34. </view>
  35. </template>
  36. <script>
  37. const api = require('../../utils/api.js');
  38. const util = require('../../utils/util.js');
  39. const req = require('../../utils/request.js');
  40. export default {
  41. data() {
  42. return {
  43. isCheckXY: false,
  44. isGetCodeDisabled: false,
  45. isLoginType: 0,
  46. mobile: '', //手机号
  47. code: '', //code
  48. pwd: '', //密码
  49. sendMsg: '获取验证码'
  50. };
  51. },
  52. onLoad() {},
  53. onShow() {},
  54. methods: {
  55. wxLogin() {
  56. uni.redirectTo({
  57. url: '/comm/authorize/authorize'
  58. })
  59. // uni.login({
  60. // provider: 'weixin',
  61. // success: function(loginRes) {
  62. // console.log('微信登录返回的微信数据>>>>>>', loginRes.authResult);
  63. // }
  64. // });
  65. },
  66. checkXY() {
  67. this.isCheckXY = !this.isCheckXY;
  68. },
  69. //切换登录方式
  70. swiLoginWay() {
  71. if (this.isLoginType == 0) {
  72. this.isLoginType = 1;
  73. } else {
  74. this.isLoginType = 0;
  75. }
  76. },
  77. getCode() {
  78. if(this.isGetCodeDisabled==true) return false
  79. if (!this.mobile) {
  80. req.msg('请输入手机号');
  81. return;
  82. }
  83. // console.log(!util.isMobile(this.mobile))
  84. if (!util.isMobile(this.mobile)) {
  85. req.msg('请输入11位有效手机号');
  86. return;
  87. }
  88. req.postRequest(api.api_sms_login, {
  89. mobile: this.mobile
  90. },
  91. data => {
  92. req.msg('验证码获取成功');
  93. let time = 60;
  94. let interval = setInterval(() => {
  95. time--;
  96. if (time == 0) {
  97. this.isGetCodeDisabled = false;
  98. this.sendMsg = '获取验证码';
  99. clearInterval(interval);
  100. } else {
  101. this.isGetCodeDisabled = true;
  102. this.sendMsg = time + '秒后再获取';
  103. }
  104. }, 1000);
  105. },
  106. true
  107. );
  108. },
  109. submitLogin: function() {
  110. var dataP = {};
  111. var apiUrl = '';
  112. if (!this.mobile) {
  113. req.msg('请输入手机号');
  114. return;
  115. }
  116. if (!util.isMobile(this.mobile)) {
  117. req.msg('请输入11位有效手机号');
  118. return;
  119. }
  120. if (this.isLoginType == 0) {
  121. apiUrl = api.api_code_login;
  122. if (!this.code) {
  123. req.msg('请输入验证码');
  124. return;
  125. }
  126. dataP.phone = this.mobile;
  127. dataP.code = this.code;
  128. } else {
  129. apiUrl = api.api_account_login;
  130. if (!this.pwd) {
  131. req.msg('请输入密码');
  132. return;
  133. }
  134. dataP.account = this.mobile;
  135. dataP.password = this.pwd;
  136. }
  137. if (!this.isCheckXY) {
  138. req.msg('请先阅读并同意《用户隐私协议》');
  139. return;
  140. }
  141. req.postRequest(
  142. apiUrl,
  143. dataP,
  144. data => {
  145. // console.log('登录完成》》》》', data);
  146. //缓存用户数据
  147. req.setStorage('userInfo', data);
  148. req.setStorage('AUTH_TOKEN', data.token);
  149. uni.navigateBack();
  150. },
  151. true
  152. );
  153. }
  154. }
  155. };
  156. </script>
  157. <style>
  158. @import './login.css';
  159. page {
  160. background: #fff;
  161. }
  162. </style>