diff --git a/mockServer/src/routes/main-routes.js b/mockServer/src/routes/main-routes.js index 06280c494c..9c7d188e0c 100644 --- a/mockServer/src/routes/main-routes.js +++ b/mockServer/src/routes/main-routes.js @@ -104,8 +104,8 @@ router.get('/material-center/api/blocks', async (ctx) => { }) router.post('/material-center/api/block/create', async (ctx) => { - const result = mockService.blockService.create(ctx.request.body) - const categoriesId = ctx.request.body.categories[0] + const result = await mockService.blockService.create(ctx.request.body) + const categoriesId = ctx.request.body.categories?.[0] || ctx.request.body.groups?.[0] const _id = result.id await mockService.blockCategoryService.update(categoriesId, { _id }) ctx.body = getResponseData(result) diff --git a/mockServer/src/services/blockCategory.js b/mockServer/src/services/blockCategory.js index 9f3f8ad7df..d15fb79536 100644 --- a/mockServer/src/services/blockCategory.js +++ b/mockServer/src/services/blockCategory.js @@ -47,9 +47,11 @@ export default class BlockCategoryService { async update(id, params) { if (params?._id) { const categories = await this.db.findOneAsync({ _id: id }) - categories.blocks.push(params._id) - await this.db.updateAsync({ _id: id }, { $set: categories }) - return getResponseData(categories) + if (categories) { + categories.blocks.push(params._id) + await this.db.updateAsync({ _id: id }, { $set: categories }) + return getResponseData(categories) + } } params.app = appinfo.app await this.db.updateAsync({ _id: id }, { $set: params }) diff --git a/packages/plugins/block/src/SaveNewBlock.vue b/packages/plugins/block/src/SaveNewBlock.vue index 10b8d97224..f580f7dbb2 100644 --- a/packages/plugins/block/src/SaveNewBlock.vue +++ b/packages/plugins/block/src/SaveNewBlock.vue @@ -43,7 +43,7 @@