diff --git a/components.d.ts b/components.d.ts index 9a49e1d..a49fd00 100644 --- a/components.d.ts +++ b/components.d.ts @@ -9,7 +9,6 @@ declare module 'vue' { export interface GlobalComponents { AAvatar: typeof import('ant-design-vue/es')['Avatar'] ABadge: typeof import('ant-design-vue/es')['Badge'] - ABadgeRibbon: typeof import('ant-design-vue/es')['BadgeRibbon'] AButton: typeof import('ant-design-vue/es')['Button'] ACard: typeof import('ant-design-vue/es')['Card'] ACheckbox: typeof import('ant-design-vue/es')['Checkbox'] @@ -20,17 +19,16 @@ declare module 'vue' { AForm: typeof import('ant-design-vue/es')['Form'] AFormItem: typeof import('ant-design-vue/es')['FormItem'] AImage: typeof import('ant-design-vue/es')['Image'] - AImagePreviewGroup: typeof import('ant-design-vue/es')['ImagePreviewGroup'] AInput: typeof import('ant-design-vue/es')['Input'] AInputPassword: typeof import('ant-design-vue/es')['InputPassword'] AMenu: typeof import('ant-design-vue/es')['Menu'] - AMenuDivider: typeof import('ant-design-vue/es')['MenuDivider'] AMenuItem: typeof import('ant-design-vue/es')['MenuItem'] AModal: typeof import('ant-design-vue/es')['Modal'] APagination: typeof import('ant-design-vue/es')['Pagination'] APopover: typeof import('ant-design-vue/es')['Popover'] AQrcode: typeof import('ant-design-vue/es')['QRCode'] ASegmented: typeof import('ant-design-vue/es')['Segmented'] + ASkeleton: typeof import('ant-design-vue/es')['Skeleton'] ASpin: typeof import('ant-design-vue/es')['Spin'] ATabPane: typeof import('ant-design-vue/es')['TabPane'] ATabs: typeof import('ant-design-vue/es')['Tabs'] @@ -40,40 +38,30 @@ declare module 'vue' { AUpload: typeof import('ant-design-vue/es')['Upload'] BoxDog: typeof import('./src/components/BoxDog/BoxDog.vue')['default'] Card3D: typeof import('./src/components/Card3D/Card3D.vue')['default'] - ChromeOutlined: typeof import('@ant-design/icons-vue')['ChromeOutlined'] - ClockCircleOutlined: typeof import('@ant-design/icons-vue')['ClockCircleOutlined'] CloseCircleOutlined: typeof import('@ant-design/icons-vue')['CloseCircleOutlined'] Clouds: typeof import('./src/components/Clouds/Clouds.vue')['default'] CommentReply: typeof import('./src/components/CommentReply/CommentReply.vue')['default'] CopyOutlined: typeof import('@ant-design/icons-vue')['CopyOutlined'] DeleteOutlined: typeof import('@ant-design/icons-vue')['DeleteOutlined'] - DislikeOutlined: typeof import('@ant-design/icons-vue')['DislikeOutlined'] - DownOutlined: typeof import('@ant-design/icons-vue')['DownOutlined'] DynamicTitle: typeof import('./src/components/DynamicTitle/DynamicTitle.vue')['default'] EffectsCard: typeof import('./src/components/EffectsCard/EffectsCard.vue')['default'] - EllipsisOutlined: typeof import('@ant-design/icons-vue')['EllipsisOutlined'] ForgetPage: typeof import('./src/views/Forget/ForgetPage.vue')['default'] GithubOutlined: typeof import('@ant-design/icons-vue')['GithubOutlined'] LandingPage: typeof import('./src/views/Landing/LandingPage.vue')['default'] - LikeOutlined: typeof import('@ant-design/icons-vue')['LikeOutlined'] LockOutlined: typeof import('@ant-design/icons-vue')['LockOutlined'] LoginFooter: typeof import('./src/views/Login/LoginFooter.vue')['default'] LoginPage: typeof import('./src/views/Login/LoginPage.vue')['default'] MainPage: typeof import('./src/views/Main/MainPage.vue')['default'] NotFound: typeof import('./src/views/404/NotFound.vue')['default'] - PictureOutlined: typeof import('@ant-design/icons-vue')['PictureOutlined'] - PlusOutlined: typeof import('@ant-design/icons-vue')['PlusOutlined'] QqOutlined: typeof import('@ant-design/icons-vue')['QqOutlined'] QRLogin: typeof import('./src/views/QRLogin/QRLogin.vue')['default'] QRLoginFooter: typeof import('./src/views/QRLogin/QRLoginFooter.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] SafetyOutlined: typeof import('@ant-design/icons-vue')['SafetyOutlined'] - SmileOutlined: typeof import('@ant-design/icons-vue')['SmileOutlined'] TabletOutlined: typeof import('@ant-design/icons-vue')['TabletOutlined'] UserOutlined: typeof import('@ant-design/icons-vue')['UserOutlined'] WarningOutlined: typeof import('@ant-design/icons-vue')['WarningOutlined'] WechatOutlined: typeof import('@ant-design/icons-vue')['WechatOutlined'] - WindowsOutlined: typeof import('@ant-design/icons-vue')['WindowsOutlined'] } } diff --git a/src/api/comment/index.ts b/src/api/comment/index.ts index 9961b47..12c7943 100644 --- a/src/api/comment/index.ts +++ b/src/api/comment/index.ts @@ -13,6 +13,7 @@ export const commentSubmitApi = (params: any) => { author: params.author, }, { + name: 'comment-submit', meta: { ignoreToken: false, }, @@ -34,6 +35,7 @@ export const replySubmitApi = (params: any) => { author: params.author, }, { + name: 'reply-submit', meta: { ignoreToken: false, }, @@ -52,7 +54,59 @@ export const commentListApi = (params: any) => { topic_id: params.topic_id, }, { - cacheFor: 1000 * 60 * 60 * 24 * 7, // 7天缓存 + cacheFor: { + expire: 60 * 60 * 24 * 7, + mode: "restore", + }, // 7天缓存 + hitSource: "comment-submit", + meta: { + ignoreToken: false, + }, + } + ); +}; +/** + * @description 评论列表 + * @param params + */ +export const replyListApi = (params: any) => { + return service.Post('/api/auth/reply/list', { + page: params.page, + size: params.size, + comment_id: params.comment_id, + topic_id: params.topic_id, + }, + { + cacheFor: { + expire: 60 * 60 * 24 * 7, + mode: "restore", + }, // 7天缓存 + hitSource: ["reply-submit", "reply-reply-submit"], + meta: { + ignoreToken: false, + }, + } + ); +}; + +/** + * @description 回复的回复提交 + * @param params + */ +export const replyReplySubmitApi = (params: any) => { + return service.Post('/api/auth/reply/reply/submit', { + user_id: params.user_id, + content: params.content, + images: params.images, + topic_id: params.topic_id, + reply_to_user: params.reply_to_user, + reply_to: params.reply_to, + reply_id: params.reply_id, + reply_user: params.reply_user, + author: params.author, + }, + { + name: 'reply-reply-submit', meta: { ignoreToken: false, }, diff --git a/src/components/CommentReply/CommentReply.vue b/src/components/CommentReply/CommentReply.vue index b4aa9e1..ce817cb 100644 --- a/src/components/CommentReply/CommentReply.vue +++ b/src/components/CommentReply/CommentReply.vue @@ -89,315 +89,432 @@ -
-
- - - - - - - - - - 张立国 - Lv.5 - UP - - - - 成都市 - IP: 192.168.1.100 - - {{ new Date().toLocaleString() }} - + +
+
+ + + + - - - - - 床前明月光,疑是地上霜。
- 举头望明月,低头思故乡。 -
- - - - - - 10 - - - - - 1 - - - - 11 - - - {{ t('comment.reply') }} - + + + + + {{ item.nickname }} + Lv.5 + UP + + + + {{ item.location }} - - - - windows 10 - - - chrome - - - - - -