46 lines
790 B
Go
46 lines
790 B
Go
package services
|
|
|
|
import (
|
|
"encoding/json"
|
|
"io"
|
|
"net/http"
|
|
"strconv"
|
|
|
|
"ems.agt/lib/global"
|
|
)
|
|
|
|
// 读取json请求结构团体
|
|
func ShouldBindJSON(r *http.Request, args any) error {
|
|
body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
err = json.Unmarshal(body, args)
|
|
return err
|
|
}
|
|
|
|
// Get 查詢分頁值
|
|
func GetPageNumSize(r *http.Request) (int, int) {
|
|
pageNumStr := r.URL.Query().Get("pageNum")
|
|
num := 1
|
|
if v, err := strconv.Atoi(pageNumStr); err == nil && v > 0 {
|
|
if v >= 100 {
|
|
num = 100
|
|
} else {
|
|
num = v
|
|
}
|
|
}
|
|
|
|
pageSizeStr := r.URL.Query().Get("pageSize")
|
|
size := 0
|
|
if v, err := strconv.Atoi(pageSizeStr); err == nil && v > 0 {
|
|
if v >= 60 {
|
|
size = 60
|
|
} else {
|
|
size = v
|
|
}
|
|
}
|
|
|
|
return num, size
|
|
}
|