feat: 支持主列表选择每页条数 (#242)
This commit is contained in:
@@ -48,10 +48,11 @@ func (h *Handler) ShopeeDetail(c *gin.Context) {
|
||||
c.HTML(http.StatusOK, "shopee/detail_modal", gin.H{
|
||||
"D": detail, "CSRFToken": csrfToken(c),
|
||||
"Keyword": c.Query("q"), "SearchField": service.ParseShopeeSearchField(c.Query("search_field")),
|
||||
"StatusFilter": service.ParseShopeeStatus(c.Query("status")),
|
||||
"DeletedFilter": currentUser(c).IsAdmin() && c.Query("deleted") == "1",
|
||||
"UnlinkedFilter": c.Query("unlinked") == "1",
|
||||
"CurrentPage": service.ParsePage(c.Query("page")),
|
||||
"StatusFilter": service.ParseShopeeStatus(c.Query("status")),
|
||||
"DeletedFilter": currentUser(c).IsAdmin() && c.Query("deleted") == "1",
|
||||
"UnlinkedFilter": c.Query("unlinked") == "1",
|
||||
"CurrentPage": service.ParsePage(c.Query("page")),
|
||||
"CurrentPageSize": service.ParsePageSize(c.Query("page_size")),
|
||||
})
|
||||
}
|
||||
|
||||
@@ -72,8 +73,9 @@ func (h *Handler) renderShopeeList(c *gin.Context, keyword, searchFieldRaw, stat
|
||||
// 不叫 page:本文件末尾要调用同名的 page(c, ...) 渲染辅助函数,
|
||||
// 局部变量会把它遮住导致编译失败。
|
||||
pageNum := service.ParsePage(pageRaw)
|
||||
pageSize := service.ParsePageSize(c.Query("page_size"))
|
||||
|
||||
result, err := service.ListShopeeProducts(h.db, filter, pageNum)
|
||||
result, err := service.ListShopeeProductsWithPageSize(h.db, filter, pageNum, pageSize)
|
||||
if err != nil {
|
||||
fail(c, http.StatusInternalServerError,
|
||||
"读取蝦皮数据失败,数据没有被改动。刷新页面重试;一直失败请把这句话报给维护者。")
|
||||
@@ -104,6 +106,7 @@ func (h *Handler) renderShopeeList(c *gin.Context, keyword, searchFieldRaw, stat
|
||||
if filter.Unlinked {
|
||||
values.Set("unlinked", "1")
|
||||
}
|
||||
values.Set("page_size", strconv.Itoa(pageSize))
|
||||
|
||||
c.HTML(http.StatusOK, "shopee/list", page(c, "shopee", "蝦皮数据", gin.H{
|
||||
"Keyword": filter.Keyword,
|
||||
@@ -117,8 +120,9 @@ func (h *Handler) renderShopeeList(c *gin.Context, keyword, searchFieldRaw, stat
|
||||
"Status": status,
|
||||
"HasAnyProducts": result.HasAnyProducts,
|
||||
"IsFiltered": result.IsFiltered,
|
||||
"Pagination": service.NewPaginationView(result.Page, result.TotalPages, values.Encode()),
|
||||
"Pagination": service.NewPaginationView(result.Page, pageSize, result.TotalPages, values.Encode()),
|
||||
"CurrentPage": result.Page,
|
||||
"CurrentPageSize": pageSize,
|
||||
"DetailURL": "/shopee/detail?" + detailValuesForShopee(values, result.Page),
|
||||
"AutoOpenDetailID": strings.TrimSpace(c.Query("open_id")),
|
||||
"AssignableClients": assignableClients,
|
||||
@@ -264,6 +268,7 @@ func (h *Handler) shopeeRedirect(c *gin.Context, msg string) {
|
||||
if value := strings.TrimSpace(c.PostForm("page")); value != "" {
|
||||
params.Set("page", value)
|
||||
}
|
||||
params.Set("page_size", strconv.Itoa(service.ParsePageSize(c.PostForm("page_size"))))
|
||||
if value := strings.TrimSpace(c.PostForm("open_id")); value != "" {
|
||||
params.Set("open_id", value)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user