login.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <div id="login">
  3. <el-button type="primary" @click="login">登录</el-button>
  4. <input v-model="captcha" type="" name="" />
  5. <img src="https://plaza.4dkankan.com/captcha.jpg" alt="" />
  6. <a v-if="show">文本</a>
  7. <router-view></router-view>
  8. </div>
  9. </template>
  10. <script>
  11. import { defineComponent, reactive, ref, toRefs, onMounted } from "vue";
  12. import { useRoute, useRouter } from "vue-router";
  13. import { useStore } from "vuex";
  14. import { Base64 } from "js-base64";
  15. import { loginapi } from "@/api/api";
  16. import { encodeStr } from "@/util/common";
  17. export default defineComponent({
  18. name: "login",
  19. components: {},
  20. setup(props, ctx) {
  21. const store = useStore();
  22. const wenben = ref(null);
  23. console.log(props);
  24. console.log(ctx);
  25. const router = useRouter();
  26. console.log(router);
  27. const data = reactive({
  28. show: false,
  29. username: "18819272208",
  30. password: "zfb123456",
  31. // captcha: "",
  32. });
  33. console.log(data);
  34. const login = () => {
  35. data.show = true;
  36. console.log(data.show);
  37. let params = {
  38. username: data.username,
  39. password: encodeStr(Base64.encode(data.password)),
  40. // password: data.password,
  41. captcha: data.captcha,
  42. };
  43. store.dispatch("setUserInfo", params);
  44. console.log(store.state.userInfo);
  45. loginapi(params)
  46. .then((res) => {
  47. console.log(res);
  48. router.push("/home");
  49. })
  50. .catch((err) => {
  51. console.log(params);
  52. console.log(err);
  53. });
  54. };
  55. onMounted(() => {
  56. // wenben.value.style = "display:none;";
  57. });
  58. return {
  59. login,
  60. ...toRefs(data),
  61. };
  62. },
  63. });
  64. </script>
  65. <style scoped lang="scss"></style>