Files
ai/models/ListView.go
2023-04-28 06:32:33 +08:00

103 lines
2.3 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package models
import (
"encoding/json"
"log"
)
type ListView struct {
Code int `json:"code"`
Page int `json:"page"`
PageSize int `json:"page_size"`
Total int `json:"total"`
Next bool `json:"next"`
List []interface{} `json:"list"`
}
// 輸出JSON給瀏覽器
func (listview *ListView) ToJSON() []byte {
// 即使list爲空也要返回空的JSON數組
if listview.List == nil {
listview.List = make([]interface{}, 0)
}
// 輸出格式化的JSON
b, err := json.MarshalIndent(listview, "", " ")
if err != nil {
log.Println(err)
return nil
}
return b
}
//// 查詢數據(分頁, 每頁數量, 排序, 條件, 關聯, 獲取總數)
//func (listview *ListView) Read(name string, page int64, page_size int64) error {
//
// // 獲取數據庫連接
// db, err := configs.GetDB()
// if err != nil {
// log.Println(err)
// return err
// }
//
// // 獲取總數
// var total int64
// err = db.QueryRow("SELECT COUNT(*) FROM " + name).Scan(&total)
// if err != nil {
// log.Println(err)
// return err
// }
//
// // 獲取數據
// rows, err := db.Query("SELECT * FROM "+name+" LIMIT ?, ?", (page-1)*page_size, page_size)
// if err != nil {
// log.Println(err)
// return err
// }
// defer rows.Close()
//
// // 將數據轉換成對象
// switch name {
// case "images":
// for rows.Next() {
// var image Image
// err = rows.Scan(&image.ID, &image.Name, &image.CreatedAt, &image.UpdatedAt)
// if err != nil {
// log.Println(err)
// return err
// }
// listview.List = append(listview.List, image)
// }
// case "models":
// for rows.Next() {
// var model Model
// err = rows.Scan(&model.ID, &model.Name, &model.CreatedAt, &model.UpdatedAt)
// if err != nil {
// log.Println(err)
// return err
// }
// listview.List = append(listview.List, model)
// }
// default:
// for rows.Next() {
// var object Object
// err = rows.Scan(&object.ID, &object.Name, &object.CreatedAt, &object.UpdatedAt)
// if err != nil {
// log.Println(err)
// return err
// }
// listview.List = append(listview.List, object)
// }
// }
//
// // 設置返回值
// listview.Code = 0
// listview.Page = page
// listview.PageSize = page_size
// listview.Total = total
// listview.Next = total > page*page_size
//
// return nil
//}