完善功能

This commit is contained in:
2025-07-16 15:16:40 +08:00
parent b2871ec0d2
commit f68a5b360b
123 changed files with 4643 additions and 931 deletions

View File

@ -2,12 +2,13 @@ package myCasbin
import (
"context"
"server/internal/consts"
"sync"
"github.com/casbin/casbin/v2"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/glog"
"github.com/hailaz/gf-casbin-adapter/v2"
"server/internal/consts"
"sync"
adapter "github.com/hailaz/gf-casbin-adapter/v2"
)
type myCasbin struct {
@ -40,30 +41,56 @@ func init() {
enforcer.AddGroupingPolicy(consts.AdminRoleCode, consts.AuthorRoleCode)
// guest
{
enforcer.AddPolicy("guest", "/book/app/list", "GET", "App获取书籍列表")
enforcer.AddPolicy("guest", "/book/app/detail", "GET", "App获取书籍详情")
enforcer.AddPolicy("guest", "/chapter/app/list", "GET", "App获取章节列表")
enforcer.AddPolicy("guest", "/chapter/app/detail", "GET", "App获取章节详情")
enforcer.AddPolicy("guest", "/category", "GET", "获取分类列表")
}
// user
{
// book
enforcer.AddPolicy("user", "/book/shelf/add", "POST", "加入书架")
enforcer.AddPolicy("user", "/book/shelf/remove", "POST", "移除书架")
enforcer.AddPolicy("user", "/book/app/rate", "POST", "App用户评分")
enforcer.AddPolicy("user", "/book/app/my-books", "GET", "获取我的书籍列表")
// chapter
enforcer.AddPolicy("user", "/chapter/app/purchase", "POST", "App购买章节")
enforcer.AddPolicy("user", "/chapter/app/progress", "POST", "App上传阅读进度")
// feedback
enforcer.AddPolicy("user", "/feedback", "POST", "新增反馈")
// user
enforcer.AddPolicy("admin", "/user/info", "GET", "获取用户信息")
enforcer.AddPolicy("user", "/user/info", "GET", "获取用户信息")
enforcer.AddPolicy("user", "/user/delete", "POST", "删除用户")
enforcer.AddPolicy("user", "/user/logout", "POST", "用户登出")
// author follow/unfollow
enforcer.AddPolicy("user", "/author/follow", "POST", "关注作者")
enforcer.AddPolicy("user", "/author/unfollow", "POST", "取消关注作者")
}
// author
{
// book
enforcer.AddPolicy("admin", "/book", "GET", "获取图书列表")
enforcer.AddPolicy("author", "/book", "GET", "获取图书列表")
enforcer.AddPolicy("author", "/book", "POST", "新增图书")
enforcer.AddPolicy("author", "/book", "PUT", "编辑图书")
enforcer.AddPolicy("author", "/book", "DELETE", "删除图书")
// chapter
// category
enforcer.AddPolicy("admin", "/category", "GET", "获取分类列表")
enforcer.AddPolicy("author", "/chapter", "GET", "获取章节列表")
enforcer.AddPolicy("author", "/chapter", "POST", "创建章节")
enforcer.AddPolicy("author", "/chapter", "PUT", "更新章节")
enforcer.AddPolicy("author", "/chapter", "DELETE", "删除章节")
}
// admin
// admin
{
// book
enforcer.AddPolicy("admin", "/book/set-featured", "POST", "设置书籍精选状态")
enforcer.AddPolicy("admin", "/book/set-recommended", "POST", "设置书籍推荐状态")
// author
enforcer.AddPolicy("admin", "/author", "GET", "获取作者列表")
enforcer.AddPolicy("admin", "/author", "POST", "创建作者")
enforcer.AddPolicy("admin", "/author", "PUT", "更新作者")
enforcer.AddPolicy("admin", "/author", "DELETE", "删除作者")
// feedback
enforcer.AddPolicy("admin", "/feedback", "GET", "获取反馈列表")
// category
@ -72,6 +99,7 @@ func init() {
enforcer.AddPolicy("admin", "/category", "DELETE", "删除分类")
// admin
enforcer.AddPolicy("admin", "/admin/info", "GET", "获取管理员用户信息")
enforcer.AddPolicy("admin", "/admin/editPass", "POST", "管理员修改密码")
}
instance = &myCasbin{Enforcer: enforcer}