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