settings

package
v2.1.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2019 License: AGPL-3.0 Imports: 7 Imported by: 28

README

后台配置

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrNotExists = errors.New(`Not exists`)

Functions

func AddDefaultConfig

func AddDefaultConfig(group string, configs map[string]*dbschema.Config)

func ConfigAsStore

func ConfigAsStore(groups ...string) echo.H

ConfigAsStore {Group:{Key:ValueObject}}

func ConfigDefaults

func ConfigDefaults() map[string]map[string]*dbschema.Config

func ConfigDefaultsAsStore

func ConfigDefaultsAsStore() echo.H

func DecodeConfig

func DecodeConfig(v *dbschema.Config, cfg echo.H, decoder Decoder) (echo.H, error)

func DecodeConfigValue

func DecodeConfigValue(v *dbschema.Config, decoder Decoder) (echo.H, error)

func Decoders

func Decoders() map[string]Decoder

func EncodeConfigValue

func EncodeConfigValue(_v *echo.Mapx, v *dbschema.Config, encoder Encoder) (value string, err error)

func Encoders

func Encoders() map[string]Encoder

func GetDefaultConfig

func GetDefaultConfig(group string) map[string]*dbschema.Config

func GetDefaultConfigOk

func GetDefaultConfigOk(group string) (map[string]*dbschema.Config, bool)

func Init

func Init() error

func InsertBy

func InsertBy(ctx echo.Context, configs map[string]*dbschema.Config, key string, values ...string) error

func InsertDefaultConfig

func InsertDefaultConfig(ctx echo.Context, group, key string, values ...string) error

func InsertMissing

func InsertMissing(ctx echo.Context, gm *echo.Mapx, added map[string]int, configs map[string]*dbschema.Config, encoder Encoder) error

func InsertMissingDefaultConfig

func InsertMissingDefaultConfig(ctx echo.Context, added map[string]map[string]struct{}) error

func Register

func Register(sf ...*SettingForm)

func RegisterDecoder

func RegisterDecoder(group string, decoder Decoder)

RegisterDecoder 注册配置值解码器(用于从数据库读出来之后的解码操作) 名称支持"group"或"group.key"两种格式,例如: settings.RegisterDecoder(`sms`,...)对整个sms组的配置有效 settings.RegisterDecoder(`sms.twilio`,...)对sms组内key为twilio的配置有效

func RegisterEncoder

func RegisterEncoder(group string, encoder Encoder)

RegisterEncoder 注册配置值编码器(用于客户端提交表单数据之后的编码操作,编码结果保存到数据库) 名称支持"group"或"group.key"两种格式,例如: settings.RegisterDecoder(`sms`,...)对整个sms组的配置有效 settings.RegisterDecoder(`sms.twilio`,...)对sms组内key为twilio的配置有效

func RunHookGet

func RunHookGet(ctx echo.Context, groups ...string) error

func RunHookPost

func RunHookPost(ctx echo.Context, groups ...string) error

Types

type Codec

type Codec interface {
	Decode(string, ...string) string
	Encode(string, ...string) string
}

type Decoder

type Decoder func(v *dbschema.Config, r echo.H) error

func GetDecoder

func GetDecoder(group string) Decoder

type Encoder

type Encoder func(v *dbschema.Config, r echo.H) ([]byte, error)

func GetEncoder

func GetEncoder(group string) Encoder

type SettingForm

type SettingForm struct {
	Short string   //简短标签
	Label string   //标签文本
	Group string   //组标识
	Tmpl  []string //输入表单模板路径
	// contains filtered or unexported fields
}

func Get

func Get(group string) (int, *SettingForm)

func Settings

func Settings() []*SettingForm

func (*SettingForm) AddHookGet

func (s *SettingForm) AddHookGet(hook func(echo.Context) error) *SettingForm

func (*SettingForm) AddHookPost

func (s *SettingForm) AddHookPost(hook func(echo.Context) error) *SettingForm

func (*SettingForm) AddTmpl

func (s *SettingForm) AddTmpl(tmpl string) *SettingForm

func (*SettingForm) RunHookGet

func (s *SettingForm) RunHookGet(ctx echo.Context) error

func (*SettingForm) RunHookPost

func (s *SettingForm) RunHookPost(ctx echo.Context) error

Jump to

Keyboard shortcuts

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