diff --git a/components.d.ts b/components.d.ts index a9443dd..aeaf848 100644 --- a/components.d.ts +++ b/components.d.ts @@ -36,15 +36,12 @@ declare module 'vue' { ASkeleton: typeof import('ant-design-vue/es')['Skeleton'] ASpace: typeof import('ant-design-vue/es')['Space'] ASpin: typeof import('ant-design-vue/es')['Spin'] - AStep: typeof import('ant-design-vue/es')['Step'] - ASteps: typeof import('ant-design-vue/es')['Steps'] ATabPane: typeof import('ant-design-vue/es')['TabPane'] ATabs: typeof import('ant-design-vue/es')['Tabs'] ATag: typeof import('ant-design-vue/es')['Tag'] ATextarea: typeof import('ant-design-vue/es')['Textarea'] ATooltip: typeof import('ant-design-vue/es')['Tooltip'] AUpload: typeof import('ant-design-vue/es')['Upload'] - AUploadDragger: typeof import('ant-design-vue/es')['UploadDragger'] Badge: typeof import('./src/components/MyUI/Badge/Badge.vue')['default'] BoxDog: typeof import('./src/components/BoxDog/BoxDog.vue')['default'] Card3D: typeof import('./src/components/Card3D/Card3D.vue')['default'] @@ -53,12 +50,15 @@ declare module 'vue' { CommentInput: typeof import('./src/components/CommentReply/src/CommentInput/CommentInput.vue')['default'] CommentList: typeof import('./src/components/CommentReply/src/CommentList/CommentList.vue')['default'] CommentReply: typeof import('./src/components/CommentReply/index.vue')['default'] + DivTextarea: typeof import('./src/components/MyUI/Textarea/DivTextarea.vue')['default'] + DownloadOutlined: typeof import('@ant-design/icons-vue')['DownloadOutlined'] DynamicTitle: typeof import('./src/components/DynamicTitle/DynamicTitle.vue')['default'] EffectsCard: typeof import('./src/components/EffectsCard/EffectsCard.vue')['default'] + Ellipsis: typeof import('./src/components/MyUI/Ellipsis/Ellipsis.vue')['default'] EyeOutlined: typeof import('@ant-design/icons-vue')['EyeOutlined'] ForgetPage: typeof import('./src/views/Forget/ForgetPage.vue')['default'] GithubOutlined: typeof import('@ant-design/icons-vue')['GithubOutlined'] - InboxOutlined: typeof import('@ant-design/icons-vue')['InboxOutlined'] + GradientText: typeof import('./src/components/MyUI/GradientText/GradientText.vue')['default'] LandingPage: typeof import('./src/views/Landing/LandingPage.vue')['default'] LockOutlined: typeof import('@ant-design/icons-vue')['LockOutlined'] LoginFooter: typeof import('./src/views/Login/LoginFooter.vue')['default'] @@ -66,6 +66,8 @@ declare module 'vue' { MainPage: typeof import('./src/views/Main/MainPage.vue')['default'] MessageReport: typeof import('./src/components/CommentReply/src/MessageReport/MessageReport.vue')['default'] NotFound: typeof import('./src/views/404/NotFound.vue')['default'] + PlusOutlined: typeof import('@ant-design/icons-vue')['PlusOutlined'] + Popover: typeof import('./src/components/MyUI/Popover/Popover.vue')['default'] 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'] @@ -75,10 +77,16 @@ declare module 'vue' { RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] SafetyOutlined: typeof import('@ant-design/icons-vue')['SafetyOutlined'] + Scrollbar: typeof import('./src/components/MyUI/Scrollbar/Scrollbar.vue')['default'] + SendOutlined: typeof import('@ant-design/icons-vue')['SendOutlined'] + Spin: typeof import('./src/components/MyUI/Spin/Spin.vue')['default'] TabletOutlined: typeof import('@ant-design/icons-vue')['TabletOutlined'] - TypeSelect: typeof import('./src/components/CommentReply/src/MessageReport/TypeSelect.vue')['default'] + Textarea: typeof import('./src/components/MyUI/Textarea/Textarea.vue')['default'] + Tooltip: typeof import('./src/components/MyUI/Tooltip/Tooltip.vue')['default'] + UserInfoCard: typeof import('./src/components/CommentReply/src/UserInfoCard/UserInfoCard.vue')['default'] UserOutlined: typeof import('@ant-design/icons-vue')['UserOutlined'] WarningOutlined: typeof import('@ant-design/icons-vue')['WarningOutlined'] + Waterfall: typeof import('./src/components/MyUI/Waterfall/Waterfall.vue')['default'] WechatOutlined: typeof import('@ant-design/icons-vue')['WechatOutlined'] } } diff --git a/public/level_icon/1/1.png b/public/level_icon/1/1.png deleted file mode 100644 index ac9e3d4..0000000 Binary files a/public/level_icon/1/1.png and /dev/null differ diff --git a/public/level_icon/1/2.png b/public/level_icon/1/2.png deleted file mode 100644 index 51924d3..0000000 Binary files a/public/level_icon/1/2.png and /dev/null differ diff --git a/public/level_icon/1/3.png b/public/level_icon/1/3.png deleted file mode 100644 index c503ca3..0000000 Binary files a/public/level_icon/1/3.png and /dev/null differ diff --git a/public/level_icon/1/4.png b/public/level_icon/1/4.png deleted file mode 100644 index 3f4ac61..0000000 Binary files a/public/level_icon/1/4.png and /dev/null differ diff --git a/public/level_icon/1/5.png b/public/level_icon/1/5.png deleted file mode 100644 index 12f315d..0000000 Binary files a/public/level_icon/1/5.png and /dev/null differ diff --git a/public/level_icon/1/6.png b/public/level_icon/1/6.png deleted file mode 100644 index b7806a6..0000000 Binary files a/public/level_icon/1/6.png and /dev/null differ diff --git a/public/level_icon/1/7.png b/public/level_icon/1/7.png deleted file mode 100644 index 48253c4..0000000 Binary files a/public/level_icon/1/7.png and /dev/null differ diff --git a/public/level_icon/1/8.png b/public/level_icon/1/8.png deleted file mode 100644 index 4f63ab1..0000000 Binary files a/public/level_icon/1/8.png and /dev/null differ diff --git a/public/level_icon/1/9.png b/public/level_icon/1/9.png deleted file mode 100644 index d13d03a..0000000 Binary files a/public/level_icon/1/9.png and /dev/null differ diff --git a/public/level_icon/2/lv1.svg b/public/level_icon/2/lv1.svg deleted file mode 100644 index a656257..0000000 --- a/public/level_icon/2/lv1.svg +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LV1 - \ No newline at end of file diff --git a/public/level_icon/2/lv10.svg b/public/level_icon/2/lv10.svg deleted file mode 100644 index 89272c0..0000000 --- a/public/level_icon/2/lv10.svg +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - - - - - - - - - - - - - LV10 - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/level_icon/2/lv2.svg b/public/level_icon/2/lv2.svg deleted file mode 100644 index dc7aeb3..0000000 --- a/public/level_icon/2/lv2.svg +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - LV2 - - - - - - - - - \ No newline at end of file diff --git a/public/level_icon/2/lv3.svg b/public/level_icon/2/lv3.svg deleted file mode 100644 index e2a3f5f..0000000 --- a/public/level_icon/2/lv3.svg +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - LV3 - - - - - \ No newline at end of file diff --git a/public/level_icon/2/lv4.svg b/public/level_icon/2/lv4.svg deleted file mode 100644 index 8b3d6f9..0000000 --- a/public/level_icon/2/lv4.svg +++ /dev/null @@ -1,86 +0,0 @@ - - - - - - - - - - - - - - - - - - LV4 - - - - - - - - \ No newline at end of file diff --git a/public/level_icon/2/lv5.svg b/public/level_icon/2/lv5.svg deleted file mode 100644 index b67d82b..0000000 --- a/public/level_icon/2/lv5.svg +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - - - - - - LV5 - - - - - - - - - - \ No newline at end of file diff --git a/public/level_icon/2/lv6.svg b/public/level_icon/2/lv6.svg deleted file mode 100644 index 3c2f08d..0000000 --- a/public/level_icon/2/lv6.svg +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - - - - - - - - LV6 - - - - - - \ No newline at end of file diff --git a/public/level_icon/2/lv7.svg b/public/level_icon/2/lv7.svg deleted file mode 100644 index 0d214a7..0000000 --- a/public/level_icon/2/lv7.svg +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - LV7 - - - - - - - - - - - - \ No newline at end of file diff --git a/public/level_icon/2/lv8.svg b/public/level_icon/2/lv8.svg deleted file mode 100644 index 297fb69..0000000 --- a/public/level_icon/2/lv8.svg +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - LV8 - - - - - - - - - \ No newline at end of file diff --git a/public/level_icon/2/lv9.svg b/public/level_icon/2/lv9.svg deleted file mode 100644 index 856daa2..0000000 --- a/public/level_icon/2/lv9.svg +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - - - - - - - - - - - LV9 - - - - - - - - - \ No newline at end of file diff --git a/public/level_icon/4/1.png b/public/level_icon/4/1.png deleted file mode 100644 index a134656..0000000 Binary files a/public/level_icon/4/1.png and /dev/null differ diff --git a/public/level_icon/4/2.png b/public/level_icon/4/2.png deleted file mode 100644 index 5d8cde0..0000000 Binary files a/public/level_icon/4/2.png and /dev/null differ diff --git a/public/level_icon/4/3.png b/public/level_icon/4/3.png deleted file mode 100644 index 8c27073..0000000 Binary files a/public/level_icon/4/3.png and /dev/null differ diff --git a/public/level_icon/4/4.png b/public/level_icon/4/4.png deleted file mode 100644 index 550e752..0000000 Binary files a/public/level_icon/4/4.png and /dev/null differ diff --git a/public/level_icon/4/5.png b/public/level_icon/4/5.png deleted file mode 100644 index 282039c..0000000 Binary files a/public/level_icon/4/5.png and /dev/null differ diff --git a/public/level_icon/4/6.png b/public/level_icon/4/6.png deleted file mode 100644 index d351c0b..0000000 Binary files a/public/level_icon/4/6.png and /dev/null differ diff --git a/public/level_icon/4/7.png b/public/level_icon/4/7.png deleted file mode 100644 index 800e863..0000000 Binary files a/public/level_icon/4/7.png and /dev/null differ diff --git a/public/level_icon/4/8.png b/public/level_icon/4/8.png deleted file mode 100644 index f2edc5f..0000000 Binary files a/public/level_icon/4/8.png and /dev/null differ diff --git a/public/level_icon/4/9.png b/public/level_icon/4/9.png deleted file mode 100644 index 1ac877d..0000000 Binary files a/public/level_icon/4/9.png and /dev/null differ diff --git a/public/level_icon/5/1.png b/public/level_icon/5/1.png deleted file mode 100644 index 359e352..0000000 Binary files a/public/level_icon/5/1.png and /dev/null differ diff --git a/public/level_icon/5/2.png b/public/level_icon/5/2.png deleted file mode 100644 index 0ad9388..0000000 Binary files a/public/level_icon/5/2.png and /dev/null differ diff --git a/public/level_icon/5/3.png b/public/level_icon/5/3.png deleted file mode 100644 index 5ddcd28..0000000 Binary files a/public/level_icon/5/3.png and /dev/null differ diff --git a/public/level_icon/5/4.png b/public/level_icon/5/4.png deleted file mode 100644 index 98bed89..0000000 Binary files a/public/level_icon/5/4.png and /dev/null differ diff --git a/public/level_icon/5/5.png b/public/level_icon/5/5.png deleted file mode 100644 index c15f04b..0000000 Binary files a/public/level_icon/5/5.png and /dev/null differ diff --git a/public/level_icon/5/6.png b/public/level_icon/5/6.png deleted file mode 100644 index 57981e5..0000000 Binary files a/public/level_icon/5/6.png and /dev/null differ diff --git a/public/level_icon/5/7.png b/public/level_icon/5/7.png deleted file mode 100644 index fdb8d26..0000000 Binary files a/public/level_icon/5/7.png and /dev/null differ diff --git a/public/level_icon/5/8.png b/public/level_icon/5/8.png deleted file mode 100644 index 1310fe8..0000000 Binary files a/public/level_icon/5/8.png and /dev/null differ diff --git a/public/level_icon/5/9.png b/public/level_icon/5/9.png deleted file mode 100644 index b9189ad..0000000 Binary files a/public/level_icon/5/9.png and /dev/null differ diff --git a/public/level_icon/3/lv1.png b/public/level_icon/icon/lv1.png similarity index 100% rename from public/level_icon/3/lv1.png rename to public/level_icon/icon/lv1.png diff --git a/public/level_icon/3/lv10.png b/public/level_icon/icon/lv10.png similarity index 100% rename from public/level_icon/3/lv10.png rename to public/level_icon/icon/lv10.png diff --git a/public/level_icon/3/lv2.png b/public/level_icon/icon/lv2.png similarity index 100% rename from public/level_icon/3/lv2.png rename to public/level_icon/icon/lv2.png diff --git a/public/level_icon/3/lv3.png b/public/level_icon/icon/lv3.png similarity index 100% rename from public/level_icon/3/lv3.png rename to public/level_icon/icon/lv3.png diff --git a/public/level_icon/3/lv4.png b/public/level_icon/icon/lv4.png similarity index 100% rename from public/level_icon/3/lv4.png rename to public/level_icon/icon/lv4.png diff --git a/public/level_icon/3/lv5.png b/public/level_icon/icon/lv5.png similarity index 100% rename from public/level_icon/3/lv5.png rename to public/level_icon/icon/lv5.png diff --git a/public/level_icon/3/lv6.png b/public/level_icon/icon/lv6.png similarity index 100% rename from public/level_icon/3/lv6.png rename to public/level_icon/icon/lv6.png diff --git a/public/level_icon/3/lv7.png b/public/level_icon/icon/lv7.png similarity index 100% rename from public/level_icon/3/lv7.png rename to public/level_icon/icon/lv7.png diff --git a/public/level_icon/3/lv8.png b/public/level_icon/icon/lv8.png similarity index 100% rename from public/level_icon/3/lv8.png rename to public/level_icon/icon/lv8.png diff --git a/public/level_icon/3/lv9.png b/public/level_icon/icon/lv9.png similarity index 100% rename from public/level_icon/3/lv9.png rename to public/level_icon/icon/lv9.png diff --git a/public/level_icon/up.svg b/public/level_icon/up.svg index d17abff..a563601 100644 --- a/public/level_icon/up.svg +++ b/public/level_icon/up.svg @@ -1 +1 @@ - \ No newline at end of file + diff --git a/src/assets/images/background.jpg b/src/assets/images/background.jpg new file mode 100644 index 0000000..77a6159 Binary files /dev/null and b/src/assets/images/background.jpg differ diff --git a/src/components/CommentReply/index.scss b/src/components/CommentReply/index.scss index 772c6ef..c79f913 100644 --- a/src/components/CommentReply/index.scss +++ b/src/components/CommentReply/index.scss @@ -12,9 +12,4 @@ font-weight: 600; margin-bottom: 10px; } - - - - - } diff --git a/src/components/CommentReply/src/CommentInput/CommentInput.vue b/src/components/CommentReply/src/CommentInput/CommentInput.vue index 5900c2b..a8f45bb 100644 --- a/src/components/CommentReply/src/CommentInput/CommentInput.vue +++ b/src/components/CommentReply/src/CommentInput/CommentInput.vue @@ -9,7 +9,6 @@ v-model:value="commentContent" @keyup.ctrl.enter="showSlideCaptcha" :placeholder="t('comment.placeholder')" allow-clear :showCount="false"/> - @@ -188,8 +187,12 @@ async function commentSubmit(point: any) { likes: result.data.likes, author: result.data.author, location: result.data.location, - is_liked:false, + is_liked: false, }; + + if (!comment.commentList.comments) { + comment.commentList.comments = []; // 初始化 comments 数组 + } comment.commentList.comments.unshift(tmpData); commentContent.value = ""; await comment.clearFileList(); diff --git a/src/components/CommentReply/src/CommentList/CommentList.vue b/src/components/CommentReply/src/CommentList/CommentList.vue index 9e45c2c..1adaf4c 100644 --- a/src/components/CommentReply/src/CommentList/CommentList.vue +++ b/src/components/CommentReply/src/CommentList/CommentList.vue @@ -25,22 +25,33 @@
- + + - + + + + - {{ item.nickname }} - lv1 - lv2 - + + + {{ item.nickname }} + + level @@ -56,11 +67,14 @@
- - - + + + + + @@ -160,6 +174,7 @@ import {useRouter} from "vue-router"; import ReplyInput from "@/components/CommentReply/src/ReplyInput/ReplyInput.vue"; import ReplyList from "@/components/CommentReply/src/ReplyList/ReplyList.vue"; import MessageReport from "@/components/CommentReply/src/MessageReport/MessageReport.vue"; +import UserInfoCard from "@/components/CommentReply/src/UserInfoCard/UserInfoCard.vue"; const {t} = useI18n(); diff --git a/src/components/CommentReply/src/CommentList/index.scss b/src/components/CommentReply/src/CommentList/index.scss index be95ee7..c89d23f 100644 --- a/src/components/CommentReply/src/CommentList/index.scss +++ b/src/components/CommentReply/src/CommentList/index.scss @@ -21,6 +21,10 @@ .reply-avatar { box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); border-radius: 50%; + + .reply-popover{ + padding: 0; + } } .reply-avatar-img { @@ -53,7 +57,7 @@ } .reply-level-icon { - width: 40px; + width: 30px; margin-left: 5px; cursor: pointer; } diff --git a/src/components/CommentReply/src/ReplyInput/ReplyInput.vue b/src/components/CommentReply/src/ReplyInput/ReplyInput.vue index dee587d..17d2455 100644 --- a/src/components/CommentReply/src/ReplyInput/ReplyInput.vue +++ b/src/components/CommentReply/src/ReplyInput/ReplyInput.vue @@ -208,6 +208,9 @@ async function replySubmit(point: any) { is_liked: false, reply_username: props.item.nickname, }; + if (!comment.replyList.comments) { + comment.replyList.comments = []; // 初始化 comments 数组 + } comment.replyList.comments.unshift(tmpData); comment.commentMap[props.item.id].reply_count++; comment.closeReplyInput(); diff --git a/src/components/CommentReply/src/ReplyList/ReplyList.vue b/src/components/CommentReply/src/ReplyList/ReplyList.vue index 3134723..2d11398 100644 --- a/src/components/CommentReply/src/ReplyList/ReplyList.vue +++ b/src/components/CommentReply/src/ReplyList/ReplyList.vue @@ -4,17 +4,36 @@ - - + + + + + + + + - {{ child.nickname }} - @{{ child.reply_username }} + + + {{ child.nickname }} + + + + @{{ child.reply_username }} + Lv.5 - @@ -30,11 +49,14 @@ - - - + + + + + @@ -123,6 +145,7 @@ import {useI18n} from "vue-i18n"; import useStore from "@/store"; import ReplyReply from "@/components/CommentReply/src/ReplyReplyInput/ReplyReply.vue"; import {useThrottleFn} from "@vueuse/core"; +import UserInfoCard from "@/components/CommentReply/src/UserInfoCard/UserInfoCard.vue"; const {t} = useI18n(); diff --git a/src/components/CommentReply/src/ReplyList/index.scss b/src/components/CommentReply/src/ReplyList/index.scss index 2025521..b47f50b 100644 --- a/src/components/CommentReply/src/ReplyList/index.scss +++ b/src/components/CommentReply/src/ReplyList/index.scss @@ -13,6 +13,7 @@ .reply-item-child-avatar { box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); + cursor: pointer; } .reply-item-child-content { diff --git a/src/components/CommentReply/src/ReplyReplyInput/ReplyReply.vue b/src/components/CommentReply/src/ReplyReplyInput/ReplyReply.vue index adf4df4..695cd64 100644 --- a/src/components/CommentReply/src/ReplyReplyInput/ReplyReply.vue +++ b/src/components/CommentReply/src/ReplyReplyInput/ReplyReply.vue @@ -211,6 +211,9 @@ async function replyReplySubmit(point: any) { reply_username: props.item.nickname, reply_to: result.data.reply_to, }; + if (!comment.replyList.comments) { + comment.replyList.comments = []; // 初始化 comments 数组 + } comment.replyList.comments.unshift(tmpData); comment.commentMap[props.item.id].reply_count++; replyReplyContent.value = ""; diff --git a/src/components/CommentReply/src/UserInfoCard/UserInfoCard.vue b/src/components/CommentReply/src/UserInfoCard/UserInfoCard.vue new file mode 100644 index 0000000..9d971ac --- /dev/null +++ b/src/components/CommentReply/src/UserInfoCard/UserInfoCard.vue @@ -0,0 +1,72 @@ + + + diff --git a/src/components/CommentReply/src/UserInfoCard/index.scss b/src/components/CommentReply/src/UserInfoCard/index.scss new file mode 100644 index 0000000..2b9e270 --- /dev/null +++ b/src/components/CommentReply/src/UserInfoCard/index.scss @@ -0,0 +1,34 @@ +.user-info-card-main { + width: 350px; + min-height: 250px; + + .user-info-card-image { + border-top-left-radius: 8px; + border-top-right-radius: 8px; + } + + .user-info-card-name { + padding-top: 5px; + padding-left: 10px; + + .user-info-card-content-container { + margin-left: 10px; + + .user-info-card-name-text { + font-size: 15px; + font-weight: 600; + } + + .user-info-card-level-icon { + width: 40px; + margin-left: 5px; + cursor: pointer; + } + .user-info-card-info-text{ + font-size: 12px; + color: #9499a0; + } + } + + } +} diff --git a/src/components/MyUI/Ellipsis/Ellipsis.vue b/src/components/MyUI/Ellipsis/Ellipsis.vue new file mode 100644 index 0000000..2b14e0b --- /dev/null +++ b/src/components/MyUI/Ellipsis/Ellipsis.vue @@ -0,0 +1,149 @@ + + + diff --git a/src/components/MyUI/GradientText/GradientText.vue b/src/components/MyUI/GradientText/GradientText.vue new file mode 100644 index 0000000..16a4165 --- /dev/null +++ b/src/components/MyUI/GradientText/GradientText.vue @@ -0,0 +1,99 @@ + + + diff --git a/src/components/MyUI/Popover/Popover.vue b/src/components/MyUI/Popover/Popover.vue new file mode 100644 index 0000000..c3029c5 --- /dev/null +++ b/src/components/MyUI/Popover/Popover.vue @@ -0,0 +1,88 @@ + + + + + + + diff --git a/src/components/MyUI/Scrollbar/Scrollbar.vue b/src/components/MyUI/Scrollbar/Scrollbar.vue new file mode 100644 index 0000000..e04085f --- /dev/null +++ b/src/components/MyUI/Scrollbar/Scrollbar.vue @@ -0,0 +1,383 @@ + + + diff --git a/src/components/MyUI/Spin/Spin.vue b/src/components/MyUI/Spin/Spin.vue new file mode 100644 index 0000000..4565c1d --- /dev/null +++ b/src/components/MyUI/Spin/Spin.vue @@ -0,0 +1,709 @@ + + + diff --git a/src/components/MyUI/Textarea/Textarea.vue b/src/components/MyUI/Textarea/Textarea.vue new file mode 100644 index 0000000..c679258 --- /dev/null +++ b/src/components/MyUI/Textarea/Textarea.vue @@ -0,0 +1,279 @@ + +