login.vue 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <template>
  2. <view class="login">
  3. <Logo></Logo>
  4. <view class="form">
  5. <van-field :value="username" name="用户名" label="用户名1" placeholder="请输入用户名" @change="onUser" />
  6. <van-field :value="password" type="password" name="密码" label="密码" placeholder="请输入密码" @change="onWord" />
  7. <view class="btn">
  8. <van-button type="danger" block square form-type="submit" @click="goLogin">登录</van-button>
  9. </view>
  10. </view>
  11. <view class="register">
  12. <navigator url="/pages/register/register">没有账号去注册</navigator>
  13. </view>
  14. </view>
  15. </template>
  16. <script>
  17. import {
  18. toLogin
  19. } from '../../api/user.js';
  20. import {
  21. encrypto
  22. } from '@/utils/cryptojs.js'
  23. export default {
  24. data() {
  25. return {
  26. username: "",
  27. password: ""
  28. }
  29. },
  30. methods: {
  31. onUser(event) {
  32. this.username = event.detail;
  33. },
  34. onWord(event) {
  35. this.password = event.detail;
  36. },
  37. async goLogin() {
  38. const result = await toLogin({
  39. userName: this.username,
  40. passWord: encrypto(this.password)
  41. })
  42. if (result.accessToken) {
  43. uni.setStorageSync("token", result.accessToken);
  44. uni.switchTab({
  45. url: "/pages/home/home"
  46. })
  47. }
  48. }
  49. }
  50. }
  51. </script>
  52. <style lang="less">
  53. .form {
  54. width: 80%;
  55. margin: 50rpx auto;
  56. .btn {
  57. margin-top: 40rpx;
  58. }
  59. }
  60. .register {
  61. color: #00f;
  62. width: 209rpx;
  63. margin: 0 auto;
  64. }
  65. </style>