🎨 添加图库和客服插件(有问题-待修改)
This commit is contained in:
70
plugin/picturelibrary/service/service.go
Normal file
70
plugin/picturelibrary/service/service.go
Normal file
@@ -0,0 +1,70 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"git.echol.cn/loser/lckt/global"
|
||||
picModel "git.echol.cn/loser/lckt/plugin/picturelibrary/model"
|
||||
"github.com/gin-gonic/gin"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type PictureLibraryService struct{}
|
||||
|
||||
func (e *PictureLibraryService) PlugService() (err error) {
|
||||
// 写你的业务逻辑
|
||||
return nil
|
||||
}
|
||||
|
||||
func (e *PictureLibraryService) GetFileRecordInfoList(info picModel.PageInfo, c *gin.Context) (list interface{}, total int64, err error) {
|
||||
limit := info.Limit
|
||||
offset := info.Limit * (info.Page - 1)
|
||||
keyword := info.Keyword
|
||||
cid := info.Cid
|
||||
db := global.GVA_DB.Model(&picModel.SysAttachment{})
|
||||
var fileLists []picModel.SysAttachment
|
||||
if len(keyword) > 0 {
|
||||
db = db.Where("`name` LIKE ?", "%"+keyword+"%")
|
||||
}
|
||||
if cid > 0 {
|
||||
db = db.Where("cat_id = ?", cid)
|
||||
}
|
||||
err = db.Count(&total).Error
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
err = db.Limit(limit).Offset(offset).Order("created_at desc").Find(&fileLists).Error
|
||||
urlHost := e.GetUrlHost(c)
|
||||
for k, v := range fileLists {
|
||||
if !strings.HasPrefix(v.Url, "http://") && !strings.HasPrefix(v.Url, "https://") {
|
||||
v.Url = urlHost + "api/" + v.Url
|
||||
fileLists[k] = v
|
||||
}
|
||||
}
|
||||
return fileLists, total, err
|
||||
}
|
||||
|
||||
// 构建树形结构
|
||||
func (e *PictureLibraryService) BuildTree(categories []picModel.SysAttachmentCategory, parentID uint) []*picModel.SysAttachmentCategory {
|
||||
var tree []*picModel.SysAttachmentCategory
|
||||
for _, category := range categories {
|
||||
if category.Pid == parentID {
|
||||
children := e.BuildTree(categories, category.Id)
|
||||
category.Children = children
|
||||
tree = append(tree, &category)
|
||||
}
|
||||
}
|
||||
return tree
|
||||
}
|
||||
|
||||
func (e *PictureLibraryService) GetUrlHost(c *gin.Context) string {
|
||||
host := c.Request.Host
|
||||
scheme := "http"
|
||||
if c.Request.TLS != nil {
|
||||
scheme = "https"
|
||||
}
|
||||
referer := c.Request.Referer()
|
||||
if referer != "" {
|
||||
return referer
|
||||
}
|
||||
return scheme + "://" + host + "/"
|
||||
}
|
||||
Reference in New Issue
Block a user