From 50fea921741592cb3e160d697542c9f5f7f808c8 Mon Sep 17 00:00:00 2001 From: zzy Date: Fri, 24 Apr 2026 22:03:40 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=A5=E8=AF=86=E8=AF=BE=E5=A0=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/community/knowledgeclass/index.ts | 64 +++++ src/utils/dict.ts | 2 + .../knowledgeclass/KnowledgeClassForm.vue | 188 +++++++++++++ src/views/community/knowledgeclass/index.vue | 265 ++++++++++++++++++ 4 files changed, 519 insertions(+) create mode 100644 src/api/community/knowledgeclass/index.ts create mode 100644 src/views/community/knowledgeclass/KnowledgeClassForm.vue create mode 100644 src/views/community/knowledgeclass/index.vue diff --git a/src/api/community/knowledgeclass/index.ts b/src/api/community/knowledgeclass/index.ts new file mode 100644 index 0000000..556f33e --- /dev/null +++ b/src/api/community/knowledgeclass/index.ts @@ -0,0 +1,64 @@ +import request from '@/config/axios' + +/** 知识课堂信息 */ +export interface KnowledgeClass { + id?: number + title?: string + content?: string + coverImage?: string + classType?: number + isDisplay?: boolean + viewCount?: number + likeCount?: number + communityIds?: number[] + communityNames?: string[] + createTime?: string +} + +// 知识课堂 API +export const KnowledgeClassApi = { + // 查询知识课堂分页 + getKnowledgeClassPage: async (params: any) => { + return await request.get({ url: `/community/knowledge-class/page`, params }) + }, + + // 查询知识课堂详情 + getKnowledgeClass: async (id: number) => { + return await request.get({ url: `/community/knowledge-class/get?id=` + id }) + }, + + // 新增知识课堂 + createKnowledgeClass: async (data: KnowledgeClass) => { + return await request.post({ url: `/community/knowledge-class/create`, data }) + }, + + // 修改知识课堂 + updateKnowledgeClass: async (data: KnowledgeClass) => { + return await request.put({ url: `/community/knowledge-class/update`, data }) + }, + + // 删除知识课堂 + deleteKnowledgeClass: async (id: number) => { + return await request.delete({ url: `/community/knowledge-class/delete?id=` + id }) + }, + + /** 批量删除知识课堂 */ + deleteKnowledgeClassList: async (ids: number[]) => { + return await request.delete({ url: `/community/knowledge-class/delete-list?ids=${ids.join(',')}` }) + }, + + // 导出知识课堂 Excel + exportKnowledgeClass: async (params) => { + return await request.download({ url: `/community/knowledge-class/export-excel`, params }) + }, + + // 发布知识课堂 + publishKnowledgeClass: async (id: number) => { + return await request.put({ url: `/community/knowledge-class/publish?id=` + id }) + }, + + // 下架知识课堂 + unpublishKnowledgeClass: async (id: number) => { + return await request.put({ url: `/community/knowledge-class/unpublish?id=` + id }) + } +} diff --git a/src/utils/dict.ts b/src/utils/dict.ts index bd4baf9..52a31ea 100644 --- a/src/utils/dict.ts +++ b/src/utils/dict.ts @@ -212,4 +212,6 @@ export enum DICT_TYPE { COMM_POST_PUBLISH_TYPE = 'comm_post_publish_type', COMM_POST_STATUS = 'comm_post_status', COMM_POST_END_TYPE = 'comm_post_end_type', + + COMM_KNOWLEDGE_CLASS_TYPE = 'comm_knowledge_class_type', } diff --git a/src/views/community/knowledgeclass/KnowledgeClassForm.vue b/src/views/community/knowledgeclass/KnowledgeClassForm.vue new file mode 100644 index 0000000..f7be924 --- /dev/null +++ b/src/views/community/knowledgeclass/KnowledgeClassForm.vue @@ -0,0 +1,188 @@ + + + diff --git a/src/views/community/knowledgeclass/index.vue b/src/views/community/knowledgeclass/index.vue new file mode 100644 index 0000000..7c9a6c5 --- /dev/null +++ b/src/views/community/knowledgeclass/index.vue @@ -0,0 +1,265 @@ + + +