perm

package
v3.6.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 29, 2021 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildPermActions

func BuildPermActions(values []string) string

func JSONBytesParseError

func JSONBytesParseError(err error, jsonBytes []byte) error

func SerializeBehaviorValues

func SerializeBehaviorValues(permBehaviors map[string][]string, behaviors *Behaviors) (string, error)

Types

type Behavior

type Behavior struct {
	Name          string      `json:",omitempty" xml:",omitempty"`
	ValueType     string      `json:",omitempty" xml:",omitempty"` // list / number / json
	VTypeOptions  echo.H      `json:",omitempty" xml:",omitempty"`
	Value         interface{} `json:",omitempty" xml:",omitempty"` // 在Behaviors中登记时,代表默认值;在BehaviorPerms中登记时代表针对某个用户设置的值
	FormHelpBlock interface{}
	// contains filtered or unexported fields
}

func NewBehavior

func NewBehavior(opts ...BehaviorOption) *Behavior

func (*Behavior) AsString

func (b *Behavior) AsString(value interface{}) string

func (Behavior) IsValid

func (b Behavior) IsValid() bool

func (*Behavior) SetFormHelpBlock

func (b *Behavior) SetFormHelpBlock(helpBlock interface{})

func (*Behavior) SetFormValueDecoder

func (b *Behavior) SetFormValueDecoder(parser func([]string) (interface{}, error))

func (*Behavior) SetFormValueEncoder

func (b *Behavior) SetFormValueEncoder(encoder func(interface{}) (string, error))

func (*Behavior) SetValueInitor

func (b *Behavior) SetValueInitor(initor func() interface{})

func (*Behavior) String

func (b *Behavior) String() string

type BehaviorOption

type BehaviorOption func(*Behavior)

func BehaviorOptFormHelpBlock

func BehaviorOptFormHelpBlock(helpBlock interface{}) BehaviorOption

func BehaviorOptFormValueDecoder

func BehaviorOptFormValueDecoder(parser func([]string) (interface{}, error)) BehaviorOption

func BehaviorOptFormValueEncoder

func BehaviorOptFormValueEncoder(encoder func(interface{}) (string, error)) BehaviorOption

func BehaviorOptName

func BehaviorOptName(name string) BehaviorOption

func BehaviorOptVTypeOption

func BehaviorOptVTypeOption(key string, value interface{}) BehaviorOption

func BehaviorOptVTypeOptions

func BehaviorOptVTypeOptions(opts echo.H) BehaviorOption

func BehaviorOptValue

func BehaviorOptValue(defaultValue interface{}) BehaviorOption

func BehaviorOptValueInitor

func BehaviorOptValueInitor(initor func() interface{}) BehaviorOption

func BehaviorOptValueType

func BehaviorOptValueType(vt string) BehaviorOption

type BehaviorPerms

type BehaviorPerms map[string]Behavior

func ParseBehavior

func ParseBehavior(permBehaviors string, behaviors *Behaviors) (BehaviorPerms, error)

func (BehaviorPerms) Add

func (b BehaviorPerms) Add(be *Behavior, value ...interface{})

func (BehaviorPerms) CheckBehavior

func (b BehaviorPerms) CheckBehavior(perm string) *CheckedBehavior

func (BehaviorPerms) Get

func (b BehaviorPerms) Get(name string) Behavior

type Behaviors

type Behaviors struct {
	*echo.KVData
}

func NewBehaviors

func NewBehaviors() *Behaviors

func (*Behaviors) Register

func (m *Behaviors) Register(key string, value string, options ...interface{})

type CheckedBehavior

type CheckedBehavior struct {
	Value   interface{}
	Checked bool
}

type Map

type Map struct {
	V   map[string]*Map `json:",omitempty" xml:",omitempty"`
	Nav *navigate.Item  `json:",omitempty" xml:",omitempty"`
}
func NavTreeCached() *Map

func NewMap

func NewMap() *Map

func (*Map) Check

func (m *Map) Check(perm string, nav *Map) bool

Check 检测权限 perm: /a/b/c

func (*Map) CheckCmd

func (m *Map) CheckCmd(perm string) bool

CheckCmd 检测权限

func (*Map) Import

func (m *Map) Import(navList *navigate.List) *Map

Import 导入菜单(用户缓存结果)

func (*Map) Parse

func (m *Map) Parse(permActions string, navTree *Map) *Map

Parse 解析用户获取的权限

func (*Map) ParseCmd

func (m *Map) ParseCmd(permCmds string) *Map

ParseCmd 解析用户获取的权限

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL