login.vue 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. <view class="login">
  3. <view class="app_top">
  4. <view class="welcome">
  5. <view class="desc">您好,</view>
  6. <view class="desc">欢迎来到边民互市贸易</view>
  7. </view>
  8. <image src="../../static/images/my.png" mode="widthFix" class="img"></image>
  9. </view>
  10. <view class="dk">
  11. <view class="bg">
  12. <text class="icon">&#xe8b9;</text>
  13. <input type="number" v-model="form.phone" placeholder="请输入手机号" />
  14. </view>
  15. <view class="bg">
  16. <text class="icon">&#xe8b2;</text>
  17. <input :password="show" v-model="form.password" placeholder="请输入密码" />
  18. <view class="label"><view class="icon" :class="{ active: !show }" @click="show = !show">&#xe7a6;</view></view>
  19. </view>
  20. <view class="xy">
  21. <u-checkbox-group class="checkbox" v-model="form.checked">
  22. <u-checkbox size="15" shape="circle" label="我已阅读并同意" labelSize="13" name="true"></u-checkbox>
  23. </u-checkbox-group>
  24. <text class="a" @click="getAgreement(1)">《用户协议》</text>
  25. <text>和</text>
  26. <text class="a" @click="getAgreement(2)">《隐私政策》</text>
  27. </view>
  28. <button class="btn" @click="submit()">登录</button>
  29. <button class="btn register" @click="toRegister()">注册</button>
  30. </view>
  31. </view>
  32. </template>
  33. <script>
  34. export default {
  35. data() {
  36. return {
  37. show: true,
  38. form: {}
  39. };
  40. },
  41. methods: {
  42. submit() {
  43. let rule = [
  44. { name: 'phone', checkType: 'phone', errorMsg: '请输入正确的手机号' },
  45. { name: 'password', checkType: 'notnull', errorMsg: '请输入密码' },
  46. { name: 'checked', checkType: 'notnull', errorMsg: '请同意并勾选协议' }
  47. ];
  48. if (!this.verify.check(this.form, rule)) {
  49. uni.showModal({ content: this.verify.error, showCancel: false });
  50. return false;
  51. }
  52. this.$api.doLogin(this.form).then(resp => {
  53. if (resp.code == 200) {
  54. let data = resp.data;
  55. uni.setStorageSync('token', data.tokenInfo.tokenValue);
  56. uni.setStorageSync('info', data.appUser);
  57. uni.setStorageSync('menu', data.per_list);
  58. this.$common.toBar('/pages/index/index');
  59. }
  60. });
  61. },
  62. toRegister() {
  63. this.$common.to('/pages/login/chooseRole');
  64. },
  65. getAgreement(id) {
  66. this.$common.to('/pages/login/userAgreement?id=' + id);
  67. }
  68. }
  69. };
  70. </script>
  71. <style lang="scss">
  72. page {
  73. background-color: white;
  74. }
  75. </style>