更新
This commit is contained in:
1 parent
5718a00e31
commit
1850ac640e
226 files changed
+37772
-12071
No files matched your search
@@ -10,6 +10,7 @@ import (
|
||||
"time"
|
||||
|
||||
"server/models"
|
||||
"server/pkg/identity"
|
||||
"server/pkg/jwtutil"
|
||||
|
||||
"github.com/beego/beego/v2/client/orm"
|
||||
@@ -38,22 +39,7 @@ var dictTagTypes = map[string]bool{
|
||||
}
|
||||
|
||||
func (c *PlatformDictController) dictClaims() (*jwtutil.Claims, error) {
|
||||
auth := c.Ctx.Request.Header.Get("Authorization")
|
||||
if auth == "" {
|
||||
return nil, fmt.Errorf("未登录")
|
||||
}
|
||||
parts := strings.SplitN(auth, " ", 2)
|
||||
if len(parts) != 2 || parts[0] != "Bearer" {
|
||||
return nil, fmt.Errorf("认证信息格式错误")
|
||||
}
|
||||
claims, err := jwtutil.ParseToken(parts[1])
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("无效的token")
|
||||
}
|
||||
if claims.UserType != "platform" {
|
||||
return nil, fmt.Errorf("无权访问")
|
||||
}
|
||||
return claims, nil
|
||||
return identity.Claims(c.Ctx.Request.Header.Get("Authorization"), identity.EndPlatform)
|
||||
}
|
||||
|
||||
func (c *PlatformDictController) dictErr(httpStatus, bizCode int, msg string) {
|
||||
@@ -142,7 +128,8 @@ func dictPathID(c *beego.Controller) uint64 {
|
||||
// 参数:page / pageSize / keyword(名称或编码模糊)/ status
|
||||
func (c *PlatformDictController) ListTypes() {
|
||||
if _, err := c.dictClaims(); err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
page, pageSize, offset := dictPageSize(&c.Controller)
|
||||
@@ -184,7 +171,8 @@ func (c *PlatformDictController) ListTypes() {
|
||||
func (c *PlatformDictController) CreateType() {
|
||||
claims, err := c.dictClaims()
|
||||
if err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
p, err := parseDictTypeBody(&c.Controller)
|
||||
@@ -236,7 +224,8 @@ func (c *PlatformDictController) CreateType() {
|
||||
// 编码是业务取值依据,不允许修改。
|
||||
func (c *PlatformDictController) UpdateType() {
|
||||
if _, err := c.dictClaims(); err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
id := dictPathID(&c.Controller)
|
||||
@@ -281,7 +270,8 @@ func (c *PlatformDictController) UpdateType() {
|
||||
// 字典下还有字典项时拒绝删除,避免留下孤儿数据。
|
||||
func (c *PlatformDictController) DeleteType() {
|
||||
if _, err := c.dictClaims(); err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
id := dictPathID(&c.Controller)
|
||||
@@ -322,7 +312,8 @@ func (c *PlatformDictController) DeleteType() {
|
||||
// 参数:dict_id(必填)/ page / pageSize / keyword(名称或值模糊)/ status
|
||||
func (c *PlatformDictController) ListItems() {
|
||||
if _, err := c.dictClaims(); err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
dictID, _ := c.GetInt64("dict_id")
|
||||
@@ -370,7 +361,8 @@ func (c *PlatformDictController) ListItems() {
|
||||
// CreateItem POST /platform/dict/items
|
||||
func (c *PlatformDictController) CreateItem() {
|
||||
if _, err := c.dictClaims(); err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
p, err := parseDictItemBody(&c.Controller)
|
||||
@@ -446,7 +438,8 @@ func (c *PlatformDictController) CreateItem() {
|
||||
// 字典项值是业务入库值,不允许修改,避免存量数据对不上。
|
||||
func (c *PlatformDictController) UpdateItem() {
|
||||
if _, err := c.dictClaims(); err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
id := dictPathID(&c.Controller)
|
||||
@@ -498,7 +491,8 @@ func (c *PlatformDictController) UpdateItem() {
|
||||
// ToggleItemStatus POST /platform/dict/items/:id/status
|
||||
func (c *PlatformDictController) ToggleItemStatus() {
|
||||
if _, err := c.dictClaims(); err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
id := dictPathID(&c.Controller)
|
||||
@@ -540,7 +534,8 @@ func (c *PlatformDictController) ToggleItemStatus() {
|
||||
// DeleteItem DELETE /platform/dict/items/:id
|
||||
func (c *PlatformDictController) DeleteItem() {
|
||||
if _, err := c.dictClaims(); err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
id := dictPathID(&c.Controller)
|
||||
@@ -573,7 +568,8 @@ func (c *PlatformDictController) DeleteItem() {
|
||||
// 之后页面按任意 dict_code 都能同步读到,新增字典不用改前端。
|
||||
func (c *PlatformDictController) OptionsAll() {
|
||||
if _, err := c.dictClaims(); err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
result := map[string][]models.PlatformDictItem{}
|
||||
@@ -622,7 +618,8 @@ func (c *PlatformDictController) OptionsAll() {
|
||||
// 注意:这里刻意与 GET /options/:code 分开成「同段不同方法」,避免静态段与通配段同级。
|
||||
func (c *PlatformDictController) OptionsBatch() {
|
||||
if _, err := c.dictClaims(); err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
body, _ := io.ReadAll(c.Ctx.Request.Body)
|
||||
@@ -695,7 +692,8 @@ func (c *PlatformDictController) OptionsBatch() {
|
||||
// 业务页面按编码取选项:只返回「字典与字典项都启用」的项,按 sort 升序。
|
||||
func (c *PlatformDictController) Options() {
|
||||
if _, err := c.dictClaims(); err != nil {
|
||||
c.dictErr(401, 401, err.Error())
|
||||
code := identity.Status(err)
|
||||
c.dictErr(code, code, err.Error())
|
||||
return
|
||||
}
|
||||
code := strings.TrimSpace(c.Ctx.Input.Param(":code"))
|
||||
|
||||
Reference in new issue
Block a user