From a2c2c007b0725efc17db000227b99385c0c3de24 Mon Sep 17 00:00:00 2001 From: longxiaokong Date: Mon, 24 Jun 2024 00:35:44 +0800 Subject: [PATCH 1/3] modified filter default behaviour --- README.md | 0 jsconfig.json | 0 src/App.vue | 0 src/components/global/MobileSearchBar.vue | 0 src/components/global/Nothing.vue | 0 src/composables/courses/all/useStatisticCard.js | 16 +++++++++++++++- src/composables/courses/comment/useWritingBox.js | 0 src/composables/global/useFetching.js | 0 src/composables/global/useHttpError.js | 0 src/composables/global/useParseScore.js | 0 src/views/CourseAll.vue | 0 vue.config.js | 0 12 files changed, 15 insertions(+), 1 deletion(-) mode change 100644 => 100755 README.md mode change 100644 => 100755 jsconfig.json mode change 100644 => 100755 src/App.vue mode change 100644 => 100755 src/components/global/MobileSearchBar.vue mode change 100644 => 100755 src/components/global/Nothing.vue mode change 100644 => 100755 src/composables/courses/all/useStatisticCard.js mode change 100644 => 100755 src/composables/courses/comment/useWritingBox.js mode change 100644 => 100755 src/composables/global/useFetching.js mode change 100644 => 100755 src/composables/global/useHttpError.js mode change 100644 => 100755 src/composables/global/useParseScore.js mode change 100644 => 100755 src/views/CourseAll.vue mode change 100644 => 100755 vue.config.js diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/jsconfig.json b/jsconfig.json old mode 100644 new mode 100755 diff --git a/src/App.vue b/src/App.vue old mode 100644 new mode 100755 diff --git a/src/components/global/MobileSearchBar.vue b/src/components/global/MobileSearchBar.vue old mode 100644 new mode 100755 diff --git a/src/components/global/Nothing.vue b/src/components/global/Nothing.vue old mode 100644 new mode 100755 diff --git a/src/composables/courses/all/useStatisticCard.js b/src/composables/courses/all/useStatisticCard.js old mode 100644 new mode 100755 index b7e0055..c260ebf --- a/src/composables/courses/all/useStatisticCard.js +++ b/src/composables/courses/all/useStatisticCard.js @@ -1,4 +1,4 @@ -import { inject, onMounted, reactive, watch } from "vue" +import { inject, onMounted, onUnmounted, reactive, watch } from "vue" import { mdiCity, mdiChevronUp, mdiChevronDown } from "@mdi/js"; import useDebounce from "@/composables/global/useDebounce"; @@ -36,7 +36,13 @@ export default () => { } })) + watch(() => window.innerWidth, useDebounce((to, from) => { + updateShowAll(); + })) + onMounted(() => { + updateShowAll(); + window.addEventListener('resize', updateShowAll, { passive: true }) if (courseFilterStatus.selected.length === 0) { status.selectAll = false status.selectNotAll = true @@ -47,6 +53,14 @@ export default () => { } }) + onUnmounted(() => { + window.removeEventListener('resize', updateShowAll, { passive: true }) + }) + + const updateShowAll = () => { + status.showAll = window.innerWidth >= 600; + } + return { statics, courseStatistic, courseFilterStatus, status } } \ No newline at end of file diff --git a/src/composables/courses/comment/useWritingBox.js b/src/composables/courses/comment/useWritingBox.js old mode 100644 new mode 100755 diff --git a/src/composables/global/useFetching.js b/src/composables/global/useFetching.js old mode 100644 new mode 100755 diff --git a/src/composables/global/useHttpError.js b/src/composables/global/useHttpError.js old mode 100644 new mode 100755 diff --git a/src/composables/global/useParseScore.js b/src/composables/global/useParseScore.js old mode 100644 new mode 100755 diff --git a/src/views/CourseAll.vue b/src/views/CourseAll.vue old mode 100644 new mode 100755 diff --git a/vue.config.js b/vue.config.js old mode 100644 new mode 100755 From 4cf06481fd8764b0df4d8eb983b4f92c720f293b Mon Sep 17 00:00:00 2001 From: longxiaokong Date: Sat, 29 Jun 2024 16:24:06 +0800 Subject: [PATCH 2/3] initially finished mobile features. --- src/App.vue | 222 +-- src/assets/bench_reviewer.md | 20 +- src/assets/comment_policy.md | 2 +- src/assets/contributors.json | 124 +- src/assets/privacy_policy.md | 31 +- src/assets/sponsors.json | 42 +- src/assets/terms_of_service.md | 57 +- src/components/courses/CourseCommentCard.vue | 152 ++- src/components/courses/DetailCard.vue | 566 ++++---- src/components/courses/DetailChips.vue | 30 +- src/components/courses/ManageCard.vue | 984 +++++++------- src/components/courses/ReviewDetail.vue | 55 +- src/components/courses/ScoreBoard.vue | 69 +- src/components/courses/ScoreLine.vue | 9 +- src/components/courses/WritingBox.vue | 558 ++++---- src/components/courses/WritingCard.vue | 1208 +++++++++-------- src/components/courses/all/CourseCard.vue | 412 +++--- .../courses/all/ElevatedPagination.vue | 116 +- src/components/courses/all/SelectBar.vue | 129 +- src/components/courses/all/StatisticCard.vue | 210 +-- src/components/global/ActivityBanner.vue | 45 +- src/components/global/Header.vue | 786 +++++------ src/components/global/InsiderBanner.vue | 68 +- src/components/global/MenuSideBar.vue | 76 ++ src/components/global/MobileSearchBar.vue | 135 +- src/components/global/Nothing.vue | 66 +- src/components/global/SliderButton.vue | 468 ++++--- src/components/teachers/course/CourseCard.vue | 312 +++-- .../teachers/course/StatisticCard.vue | 168 +-- .../teachers/detail/BackgroundImage.vue | 71 +- src/components/teachers/detail/Detail.vue | 122 +- .../teachers/loader/CommentLoader.vue | 210 +-- .../teachers/loader/CourseLoader.vue | 198 +-- .../teachers/loader/DetailCardLoader.vue | 184 +-- .../teachers/loader/DetailLoader.vue | 122 +- .../teachers/loader/ImageLoader.vue | 26 +- .../teachers/loader/SelectLoader.vue | 101 +- .../teachers/loader/StatisticLoader.vue | 73 +- src/components/users/comment/CommentCard.vue | 31 +- .../users/comment/CommentCardBar.vue | 177 +-- .../users/comment/CommentCardContent.vue | 500 +++---- src/components/users/comment/CommentCover.vue | 117 +- src/components/users/comment/CommentFold.vue | 114 +- .../users/comment/StatisticCard.vue | 166 +-- .../users/comment/TextContainer.vue | 461 +++---- src/components/users/forms/Login.vue | 88 +- .../users/profile/AvatarContainer.vue | 208 +-- src/components/users/profile/EditProfile.vue | 797 +++++------ src/components/users/profile/Profile.vue | 210 ++- src/composables/courses/all/useCourseAll.js | 443 +++--- src/composables/courses/all/useCourseCard.js | 30 +- .../courses/all/useStatisticCard.js | 136 +- .../courses/comment/useCommentRecent.js | 101 +- .../courses/comment/useCourseDetails.js | 369 ++--- .../courses/comment/useDetailCard.js | 25 +- .../courses/comment/useFoldComment.js | 14 +- .../courses/comment/useManageCard.js | 580 ++++---- .../courses/comment/useScoreLine.js | 19 +- .../courses/comment/useSelectBar.js | 23 +- .../courses/comment/useWritingBox.js | 389 +++--- .../courses/comment/useWritingCard.js | 823 +++++------ src/composables/global/useAfterRender.js | 50 +- src/composables/global/useArrayUtils.js | 32 +- src/composables/global/useCaptcha.js | 18 +- src/composables/global/useCommentSort.js | 33 +- src/composables/global/useCookie.js | 195 ++- src/composables/global/useDebounce.js | 18 +- src/composables/global/useExternalUrl.js | 34 +- src/composables/global/useFetching.js | 17 +- src/composables/global/useHttpError.js | 49 +- src/composables/global/useInsitePush.js | 41 +- src/composables/global/useMarkdown.js | 30 +- src/composables/global/useMenuBar.js | 21 + src/composables/global/useMutation.js | 15 +- src/composables/global/useObjectUtils.js | 48 +- src/composables/global/useParseScore.js | 29 +- src/composables/global/usePhantomData.js | 518 +++---- src/composables/global/useRecordWatch.js | 22 +- src/composables/global/useRefCopy.js | 35 +- src/composables/global/useRouteMatch.js | 20 +- src/composables/global/useShare.js | 9 +- src/composables/global/useSnackbar.js | 29 +- src/composables/global/useSponsors.js | 134 +- src/composables/global/useStaticData.js | 118 +- src/composables/global/useTimeUtils.js | 12 +- src/composables/global/useUserName.js | 67 +- src/composables/global/useWatching.js | 6 +- src/composables/reward/useModifyReward.js | 68 +- src/composables/reward/useRewardRank.js | 3 +- .../teachers/course/useCourseCard.js | 28 +- .../teachers/course/useStatisticCard.js | 59 +- src/composables/teachers/detail/useDetail.js | 15 +- src/composables/teachers/useTeacherDetail.js | 232 ++-- .../users/comment/useCommentCardBar.js | 11 +- .../users/comment/useCommentCardContent.js | 74 +- .../users/comment/useStatisticCard.js | 59 +- .../users/comment/useTextContainer.js | 61 +- src/composables/users/forms/useForms.js | 62 +- src/composables/users/forms/useLogin.js | 376 ++--- src/composables/users/forms/useLogout.js | 47 +- src/composables/users/forms/useRegister.js | 253 ++-- .../users/profile/useEditProfile.js | 444 +++--- src/composables/users/profile/useProfile.js | 160 ++- src/composables/users/useActive.js | 133 +- .../users/useResetPasswordActive.js | 172 +-- src/composables/users/useUser.js | 302 +++-- src/main.js | 80 +- src/plugins/markdown-loader.js | 6 +- src/plugins/vuetify.js | 20 +- src/router/index.js | 116 +- src/router/migrateRouter.js | 26 +- src/styles/markdown.css | 135 +- src/styles/prism.css | 241 ++-- src/views/About.vue | 714 +++++----- src/views/Active.vue | 355 ++--- src/views/ActivityPoster.vue | 194 +-- src/views/CourseAll.vue | 190 ++- src/views/CourseDetails.vue | 380 +++--- src/views/NotFound.vue | 32 +- src/views/Ranking.vue | 3 +- src/views/Recent.vue | 57 +- src/views/ResetPasswordActive.vue | 566 ++++---- src/views/TeacherAll.vue | 15 +- src/views/TeacherDetails.vue | 411 +++--- src/views/User.vue | 283 ++-- 125 files changed, 11425 insertions(+), 10606 deletions(-) mode change 100644 => 100755 src/components/global/Header.vue create mode 100755 src/components/global/MenuSideBar.vue create mode 100644 src/composables/global/useMenuBar.js diff --git a/src/App.vue b/src/App.vue index f03febb..98391bf 100755 --- a/src/App.vue +++ b/src/App.vue @@ -1,106 +1,116 @@ - - - + + + diff --git a/src/assets/bench_reviewer.md b/src/assets/bench_reviewer.md index edc56ee..06758a8 100644 --- a/src/assets/bench_reviewer.md +++ b/src/assets/bench_reviewer.md @@ -2,29 +2,29 @@ ## 参与计划 -“Bench Reviewers” 招募计划,是为Course Bench网络社区培养优秀内容创作者的活动。Course Bench是由上科大同学自发组织的网络社区,你可以发表对科大课程的评价,也可以和同学交流学习经验、选课心得、生活感想等。为了共建社区,我们希望通过邀请和招募的形式,吸引约50名有表达欲、对课程评价感兴趣的Bench Reviewer。我们将一起通过不定期发布高质量评论,积极建设Course Bench社区。 -奖励:每名Bench Reviewer将获得约100元现金奖励,并获得“Bench Reviewer”称号 +“Bench Reviewers” 招募计划,是为 Course Bench 网络社区培养优秀内容创作者的活动。Course Bench 是由上科大同学自发组织的网络社区,你可以发表对科大课程的评价,也可以和同学交流学习经验、选课心得、生活感想等。为了共建社区,我们希望通过邀请和招募的形式,吸引约 50 名有表达欲、对课程评价感兴趣的 Bench Reviewer。我们将一起通过不定期发布高质量评论,积极建设 Course Bench 社区。 +奖励:每名 Bench Reviewer 将获得约 100 元现金奖励,并获得“Bench Reviewer”称号 ## 我们期待的评论: -示例1: +示例 1: -示例2: +示例 2: ## Q&A -### 我该如何加入Bench Reviewers招募活动? +### 我该如何加入 Bench Reviewers 招募活动? -你可以通过接受邀请,或者海报/QQ群/微信群的方式加入我们,名额有限,先到先得哦! +你可以通过接受邀请,或者海报/QQ 群/微信群的方式加入我们,名额有限,先到先得哦! -### 成为Bench Reviewers有什么要求吗? +### 成为 Bench Reviewers 有什么要求吗? -你需要在Course Bench上发布100字以上,且能提供有参考价值的事实信息的评论,并被评为优质评论,就有机会成为Bench Reviewer。 +你需要在 Course Bench 上发布 100 字以上,且能提供有参考价值的事实信息的评论,并被评为优质评论,就有机会成为 Bench Reviewer。 ### 我该如何领取奖金? -我们会根据各位的评论质量,向最优质的50名同学发送邀请邮件,加入我们的活动微信群,用于奖金发放,并配合后续宣传工作。 +我们会根据各位的评论质量,向最优质的 50 名同学发送邀请邮件,加入我们的活动微信群,用于奖金发放,并配合后续宣传工作。 ### 活动什么时候结束? -本次活动从2024年5月1日开始,目前为长期活动,停止招募会另行通知。 \ No newline at end of file +本次活动从 2024 年 5 月 1 日开始,目前为长期活动,停止招募会另行通知。 diff --git a/src/assets/comment_policy.md b/src/assets/comment_policy.md index e5a5cc4..3a83f0c 100644 --- a/src/assets/comment_policy.md +++ b/src/assets/comment_policy.md @@ -1 +1 @@ -发一条友善的评论 +发一条友善的评论 diff --git a/src/assets/contributors.json b/src/assets/contributors.json index bf584a9..5635a52 100644 --- a/src/assets/contributors.json +++ b/src/assets/contributors.json @@ -1,62 +1,62 @@ -[ - { - "name": "teafrogsf", - "home": "qq:861940148", - "avatar": "qq:861940148" - }, - { - "name": "WAAutoMaton", - "home": "github:WAAutoMaton", - "avatar": "github:24771667" - }, - { - "name": "yanglinshu", - "home": "github:yanglinshu", - "avatar": "github:46046648" - }, - { - "name": "Clarivy", - "home": "github:Clarivy", - "avatar": "github:62002698" - }, - { - "name": "wenxuanjun", - "home": "github:wenxuanjun", - "avatar": "github:41050170" - }, - { - "name": "陆沈欢", - "home": "qq:2366384567", - "avatar": "qq:2366384567" - }, - { - "name": "邓宸希", - "home": "qq:3260984912", - "avatar": "qq:3260984912" - }, - { - "name": "魏之远", - "home": "qq:1258678835", - "avatar": "qq:1258678835" - }, - { - "name": "失踪猫猫", - "home": "qq:2330905078", - "avatar": "qq:2330905078" - }, - { - "name": "猫剩子", - "home": "qq:2512031097", - "avatar": "qq:2512031097" - }, - { - "name": "Tropinone", - "home": "qq:1841610434,", - "avatar": "qq:1841610434" - }, - { - "name": "存开心", - "home": "qq:2174656630", - "avatar": "qq:2174656630" - } -] \ No newline at end of file +[ + { + "name": "teafrogsf", + "home": "qq:861940148", + "avatar": "qq:861940148" + }, + { + "name": "WAAutoMaton", + "home": "github:WAAutoMaton", + "avatar": "github:24771667" + }, + { + "name": "yanglinshu", + "home": "github:yanglinshu", + "avatar": "github:46046648" + }, + { + "name": "Clarivy", + "home": "github:Clarivy", + "avatar": "github:62002698" + }, + { + "name": "wenxuanjun", + "home": "github:wenxuanjun", + "avatar": "github:41050170" + }, + { + "name": "陆沈欢", + "home": "qq:2366384567", + "avatar": "qq:2366384567" + }, + { + "name": "邓宸希", + "home": "qq:3260984912", + "avatar": "qq:3260984912" + }, + { + "name": "魏之远", + "home": "qq:1258678835", + "avatar": "qq:1258678835" + }, + { + "name": "失踪猫猫", + "home": "qq:2330905078", + "avatar": "qq:2330905078" + }, + { + "name": "猫剩子", + "home": "qq:2512031097", + "avatar": "qq:2512031097" + }, + { + "name": "Tropinone", + "home": "qq:1841610434,", + "avatar": "qq:1841610434" + }, + { + "name": "存开心", + "home": "qq:2174656630", + "avatar": "qq:2174656630" + } +] diff --git a/src/assets/privacy_policy.md b/src/assets/privacy_policy.md index 460713f..2f65e38 100644 --- a/src/assets/privacy_policy.md +++ b/src/assets/privacy_policy.md @@ -1,18 +1,19 @@ -更新日期:2022年10月1日 -生效日期:2022年10月1日 -请您知悉,本指引**目前**并不具有真实的法律效力,仅作为CourshBench运营团队与CourseBench用户之间的公约。请您在使用本平台前,仔细阅读并充分理解该指引。 +更新日期:2022 年 10 月 1 日 +生效日期:2022 年 10 月 1 日 +请您知悉,本指引**目前**并不具有真实的法律效力,仅作为 CourshBench 运营团队与 CourseBench 用户之间的公约。请您在使用本平台前,仔细阅读并充分理解该指引。 + 1. 我们收集和使用的个人信息 -在您使用CourseBench的过程中,我们将收集您在使用我们的服务时主动提供或因为使用服务而产生的信息。我们对您用户信息的收集和使用均已征得您的同意,且仅用于为您提供及优化我们的服务和维护您的账户安全。我们会尽可能地以最小限度收集必要的信息。 -如果您拒绝我们收集这些信息,您将无法使用我们的评论和点赞服务。但您仍然能够使用我们的基础服务,如搜索和浏览课程评价页面等功能。 -我们会按如下方式收集您的信息: -1.1 当您注册并使用CourseBench账号时,我们需要收集您的邮箱作为必要信息。我们也会在征集您的同意后收集您的学段、入学时间、真实姓名等信息。 -1.2 当您使用CourseBench的搜索、点赞/踩、评论等功能时,为了CourseBench的维护和可持续发展,我们会收集在此过程中产生的日志等信息,并保存您生产的内容(包括点赞/踩、评论等信息)。 -1.3 您可以在个人主页中更改您的学段、入学时间、真实姓名信息。您还可以添加或更改您的昵称。我们会收集这些信息,且不保存更改前的内容。 -1.4 当您向CourseBench提出建议或反馈时,我们会收集您的联系方式,以便于与您进行进一步的交流和沟通。 -1.5 当您向CourseBench提供赞助时,我们会在征得您的同意后收集您的昵称、邮箱、头像等信息,并用于Sponsor页面的展示。我们不会将这些信息用于其他用途。 -1.6 由于提供服务的必要性,我们会在您使用我们的服务过程中收集包括但不限于IP地址、浏览器标识符、操作系统等设备信息。 + 在您使用 CourseBench 的过程中,我们将收集您在使用我们的服务时主动提供或因为使用服务而产生的信息。我们对您用户信息的收集和使用均已征得您的同意,且仅用于为您提供及优化我们的服务和维护您的账户安全。我们会尽可能地以最小限度收集必要的信息。 + 如果您拒绝我们收集这些信息,您将无法使用我们的评论和点赞服务。但您仍然能够使用我们的基础服务,如搜索和浏览课程评价页面等功能。 + 我们会按如下方式收集您的信息: + 1.1 当您注册并使用 CourseBench 账号时,我们需要收集您的邮箱作为必要信息。我们也会在征集您的同意后收集您的学段、入学时间、真实姓名等信息。 + 1.2 当您使用 CourseBench 的搜索、点赞/踩、评论等功能时,为了 CourseBench 的维护和可持续发展,我们会收集在此过程中产生的日志等信息,并保存您生产的内容(包括点赞/踩、评论等信息)。 + 1.3 您可以在个人主页中更改您的学段、入学时间、真实姓名信息。您还可以添加或更改您的昵称。我们会收集这些信息,且不保存更改前的内容。 + 1.4 当您向 CourseBench 提出建议或反馈时,我们会收集您的联系方式,以便于与您进行进一步的交流和沟通。 + 1.5 当您向 CourseBench 提供赞助时,我们会在征得您的同意后收集您的昵称、邮箱、头像等信息,并用于 Sponsor 页面的展示。我们不会将这些信息用于其他用途。 + 1.6 由于提供服务的必要性,我们会在您使用我们的服务过程中收集包括但不限于 IP 地址、浏览器标识符、操作系统等设备信息。 2. 我们如何保护您的信息 - 2.1 我们将采取业内认可的方式来保护您的信息。我们将尽可能地使用一切合理的方式来保护您的信息不受侵害。您的密码将被以安全的加密方式存储在数据库中。您的浏览器与CourseBench交互数据时,数据将受到SSL加密保护。我们会时刻关注您的安全。 - 2.2 如果我们需要使用您的去标识化信息用于CourseBench的更新和优化,我们会将您的信息进行脱敏处理。 + 2.1 我们将采取业内认可的方式来保护您的信息。我们将尽可能地使用一切合理的方式来保护您的信息不受侵害。您的密码将被以安全的加密方式存储在数据库中。您的浏览器与 CourseBench 交互数据时,数据将受到 SSL 加密保护。我们会时刻关注您的安全。 + 2.2 如果我们需要使用您的去标识化信息用于 CourseBench 的更新和优化,我们会将您的信息进行脱敏处理。 3. 我们如何更新与修改该指引 - 我们可能会在网站进行重大更新时同步更新该指引。我们会提供显著的通知来说明具体的变更内容,且在获取您的同意前,我们不会按照更新后的指引收集、使用、处理和存储您的信息。 \ No newline at end of file + 我们可能会在网站进行重大更新时同步更新该指引。我们会提供显著的通知来说明具体的变更内容,且在获取您的同意前,我们不会按照更新后的指引收集、使用、处理和存储您的信息。 diff --git a/src/assets/sponsors.json b/src/assets/sponsors.json index 0dfaaec..40fe51b 100644 --- a/src/assets/sponsors.json +++ b/src/assets/sponsors.json @@ -1,21 +1,21 @@ -{ - "cooperations": [ - { - "name": "上海科技大学ACM社", - "home": "https://acm.shanghaitech.edu.cn/", - "logo": "https://s2.loli.net/2022/09/30/O3vP8m5t1qV6D4n.png" - } - ], - "individuals": [ - { - "name": "Winlere", - "home": "https://cnblogs.com/winlere", - "avatar": "https://avatars.githubusercontent.com/u/48151038?s=64&v=4" - }, - { - "name": "logan", - "home": "github:LoganJoe", - "avatar": "github:36989741" - } - ] -} \ No newline at end of file +{ + "cooperations": [ + { + "name": "上海科技大学ACM社", + "home": "https://acm.shanghaitech.edu.cn/", + "logo": "https://s2.loli.net/2022/09/30/O3vP8m5t1qV6D4n.png" + } + ], + "individuals": [ + { + "name": "Winlere", + "home": "https://cnblogs.com/winlere", + "avatar": "https://avatars.githubusercontent.com/u/48151038?s=64&v=4" + }, + { + "name": "logan", + "home": "github:LoganJoe", + "avatar": "github:36989741" + } + ] +} diff --git a/src/assets/terms_of_service.md b/src/assets/terms_of_service.md index 324175b..81f2659 100644 --- a/src/assets/terms_of_service.md +++ b/src/assets/terms_of_service.md @@ -1,33 +1,34 @@ -更新日期:2022年10月1日 -生效日期:2022年10月1日 -请您知悉,本协议**目前**并不具有真实的法律效力,仅作为CourshBench运营团队与CourseBench用户(下称“用户”)之间的公约。请您在使用本平台前,仔细阅读并充分理解该协议。如您开始使用我们的服务,即视为您(即用户)已完全理解并同意本协议下的全部条款。 +更新日期:2022 年 10 月 1 日 +生效日期:2022 年 10 月 1 日 +请您知悉,本协议**目前**并不具有真实的法律效力,仅作为 CourshBench 运营团队与 CourseBench 用户(下称“用户”)之间的公约。请您在使用本平台前,仔细阅读并充分理解该协议。如您开始使用我们的服务,即视为您(即用户)已完全理解并同意本协议下的全部条款。 + 1. 账号使用 -1.1 用户注册成功后,应当负责保管用户的账号和密码。用户对以其账号进行的所有行为负法律责任。 -1.2 用户应对其在CourseBench注册信息的真实性、合法性、有效性承担全部责任。用户不得冒充他人进行任何行为,否则CourseBench有权立即停止提供服务并由用户承担由此产生的一切法律责任。 -1.3 用户不得生产和发布含有下列内容的违法信息: -(一)反对宪法所确定的基本原则的; -(二)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的; -(三)损害国家荣誉和利益的; -(四)歪曲、丑化、亵渎、否定英雄烈士事迹和精神,以侮辱、诽谤或者其他方式侵害英雄烈士的姓名、肖像、名誉、荣誉的; -(五)宣扬恐怖主义、极端主义或者煽动实施恐怖活动、极端主义活动的; -(六)煽动民族仇恨、民族歧视,破坏民族团结的; -(七)破坏国家宗教政策,宣扬邪教和封建迷信的; -(八)散布谣言,扰乱经济秩序和社会秩序的; -(九)散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的; -(十)侮辱或者诽谤他人,侵害他人名誉、隐私和其他合法权益的; -(十一)法律、行政法规禁止的其他内容。 -1.4 如用户违反任何上述规定,CourseBench有权对用户采取包括但不限于要求改正、删除内容、暂停或终止用户使用CourseBench的权利。 + 1.1 用户注册成功后,应当负责保管用户的账号和密码。用户对以其账号进行的所有行为负法律责任。 + 1.2 用户应对其在 CourseBench 注册信息的真实性、合法性、有效性承担全部责任。用户不得冒充他人进行任何行为,否则 CourseBench 有权立即停止提供服务并由用户承担由此产生的一切法律责任。 + 1.3 用户不得生产和发布含有下列内容的违法信息: + (一)反对宪法所确定的基本原则的; + (二)危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的; + (三)损害国家荣誉和利益的; + (四)歪曲、丑化、亵渎、否定英雄烈士事迹和精神,以侮辱、诽谤或者其他方式侵害英雄烈士的姓名、肖像、名誉、荣誉的; + (五)宣扬恐怖主义、极端主义或者煽动实施恐怖活动、极端主义活动的; + (六)煽动民族仇恨、民族歧视,破坏民族团结的; + (七)破坏国家宗教政策,宣扬邪教和封建迷信的; + (八)散布谣言,扰乱经济秩序和社会秩序的; + (九)散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的; + (十)侮辱或者诽谤他人,侵害他人名誉、隐私和其他合法权益的; + (十一)法律、行政法规禁止的其他内容。 + 1.4 如用户违反任何上述规定,CourseBench 有权对用户采取包括但不限于要求改正、删除内容、暂停或终止用户使用 CourseBench 的权利。 2. 知识产权 -2.1 CourseBench尊重用户的创作。用户在CourseBench上生产或发布的全部原创内容(包括但不限于课程评价)著作权均归用户本人所有。用户可授权任何第三方以任何形式使用。 -2.2 用户将其在CourseBench上生产和发布的全部内容,授予CourseBench免费的、不可撤销的、非独家使用许可。CourseBench在未经用户同意前,不会对使用的内容进行修改,但可能会在不扭曲真实含义的情况下选取用户的内容。 -2.3 用户在CourseBench上生产或发布内容,均视为用户同意CourseBench或任何第三方遵循CC4.0 BY-NC-SA的协议对用户的内容进行知识共享。 -2.4 在CourseBench上传或发表的内容,用户应保证其为著作权人或已取得合法授权,并且该内容不会侵犯任何第三方的合法权益。如果第三方提出关于著作权的异议,CourseBench有权根据实际情况删除相关的内容,且有权追究用户的法律责任。给CourseBench或任何第三方造成损失的,用户应负责全额赔偿。 + 2.1 CourseBench 尊重用户的创作。用户在 CourseBench 上生产或发布的全部原创内容(包括但不限于课程评价)著作权均归用户本人所有。用户可授权任何第三方以任何形式使用。 + 2.2 用户将其在 CourseBench 上生产和发布的全部内容,授予 CourseBench 免费的、不可撤销的、非独家使用许可。CourseBench 在未经用户同意前,不会对使用的内容进行修改,但可能会在不扭曲真实含义的情况下选取用户的内容。 + 2.3 用户在 CourseBench 上生产或发布内容,均视为用户同意 CourseBench 或任何第三方遵循 CC4.0 BY-NC-SA 的协议对用户的内容进行知识共享。 + 2.4 在 CourseBench 上传或发表的内容,用户应保证其为著作权人或已取得合法授权,并且该内容不会侵犯任何第三方的合法权益。如果第三方提出关于著作权的异议,CourseBench 有权根据实际情况删除相关的内容,且有权追究用户的法律责任。给 CourseBench 或任何第三方造成损失的,用户应负责全额赔偿。 3. 个人隐私 -CourseBench不鼓励用户进行匿名评价。我们为用户提供匿名服务,但我们保留在用户创作或发布不当内容时解除匿名的权利。我们鼓励用户以实名(即公开邮箱)的方式生产和发布内容,同时将尽全力保护用户的隐私信息。 -如用户使用CourseBench提供的服务,视为用户同意CourseBench按照《个人信息保护指引》收集、使用和储存用户的信息。 -除非得到用户的明确同意,CourseBench不会向任何第三方透露用户的个人隐私信息及非公开内容。 + CourseBench 不鼓励用户进行匿名评价。我们为用户提供匿名服务,但我们保留在用户创作或发布不当内容时解除匿名的权利。我们鼓励用户以实名(即公开邮箱)的方式生产和发布内容,同时将尽全力保护用户的隐私信息。 + 如用户使用 CourseBench 提供的服务,视为用户同意 CourseBench 按照《个人信息保护指引》收集、使用和储存用户的信息。 + 除非得到用户的明确同意,CourseBench 不会向任何第三方透露用户的个人隐私信息及非公开内容。 4. 免责声明 -4.1 用户应充分意识到,用户生产或发表的任何内容,均有可能被任何第三方用于违背本协议或非法用途。用户同意其使用CourseBench存在的风险和产生的一切后果完全由用户本人承担,CourseBench对此不承担任何责任。 -4.2 CourseBench有权但无义务审核用户生产或发表的内容。CourseBench不对这些内容作任何担保,且保留在任何情况下删除内容的权利。 + 4.1 用户应充分意识到,用户生产或发表的任何内容,均有可能被任何第三方用于违背本协议或非法用途。用户同意其使用 CourseBench 存在的风险和产生的一切后果完全由用户本人承担,CourseBench 对此不承担任何责任。 + 4.2 CourseBench 有权但无义务审核用户生产或发表的内容。CourseBench 不对这些内容作任何担保,且保留在任何情况下删除内容的权利。 5. 协议修改 -CourseBench有权对本协议的内容进行更改。我们会提供显著的通知来说明具体的变更内容,且该行为视为我们已经变更该协议。如果用户不同意CourseBench对协议的更改,用户有权且应当停止使用CourseBench。如果用户继续使用CourseBench,则视为用户接受CourseBench对协议的更改。 \ No newline at end of file + CourseBench 有权对本协议的内容进行更改。我们会提供显著的通知来说明具体的变更内容,且该行为视为我们已经变更该协议。如果用户不同意 CourseBench 对协议的更改,用户有权且应当停止使用 CourseBench。如果用户继续使用 CourseBench,则视为用户接受 CourseBench 对协议的更改。 diff --git a/src/components/courses/CourseCommentCard.vue b/src/components/courses/CourseCommentCard.vue index 27d75c7..0df342c 100644 --- a/src/components/courses/CourseCommentCard.vue +++ b/src/components/courses/CourseCommentCard.vue @@ -25,15 +25,15 @@ {{ useUserName(localComment.user) + (localComment.user && localComment.is_anonymous - ? "(匿名)" - : "") + ? '(匿名)' + : '') }}
{{ localComment.user ? gradeItems[localComment.user.grade] - : "由匿名用户发送,请仔细分辨其真实性" + : '由匿名用户发送,请仔细分辨其真实性' }}
@@ -86,7 +86,7 @@ class="text-caption" style="transform: translate(-7px, 0); display: inline-block" > - {{ $vuetify.breakpoint.width < 400 ? "" : "赞同" }} + {{ $vuetify.breakpoint.width < 400 ? '' : '赞同' }} {{ footerNote.comment.like - footerNote.comment.dislike + @@ -135,33 +135,20 @@ {{ footerNote.statics.icons.mdiShare }} - {{ $vuetify.breakpoint.xsOnly ? "" : "分享" }} + {{ $vuetify.breakpoint.xsOnly ? '' : '分享' }} - + 复制链接 - + 下载评论图片 - - 二维码: - - + 二维码: + @@ -174,17 +161,21 @@ - - + + + + + diff --git a/src/components/courses/DetailChips.vue b/src/components/courses/DetailChips.vue index 648fbda..ddb7c8f 100644 --- a/src/components/courses/DetailChips.vue +++ b/src/components/courses/DetailChips.vue @@ -1,14 +1,16 @@ - - - - - + + + + + diff --git a/src/components/courses/ManageCard.vue b/src/components/courses/ManageCard.vue index 6c46b65..d86b08d 100644 --- a/src/components/courses/ManageCard.vue +++ b/src/components/courses/ManageCard.vue @@ -1,492 +1,492 @@ - - - + + + diff --git a/src/components/courses/ReviewDetail.vue b/src/components/courses/ReviewDetail.vue index 84d5ee3..aa8fea1 100644 --- a/src/components/courses/ReviewDetail.vue +++ b/src/components/courses/ReviewDetail.vue @@ -1,27 +1,28 @@ - - - - - + + + + + diff --git a/src/components/courses/ScoreBoard.vue b/src/components/courses/ScoreBoard.vue index 0968a47..2806bfa 100644 --- a/src/components/courses/ScoreBoard.vue +++ b/src/components/courses/ScoreBoard.vue @@ -1,35 +1,34 @@ - - - - - + + + + + diff --git a/src/components/courses/ScoreLine.vue b/src/components/courses/ScoreLine.vue index b30605f..b5c69cb 100644 --- a/src/components/courses/ScoreLine.vue +++ b/src/components/courses/ScoreLine.vue @@ -34,7 +34,7 @@ - + diff --git a/src/components/courses/WritingBox.vue b/src/components/courses/WritingBox.vue index 2077ffe..97be5e7 100644 --- a/src/components/courses/WritingBox.vue +++ b/src/components/courses/WritingBox.vue @@ -1,279 +1,279 @@ - - - - - + + + + + diff --git a/src/components/courses/WritingCard.vue b/src/components/courses/WritingCard.vue index 18dba97..57ab5f3 100644 --- a/src/components/courses/WritingCard.vue +++ b/src/components/courses/WritingCard.vue @@ -1,586 +1,622 @@ - - - + + + diff --git a/src/components/courses/all/CourseCard.vue b/src/components/courses/all/CourseCard.vue index 1acc67f..9e8fcc7 100644 --- a/src/components/courses/all/CourseCard.vue +++ b/src/components/courses/all/CourseCard.vue @@ -1,202 +1,210 @@ - - - \ No newline at end of file + + + diff --git a/src/components/courses/all/ElevatedPagination.vue b/src/components/courses/all/ElevatedPagination.vue index e187c7f..425ed91 100644 --- a/src/components/courses/all/ElevatedPagination.vue +++ b/src/components/courses/all/ElevatedPagination.vue @@ -1,54 +1,62 @@ - - - \ No newline at end of file + + + diff --git a/src/components/courses/all/SelectBar.vue b/src/components/courses/all/SelectBar.vue index 20fb163..f169f82 100644 --- a/src/components/courses/all/SelectBar.vue +++ b/src/components/courses/all/SelectBar.vue @@ -1,68 +1,61 @@ - - + + diff --git a/src/components/courses/all/StatisticCard.vue b/src/components/courses/all/StatisticCard.vue index faa37aa..4bf673f 100644 --- a/src/components/courses/all/StatisticCard.vue +++ b/src/components/courses/all/StatisticCard.vue @@ -1,94 +1,116 @@ - - \ No newline at end of file + + diff --git a/src/components/global/ActivityBanner.vue b/src/components/global/ActivityBanner.vue index 3adf599..8055472 100644 --- a/src/components/global/ActivityBanner.vue +++ b/src/components/global/ActivityBanner.vue @@ -1,32 +1,33 @@ \ No newline at end of file + diff --git a/src/components/global/Header.vue b/src/components/global/Header.vue old mode 100644 new mode 100755 index 279cb49..b897667 --- a/src/components/global/Header.vue +++ b/src/components/global/Header.vue @@ -1,389 +1,397 @@ - - - - + + + + diff --git a/src/components/global/InsiderBanner.vue b/src/components/global/InsiderBanner.vue index 70c613d..36ec849 100644 --- a/src/components/global/InsiderBanner.vue +++ b/src/components/global/InsiderBanner.vue @@ -1,35 +1,33 @@ - - - \ No newline at end of file + + + diff --git a/src/components/global/MenuSideBar.vue b/src/components/global/MenuSideBar.vue new file mode 100755 index 0000000..3811208 --- /dev/null +++ b/src/components/global/MenuSideBar.vue @@ -0,0 +1,76 @@ + + + diff --git a/src/components/global/MobileSearchBar.vue b/src/components/global/MobileSearchBar.vue index 3e0ff33..86ded43 100755 --- a/src/components/global/MobileSearchBar.vue +++ b/src/components/global/MobileSearchBar.vue @@ -1,67 +1,68 @@ - - - \ No newline at end of file + + + diff --git a/src/components/global/Nothing.vue b/src/components/global/Nothing.vue index 99e3bab..c61699c 100755 --- a/src/components/global/Nothing.vue +++ b/src/components/global/Nothing.vue @@ -1,33 +1,33 @@ - - \ No newline at end of file + + diff --git a/src/components/global/SliderButton.vue b/src/components/global/SliderButton.vue index 522b63a..fe2f534 100644 --- a/src/components/global/SliderButton.vue +++ b/src/components/global/SliderButton.vue @@ -1,235 +1,233 @@ - - - \ No newline at end of file + + + diff --git a/src/components/teachers/course/CourseCard.vue b/src/components/teachers/course/CourseCard.vue index 3a13e0f..26a6785 100644 --- a/src/components/teachers/course/CourseCard.vue +++ b/src/components/teachers/course/CourseCard.vue @@ -1,149 +1,163 @@ - - - + + + diff --git a/src/components/teachers/course/StatisticCard.vue b/src/components/teachers/course/StatisticCard.vue index 6ebc9b1..f0a5c4e 100644 --- a/src/components/teachers/course/StatisticCard.vue +++ b/src/components/teachers/course/StatisticCard.vue @@ -1,84 +1,84 @@ - - + + diff --git a/src/components/teachers/detail/BackgroundImage.vue b/src/components/teachers/detail/BackgroundImage.vue index d2755f6..ed7b8df 100644 --- a/src/components/teachers/detail/BackgroundImage.vue +++ b/src/components/teachers/detail/BackgroundImage.vue @@ -1,30 +1,41 @@ - - + + diff --git a/src/components/teachers/detail/Detail.vue b/src/components/teachers/detail/Detail.vue index e1e26db..c574364 100644 --- a/src/components/teachers/detail/Detail.vue +++ b/src/components/teachers/detail/Detail.vue @@ -1,60 +1,62 @@ - - - - + + + + diff --git a/src/components/teachers/loader/CommentLoader.vue b/src/components/teachers/loader/CommentLoader.vue index 4a27fc0..6428e3c 100644 --- a/src/components/teachers/loader/CommentLoader.vue +++ b/src/components/teachers/loader/CommentLoader.vue @@ -1,81 +1,129 @@ - - \ No newline at end of file + + diff --git a/src/components/teachers/loader/CourseLoader.vue b/src/components/teachers/loader/CourseLoader.vue index 37ac349..7ec8b0d 100644 --- a/src/components/teachers/loader/CourseLoader.vue +++ b/src/components/teachers/loader/CourseLoader.vue @@ -1,82 +1,116 @@ - - - - + + + + diff --git a/src/components/teachers/loader/DetailCardLoader.vue b/src/components/teachers/loader/DetailCardLoader.vue index 6eb646b..137d438 100644 --- a/src/components/teachers/loader/DetailCardLoader.vue +++ b/src/components/teachers/loader/DetailCardLoader.vue @@ -1,92 +1,92 @@ - - - + + + diff --git a/src/components/teachers/loader/DetailLoader.vue b/src/components/teachers/loader/DetailLoader.vue index 1bf41bb..9446d73 100644 --- a/src/components/teachers/loader/DetailLoader.vue +++ b/src/components/teachers/loader/DetailLoader.vue @@ -1,49 +1,73 @@ - - \ No newline at end of file + + diff --git a/src/components/teachers/loader/ImageLoader.vue b/src/components/teachers/loader/ImageLoader.vue index 31ff978..d3f95dd 100644 --- a/src/components/teachers/loader/ImageLoader.vue +++ b/src/components/teachers/loader/ImageLoader.vue @@ -1,11 +1,15 @@ - - \ No newline at end of file + + diff --git a/src/components/teachers/loader/SelectLoader.vue b/src/components/teachers/loader/SelectLoader.vue index ca224e7..9e84424 100644 --- a/src/components/teachers/loader/SelectLoader.vue +++ b/src/components/teachers/loader/SelectLoader.vue @@ -1,50 +1,51 @@ - - + + diff --git a/src/components/teachers/loader/StatisticLoader.vue b/src/components/teachers/loader/StatisticLoader.vue index f528f70..d1fe5f0 100644 --- a/src/components/teachers/loader/StatisticLoader.vue +++ b/src/components/teachers/loader/StatisticLoader.vue @@ -1,33 +1,40 @@ - - \ No newline at end of file + + diff --git a/src/components/users/comment/CommentCard.vue b/src/components/users/comment/CommentCard.vue index bf16ce5..2e0ee5e 100644 --- a/src/components/users/comment/CommentCard.vue +++ b/src/components/users/comment/CommentCard.vue @@ -26,7 +26,14 @@ -