fix: 修复帖子提交审核权限缺失 + 防重复提交 + 分页逻辑复用
- 修复 Submit API 缺少 uid 权限检查,任意登录用户可提交他人帖子审核 - 前端 handleSubmit 添加 submitting 锁和按钮禁用/恢复,防止重复提交 - 分页计算 TotalPages/PrevPage/NextPage 提取为 Pagination 方法,消除三处重复代码
This commit is contained in:
@ -23,5 +23,31 @@ func (p *Pagination) Offset() int {
|
||||
return (p.Page - 1) * p.PageSize
|
||||
}
|
||||
|
||||
// TotalPages 根据 total 计算总页数
|
||||
func (p *Pagination) TotalPages(total int64) int {
|
||||
if total == 0 {
|
||||
return 0
|
||||
}
|
||||
return int((total + int64(p.PageSize) - 1) / int64(p.PageSize))
|
||||
}
|
||||
|
||||
// PrevPage 上一页(最小为 1)
|
||||
func (p *Pagination) PrevPage() int {
|
||||
prev := p.Page - 1
|
||||
if prev < 1 {
|
||||
return 1
|
||||
}
|
||||
return prev
|
||||
}
|
||||
|
||||
// NextPage 下一页(最大为 totalPages)
|
||||
func (p *Pagination) NextPage(totalPages int) int {
|
||||
next := p.Page + 1
|
||||
if next > totalPages {
|
||||
return totalPages
|
||||
}
|
||||
return next
|
||||
}
|
||||
|
||||
// 固定时间格式,前后端统一
|
||||
const TimeFormat = time.RFC3339
|
||||
|
||||
Reference in New Issue
Block a user