后端 Go+Gin:认证/CSRF/限流、板块、帖子、评论、点赞、通知、用户资料、置顶推荐;前端 Next.js 16:发帖/编辑/删除、搜索、分页、点赞、通知中心、设置;基础设施 docker-compose 与配置模板;添加 .gitignore 与专有许可证(保留所有权利)
32 lines
674 B
Go
32 lines
674 B
Go
package service
|
|
|
|
import (
|
|
"github.com/freefire/jiang13-bbs/model"
|
|
"gorm.io/gorm"
|
|
)
|
|
|
|
// BoardService 板块服务
|
|
type BoardService struct {
|
|
db *gorm.DB
|
|
}
|
|
|
|
func NewBoardService(db *gorm.DB) *BoardService {
|
|
return &BoardService{db: db}
|
|
}
|
|
|
|
// List 获取所有板块(按 sort_order 排序)
|
|
func (s *BoardService) List() ([]model.Board, error) {
|
|
var boards []model.Board
|
|
err := s.db.Order("sort_order ASC, id ASC").Find(&boards).Error
|
|
return boards, err
|
|
}
|
|
|
|
// Get 根据 ID 获取板块
|
|
func (s *BoardService) Get(id uint) (*model.Board, error) {
|
|
var board model.Board
|
|
if err := s.db.First(&board, id).Error; err != nil {
|
|
return nil, err
|
|
}
|
|
return &board, nil
|
|
}
|