refactor(biji-qianduan): 重构网络请求处理逻辑- 优化了多个组件中的 API 调用,使用 async/await 替代 Promise 链
- 改进了错误处理,统一使用 ElMessage 显示错误信息 - 简化了部分代码结构,提高了可读性和可维护性
This commit is contained in:
@@ -377,27 +377,31 @@ const buildTree = (items) => {
|
||||
|
||||
const fetchGroupings = async () => {
|
||||
try {
|
||||
const response = await groupingAll("");
|
||||
const allCategories = response.data || [];
|
||||
categoryTree.value = buildTree(allCategories);
|
||||
const allCategories = await groupingAll("");
|
||||
categoryTree.value = buildTree(allCategories || []);
|
||||
} catch (error) {
|
||||
console.error('获取分组失败:', error);
|
||||
ElMessage.error('获取分组失败: ' + (error.response?.data?.message || error.message));
|
||||
ElMessage.error('获取分组失败: ' + error.message);
|
||||
categoryTree.value = [];
|
||||
}
|
||||
};
|
||||
|
||||
const selectFile = async (data) => {
|
||||
const promise = await markdownList(data.id);
|
||||
groupMarkdownFiles.value = promise.data;
|
||||
currentGroupName.value = data.grouping;
|
||||
selectedFile.value = null;
|
||||
try {
|
||||
const files = await markdownList(data.id);
|
||||
groupMarkdownFiles.value = files || [];
|
||||
currentGroupName.value = data.grouping;
|
||||
selectedFile.value = null;
|
||||
} catch (error) {
|
||||
ElMessage.error('获取笔记列表失败: ' + error.message);
|
||||
groupMarkdownFiles.value = [];
|
||||
}
|
||||
};
|
||||
|
||||
const fetchMarkdownFiles = async () => {
|
||||
try {
|
||||
const response = await markdownAll()
|
||||
markdownFiles.value = (response.data || []).map(file => ({
|
||||
const files = await markdownAll();
|
||||
markdownFiles.value = (files || []).map(file => ({
|
||||
...file,
|
||||
id: String(file.id)
|
||||
}));
|
||||
@@ -932,18 +936,13 @@ const resetToHomeView = async () => {
|
||||
showEditor.value = false;
|
||||
searchKeyword.value = '';
|
||||
try {
|
||||
const response = await getRecentFiles();
|
||||
groupMarkdownFiles.value = response.data;
|
||||
groupMarkdownFiles.value = await getRecentFiles() || [];
|
||||
} catch (error) {
|
||||
ElMessage.error('获取最近文件失败: ' + error.message);
|
||||
groupMarkdownFiles.value = [];
|
||||
}
|
||||
};
|
||||
|
||||
onMounted(async () => {
|
||||
await fetchGroupings();
|
||||
await resetToHomeView();
|
||||
});
|
||||
|
||||
watch(activeMenu, (newVal) => {
|
||||
if (newVal === 'all') {
|
||||
@@ -963,11 +962,11 @@ const handleToggleRegistration = async (value) => {
|
||||
|
||||
const handleGenerateCode = async () => {
|
||||
try {
|
||||
const response = await generateRegistrationCode();
|
||||
generatedCode.value = response.data;
|
||||
const code = await generateRegistrationCode();
|
||||
generatedCode.value = code;
|
||||
ElMessage.success('注册码生成成功');
|
||||
} catch (error) {
|
||||
ElMessage.error('生成注册码失败');
|
||||
ElMessage.error('生成注册码失败: ' + error.message);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -980,10 +979,10 @@ const copyToClipboard = (text) => {
|
||||
};
|
||||
|
||||
onMounted(async () => {
|
||||
// ... existing onMounted logic
|
||||
await fetchGroupings();
|
||||
await resetToHomeView();
|
||||
try {
|
||||
const response = await getRegistrationStatus();
|
||||
isRegistrationEnabled.value = response.data;
|
||||
isRegistrationEnabled.value = await getRegistrationStatus();
|
||||
} catch (error) {
|
||||
console.error("Failed to fetch registration status:", error);
|
||||
}
|
||||
|
||||
@@ -11,8 +11,8 @@ export const useUserStore = defineStore('user', {
|
||||
async login(username, password) {
|
||||
try {
|
||||
const response = await loginApi({ username, password });
|
||||
if (response.data && response.data.token) {
|
||||
this.token = response.data.token;
|
||||
if (response && response.token) {
|
||||
this.token = response.token;
|
||||
// 你可能还需要一个接口来获取用户信息
|
||||
// this.userInfo = await getUserInfo();
|
||||
return true;
|
||||
|
||||
BIN
mydatabase.db
BIN
mydatabase.db
Binary file not shown.
Reference in New Issue
Block a user