fix: data error

This commit is contained in:
root 2025-07-11 00:49:42 +08:00
parent 49b46e8fc1
commit f824d12e7d
1 changed files with 16 additions and 6 deletions

View File

@ -35,7 +35,7 @@ export class ResourceCategoryService {
static async getAllCategories(): Promise<ApiResponse<ResourceCategory[]>> {
try {
const result = await invoke('get_all_resource_categories')
return { status: true, msg: 'ok', data: result } as ApiResponse<ResourceCategory[]>
return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse<ResourceCategory[]>
} catch (error) {
console.error('Failed to get all categories:', error)
return {
@ -51,7 +51,7 @@ export class ResourceCategoryService {
static async getCategoryById(categoryId: string): Promise<ApiResponse<ResourceCategory>> {
try {
const result = await invoke('get_resource_category_by_id', { categoryId })
return { status: true, msg: 'ok', data: result } as ApiResponse<ResourceCategory>
return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse<ResourceCategory>
} 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<ApiResponse<ResourceCategory>> {
try {
const result = await invoke('create_resource_category', { request })
return { status: true, msg: 'ok', data: result } as ApiResponse<ResourceCategory>
return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse<ResourceCategory>
} 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<ApiResponse<ResourceCategory>> {
try {
const result = await invoke('update_resource_category', { categoryId, request })
return { status: true, msg: 'ok', data: result } as ApiResponse<ResourceCategory>
return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse<ResourceCategory>
} catch (error) {
console.error('Failed to update category:', error)
return {
@ -102,7 +112,7 @@ export class ResourceCategoryService {
static async deleteCategory(categoryId: string): Promise<ApiResponse<boolean>> {
try {
const result = await invoke('delete_resource_category', { categoryId })
return { status: true, msg: 'ok', data: result } as ApiResponse<boolean>
return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse<boolean>
} catch (error) {
console.error('Failed to delete category:', error)
return {
@ -118,7 +128,7 @@ export class ResourceCategoryService {
static async searchCategories(keyword: string): Promise<ApiResponse<ResourceCategory[]>> {
try {
const result = await invoke('search_resource_categories', { keyword })
return { status: true, msg: 'ok', data: result } as ApiResponse<ResourceCategory[]>
return { status: true, msg: 'ok', data: this.tryJsonParse(result) } as ApiResponse<ResourceCategory[]>
} catch (error) {
console.error('Failed to search categories:', error)
return {