From f824d12e7dd3edaa7f2a01faeedeaedf16b2662d Mon Sep 17 00:00:00 2001 From: root Date: Fri, 11 Jul 2025 00:49:42 +0800 Subject: [PATCH] fix: data error --- src/services/resourceCategoryService.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/services/resourceCategoryService.ts b/src/services/resourceCategoryService.ts index e15bc06..49f0842 100644 --- a/src/services/resourceCategoryService.ts +++ b/src/services/resourceCategoryService.ts @@ -35,7 +35,7 @@ export class ResourceCategoryService { static async getAllCategories(): Promise> { try { const result = await invoke('get_all_resource_categories') - return { status: true, msg: 'ok', data: result } as ApiResponse + return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse } catch (error) { console.error('Failed to get all categories:', error) return { @@ -51,7 +51,7 @@ export class ResourceCategoryService { static async getCategoryById(categoryId: string): Promise> { try { const result = await invoke('get_resource_category_by_id', { categoryId }) - return { status: true, msg: 'ok', data: result } as ApiResponse + return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse } catch (error) { console.error('Failed to get category by id:', error) return { @@ -67,7 +67,7 @@ export class ResourceCategoryService { static async createCategory(request: CreateCategoryRequest): Promise> { try { const result = await invoke('create_resource_category', { request }) - return { status: true, msg: 'ok', data: result } as ApiResponse + return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse } catch (error) { console.error('Failed to create category:', error) return { @@ -77,6 +77,16 @@ export class ResourceCategoryService { } } + static tryJsonParse(str: any) { + try { + if (typeof str === 'string') { + return JSON.stringify(str) + } + return str; + } catch (e) { + return str; + } + } /** * 更新分类 */ @@ -86,7 +96,7 @@ export class ResourceCategoryService { ): Promise> { try { const result = await invoke('update_resource_category', { categoryId, request }) - return { status: true, msg: 'ok', data: result } as ApiResponse + return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse } catch (error) { console.error('Failed to update category:', error) return { @@ -102,7 +112,7 @@ export class ResourceCategoryService { static async deleteCategory(categoryId: string): Promise> { try { const result = await invoke('delete_resource_category', { categoryId }) - return { status: true, msg: 'ok', data: result } as ApiResponse + return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse } catch (error) { console.error('Failed to delete category:', error) return { @@ -118,7 +128,7 @@ export class ResourceCategoryService { static async searchCategories(keyword: string): Promise> { try { const result = await invoke('search_resource_categories', { keyword }) - return { status: true, msg: 'ok', data: result } as ApiResponse + return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse } catch (error) { console.error('Failed to search categories:', error) return {