diff --git a/src/assets/images/oneFile.png b/src/assets/images/oneFile.png new file mode 100644 index 0000000..bc8b70e Binary files /dev/null and b/src/assets/images/oneFile.png differ diff --git a/src/assets/images/DeleteButton.svg b/src/assets/svg/DeleteButton.svg similarity index 100% rename from src/assets/images/DeleteButton.svg rename to src/assets/svg/DeleteButton.svg diff --git a/src/assets/images/EditButton.svg b/src/assets/svg/EditButton.svg similarity index 100% rename from src/assets/images/EditButton.svg rename to src/assets/svg/EditButton.svg diff --git a/src/assets/images/WebsiteBanner.svg b/src/assets/svg/WebsiteBanner.svg similarity index 100% rename from src/assets/images/WebsiteBanner.svg rename to src/assets/svg/WebsiteBanner.svg diff --git a/src/components/Home/Header.vue b/src/components/Home/Header.vue index 3890efd..ba243c9 100644 --- a/src/components/Home/Header.vue +++ b/src/components/Home/Header.vue @@ -13,6 +13,7 @@ 榜 单 文 章 + OneFile 提交项目 diff --git a/src/components/Home/LoginDialog.vue b/src/components/Home/LoginDialog.vue index 1a0dc48..c4f1fd9 100644 --- a/src/components/Home/LoginDialog.vue +++ b/src/components/Home/LoginDialog.vue @@ -70,7 +70,7 @@ append-to-body :close-on-click-modal="false">
- + import axios from "axios"; import Vue from "vue"; +const checkPassword = (rule, value, callback) => { + var s_1_1 = "`1234567890-="; + var s_1_2 = "qwertyuiop[]\\"; + var s_1_3 = "asdfghjkl;'"; + var s_1_4 = "zxcvbnm,./"; + var s_2_1 = "`1234567890-="; + var s_2_2 = "QWERTYUIOP[]\\"; + var s_2_3 = "ASDFGHJKL;'"; + var s_2_4 = "ZXCVBNM,./"; + var s_3_1 = "~!@#$%^&*()_+"; + var s_3_2 = "QWERTYUIOP{}|"; + var s_3_3 = 'ASDFGHJKL:"'; + var s_3_4 = "ZXCVBNM<>?"; + var boolean = true; + + for (var n = 0; n < value.length - 2; n++) { + var char = value[n] + value[n + 1] + value[n + 2]; + if ( + s_1_1.indexOf(char) >= 0 || + s_1_2.indexOf(char) >= 0 || + s_1_3.indexOf(char) >= 0 || + s_1_4.indexOf(char) >= 0 || + s_2_1.indexOf(char) >= 0 || + s_2_2.indexOf(char) >= 0 || + s_2_3.indexOf(char) >= 0 || + s_2_4.indexOf(char) >= 0 || + s_3_1.indexOf(char) >= 0 || + s_3_2.indexOf(char) >= 0 || + s_3_3.indexOf(char) >= 0 || + s_3_4.indexOf(char) >= 0 + ) { + boolean = false; + break; + } + } + console.log(boolean); + if (boolean == true) { + callback(); + } + callback(new Error("密码中键盘顺序字符不得超过三个,请重新输入")); +}; export default { name: "LoginDialog", @@ -162,6 +203,25 @@ export default { password: [{required: true, message: "请输入密码", trigger: "blur"}], code: [{required: true, message: "请输入验证码", trigger: "blur"}], }, + registerRules: { + username: [ + // required:规则,o:失去焦点触发 + {required: true, message: "请输入用户名", trigger: "blur"}, + ], + password: [{required: true, message: "请输入密码", trigger: "blur"}, + { + //插入正则验证:大小写、数字、至少8位、不常用字符 + pattern: + /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@#!%^*?&+-])[A-Za-z\d$@#!%^*?&+-]{8,}/, + message: "密码应当至少8位且含有数字、大小写字母及特殊字符", + }, + + + //rule中插入比较复杂的验证方法 + { validator: checkPassword, trigger: "blur" }, + ], + code: [{required: true, message: "请输入验证码", trigger: "blur"}], + }, } }, methods:{ diff --git a/src/components/Home/PasswordStrength.vue b/src/components/Home/PasswordStrength.vue new file mode 100644 index 0000000..55180cf --- /dev/null +++ b/src/components/Home/PasswordStrength.vue @@ -0,0 +1,124 @@ + + + + + \ No newline at end of file diff --git a/src/components/Monthly/Monthly.vue b/src/components/Monthly/Monthly.vue index 4f0dcb0..278f62a 100644 --- a/src/components/Monthly/Monthly.vue +++ b/src/components/Monthly/Monthly.vue @@ -265,12 +265,12 @@ export default { .el-carousel__item:nth-child(2n) { background-size: cover; - background-image: url("../../assets/images/WebsiteBanner.svg"); + background-image: url("../../assets/svg/WebsiteBanner.svg"); } .el-carousel__item:nth-child(2n+1) { background-size: cover; - background-image: url("../../assets/images/WebsiteBanner.svg"); + background-image: url("../../assets/svg/WebsiteBanner.svg"); } .card_style{ height:390px; diff --git a/src/components/OneFile/OneFile.vue b/src/components/OneFile/OneFile.vue new file mode 100644 index 0000000..33f7008 --- /dev/null +++ b/src/components/OneFile/OneFile.vue @@ -0,0 +1,104 @@ + + + + + \ No newline at end of file diff --git a/src/components/OneFile/OneFileDetail.vue b/src/components/OneFile/OneFileDetail.vue new file mode 100644 index 0000000..907d71e --- /dev/null +++ b/src/components/OneFile/OneFileDetail.vue @@ -0,0 +1,63 @@ + + + + + \ No newline at end of file diff --git a/src/components/Project/ProjectList.vue b/src/components/Project/ProjectList.vue index f89f0f5..3005539 100644 --- a/src/components/Project/ProjectList.vue +++ b/src/components/Project/ProjectList.vue @@ -74,7 +74,7 @@ export default { }, // 截取文章内容的前 35 个字,并加上省略号 brief: function() { - return this.projectLists.projectDescription.substr(0, 40) + '...'; + return this.projectLists.projectDescription.substr(0, 33) + '...'; }, }, diff --git a/src/components/System/AdminHome.vue b/src/components/System/AdminHome.vue index 16d3080..acdd2a3 100644 --- a/src/components/System/AdminHome.vue +++ b/src/components/System/AdminHome.vue @@ -19,7 +19,7 @@
- 登录时间: 2023-7-9 + 登录时间: {{loginTime}}
@@ -47,7 +47,7 @@ >
- 678993 /个 + {{projectTotal}} /个 总共项目数量
@@ -67,7 +67,7 @@ >
- 678993 /个 + {{userTotal}} /个 总共用户数量
@@ -87,7 +87,7 @@ >
- 678993 /个 + {{AdminTotal}} /个 总共管理员数量
@@ -107,7 +107,7 @@ >
- 678993 /个 + {{ArticleTotal}} /个 总共文章数量
@@ -127,7 +127,7 @@ >
- 678993 /个 + {{CategoryTotal}} /个 总共标签数量
@@ -147,7 +147,7 @@ >
- 678993 /个 + {{CommentTotal}} /个 总共评论数量
@@ -157,7 +157,9 @@
+
+
@@ -165,22 +167,340 @@