feat(前端): 实现用户登录、注册和搜索功能

- 新增登录和注册页面组件
- 实现用户登录、注册和登出逻辑
- 添加笔记搜索功能
- 更新主页组件,支持用户状态显示和搜索
- 引入 Pinia 状态管理库
This commit is contained in:
2025-07-31 09:45:49 +08:00
parent ab4891d8db
commit 2f9e68c636
13 changed files with 523 additions and 6 deletions

View File

@@ -0,0 +1,35 @@
import { defineStore } from 'pinia';
import { ref } from 'vue';
import { login as loginApi } from '../api/CommonApi'; // 假设你的API调用函数是这样组织的
export const useUserStore = defineStore('user', {
state: () => ({
token: '',
userInfo: null,
}),
actions: {
async login(username, password) {
try {
const response = await loginApi({ username, password });
if (response.data && response.data.token) {
this.token = response.data.token;
// 你可能还需要一个接口来获取用户信息
// this.userInfo = await getUserInfo();
return true;
}
return false;
} catch (error) {
console.error('Login failed:', error);
return false;
}
},
logout() {
this.token = '';
this.userInfo = null;
},
},
getters: {
isLoggedIn: (state) => !!state.token,
},
persist: true,
});