Login.vue 793 B

1234567891011121314151617181920212223242526272829
  1. <script setup lang="ts">
  2. const state = reactive({
  3. username: "",
  4. password: "",
  5. });
  6. const tokenCookie = useCookie("token");
  7. const userCookie = useCookie("user");
  8. const router = useRouter();
  9. const msg = useState<string>("msg");
  10. const route = useRoute();
  11. const handleSubmit = async () => {
  12. const data = await $post<LoginResp>("/auth/login", state);
  13. console.log(data);
  14. tokenCookie.value = data?.auth.token;
  15. userCookie.value = JSON.stringify(data?.data);
  16. msg.value = "登录成功";
  17. router.replace(route.query.to || "/");
  18. };
  19. </script>
  20. <template>
  21. <Form class="flex flex-col gap-y-2" @submit="handleSubmit">
  22. <FormInput label="账号" v-model="state.username" required />
  23. <FormInput label="密码" v-model="state.password" type="password" required />
  24. </Form>
  25. </template>