1
0
Эх сурвалжийг харах

feat: 优化分页显示

显示当前所在页面
SongZihuan 2 жил өмнө
parent
commit
8ee772a85c

+ 8 - 17
app/app.py

@@ -90,35 +90,26 @@ class HBlogFlask(Flask):
     def get_page(url, page: int, count: int):
         """ 计算页码的按钮 """
         if count <= 9:
-            page_list = [[f"{i + 1}", url_for(url, page=i + 1)] for i in range(count)]
+            page_list = [[i + 1, url_for(url, page=i + 1)] for i in range(count)]
         elif page <= 5:
             """
             [1][2][3][4][5][6][...][count - 1][count]
             """
-            page_list = [[f"{i + 1}", url_for(url, page=i + 1)] for i in range(6)]
-
-            page_list += [None,
-                          [f"{count - 1}", url_for(url, page=count - 1)],
-                          [f"{count}", url_for(url, page=count)]]
+            page_list = [[i + 1, url_for(url, page=i + 1)] for i in range(6)]
+            page_list += [None, [count - 1, url_for(url, page=count - 1)], [count, url_for(url, page=count)]]
         elif page >= count - 5:
             """
             [1][2][...][count - 5][count - 4][count - 3][count - 2][count - 1][count]
             """
-            page_list: Optional[list] = [["1", url_for(url, page=1)],
-                                         ["2", url_for(url, page=2)],
-                                         None]
-            page_list += [[f"{count - 5 + i}", url_for(url, page=count - 5 + i), False] for i in range(6)]
+            page_list: Optional[list] = [[1, url_for(url, page=1)], [2, url_for(url, page=2)], None]
+            page_list += [[count - 5 + i, url_for(url, page=count - 5 + i)] for i in range(6)]
         else:
             """
             [1][2][...][page - 2][page - 1][page][page + 1][page + 2][...][count - 1][count]
             """
-            page_list: Optional[list] = [["1", url_for(url, page=1)],
-                                         ["2", url_for(url, page=2)],
-                                         None]
-            page_list += [[f"{page - 2 + i}", url_for(url, page=page - 2 + i)] for i in range(5)]
-            page_list += [None,
-                          [f"{count - 1}", url_for(url, page=count - 1)],
-                          [f"{count}", url_for(url, page=count)]]
+            page_list: Optional[list] = [[1, url_for(url, page=1)], [2, url_for(url, page=2)], None]
+            page_list += [[page - 2 + i, url_for(url, page=page - 2 + i)] for i in range(5)]
+            page_list += [None, [count - 1, url_for(url, page=count - 1)], [count, url_for(url, page=count)]]
         return page_list
 
     @staticmethod

+ 1 - 0
app/docx.py

@@ -140,6 +140,7 @@ def archive_page():
     page_list = app.HBlogFlask.get_page("docx.archive_page", page, max_page)
     app.HBlogFlask.print_load_page_log(f"archive-docx list (archive-id: {archive} page: {page})")
     return render_template("docx/docx.html",
+                           page=page,
                            blog_list=blog_list,
                            is_top=DBBit.BIT_1,
                            page_list=page_list,

+ 1 - 1
templates/docx/docx.html

@@ -109,7 +109,7 @@
             </div>
 
             <ul id="ReadBlogPageList" class="pagination col-12 justify-content-center">
-                {{ macro.get_page_list(page_list) }}
+                {{ macro.get_page_list(page_list, page) }}
             </ul>
 
         {% endif %}

+ 6 - 2
templates/macro.html

@@ -1,7 +1,11 @@
-{% macro get_page_list(info_lines) %}
+{% macro get_page_list(info_lines, now_page) %}
     {% for line in info_lines %}
         {% if line %}
-            <li class="page-item"><a class="page-link" href="{{ line[1] }}"> {{ line[0] }} </a></li>
+            {% if now_page == line[0] %}
+                <li class="page-item active"><a class="page-link" href="{{ line[1] }}"> {{ line[0] }} </a></li>
+            {% else %}
+                <li class="page-item"><a class="page-link" href="{{ line[1] }}"> {{ line[0] }} </a></li>
+            {% endif %}
         {% else %}
             <li class="page-item disabled"><a class="page-link"> ... </a></li>
         {% endif %}

+ 1 - 1
templates/msg/msg.html

@@ -98,7 +98,7 @@
             </div>
 
             <ul class="pagination col-12 justify-content-center">
-                {{ macro.get_page_list(page_list) }}
+                {{ macro.get_page_list(page_list, page) }}
             </ul>
         {% endif %}
     </section>