Bladeren bron

优化界面

枫叶秋林 2 jaren geleden
bovenliggende
commit
3823c9b2b7

+ 0 - 1
src/components/auth/register.vue

@@ -27,7 +27,6 @@ const rules = reactive<FormRules>({
   ],
   emali: [
     { required: true, message: '请输入邮箱', trigger: 'blur' },
-    { min: 6, max: 20, message: '长度在 6 到 20 个字符', trigger: 'blur' },
     {
       type: 'email',
       message: '请输入正确的邮箱地址',

+ 8 - 0
src/components/plate/platePostItem.vue

@@ -32,6 +32,11 @@ const dp = defineProps({
     type: String,
     required: true,
   },
+  istop: {
+    type: Boolean,
+    required: true,
+    default: false,
+  },
 })
 //格式化时间几天前
 function formatDate(date: any) {
@@ -95,6 +100,8 @@ if (userinfo.value.data.user.avatar) {
       <el-col :span="20">
         <span class="title"
               v-html="dp.title" />
+        <el-tag type="danger"
+                v-show="istop">置顶</el-tag>
         <p class="content">{{dp.content}}</p>
         <div type="text"
              style="float: left">
@@ -126,6 +133,7 @@ if (userinfo.value.data.user.avatar) {
   font-size: 14px;
   color: #909399;
   margin-bottom: 6px;
+  margin-right: 10px;
 }
 .content {
   font-size: 14px;

+ 1 - 0
src/layouts/post.vue

@@ -52,6 +52,7 @@ const bt_comment = () => {
             :md="18"
             :lg="18"
             :xl="18">
+
       <Suspense>
 
         <template #default>

+ 7 - 4
src/views/home/index.vue

@@ -2,10 +2,15 @@
 import plateMenu from '../../components/plate/plateMenu.vue'
 import newPostVue from '../../components/home/newPost.vue'
 import redplate from '../../components/home/redplate.vue'
+import service from '../../plugins/axios'
+const data = (await service.get('/auth/concat')).data
+const notice = `本论坛已经有${data.data.count}个会员,最新注册的会员是${data.data.newuser},欢迎大家来到本论坛!`
 </script>
 
 <template>
-
+  <el-alert :title="notice"
+            type="success"
+            :closable="false" />
   <div id="home">
     <el-affix :offset="120"
               target="#home"
@@ -20,8 +25,6 @@ import redplate from '../../components/home/redplate.vue'
       </Suspense>
     </el-affix>
   </div>
-  <!-- row 手机占24 电脑占12 -->
-  <!-- 幻灯片 -->
   <el-row :gutter="20">
     <el-col :xs="24"
             :sm="24"
@@ -33,7 +36,7 @@ import redplate from '../../components/home/redplate.vue'
           <el-carousel height="200px">
             <el-carousel-item v-for="item in 4"
                               :key="item">
-              <h3>{{ item }}</h3>
+              <h3>暂无内容</h3>
             </el-carousel-item>
           </el-carousel>
         </el-card>

+ 1 - 1
src/views/homefooter/index.vue

@@ -2,7 +2,7 @@
 </script>
 
 <template>
-  <span>by 枫叶秋林</span>
+  <span>by <el-link href="https://github.com/liuqianpan2008">枫叶秋林</el-link></span>
   <el-divider direction="vertical" />
   <span>备案号:XXXX</span>
   <el-divider direction="vertical" />

+ 24 - 3
src/views/plate/platelist.vue

@@ -64,18 +64,25 @@ const page = async (v: number) => {
 function bt_post() {
   window.location.href = `/posting?plate=${id === 0 ? 1 : id}`
 }
-
 const topPost = ref([] as any)
+const platename = ref('')
 if (id != 0) {
   topPost.value = await (
     await service.get(
       `/post/platelist?plateid=${id}&page=${1}&limit=${5}&isTop=true`
     )
   ).data.data
+  const plates = (await service.get(`/plate/getplate`)).data
+  platename.value = plates.find((v: any) => v.id == id).name
 }
 </script>
 
 <template>
+  <el-card id="header"
+           v-show="id != 0"
+           :body-style="{ padding: '0px' }">
+    {{ platename }}
+  </el-card>
   <el-empty v-show="data.data.length==0"
             description="没有找到任何帖子" />
   <div v-show="topPost.length > 0">
@@ -89,20 +96,24 @@ if (id != 0) {
                      :authorid="item.authorId"
                      :time="item.updatedAt"
                      :numberOfReplies="item.comments"
-                     :views="item.views" />
+                     :views="item.views"
+                     :istop="false" />
     </div>
   </div>
   <el-divider>普通帖子</el-divider>
+
   <div v-for="(item,i) of data.data"
        :key="i"
        style="margin: 10px 0;">
+
     <platePostItem :id="item.id"
                    :title="item.title"
                    :content="item.content"
                    :authorid="item.authorId"
                    :time="item.updatedAt"
                    :numberOfReplies="item.comments"
-                   :views="item.views" />
+                   :views="item.views"
+                   :istop="Boolean(item.isTop) " />
   </div>
   <el-divider />
   <el-pagination layout="prev, pager, next"
@@ -140,6 +151,16 @@ if (id != 0) {
   right: 0;
   bottom: 0;
 }
+#header {
+  height: 100px;
+  text-align: center;
+  font-weight: 700;
+  line-height: 100px;
+  font-size: 30px;
+  font-family: 'YouYuan', 'Microsoft YaHei', 'SimHei', 'Helvetica Neue',
+    Helvetica, Arial, sans-serif;
+}
+
 #plate {
   position: fixed;
   top: 120px;

+ 2 - 1
src/views/post/postarticle.vue

@@ -164,7 +164,8 @@ if (jurisdiction.value) {
            class="post-card">
     <template #header>
       <div class="card-header">
-        <span>{{ data.title }}</span>
+        <span>{{ data.title }} <el-tag type="danger"
+                  v-show="Istop">置顶</el-tag></span>
         <div v-show="isMypost">
           <el-button type="text"
                      v-show="isadmin"