dog

package module
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2020 License: MIT Imports: 8 Imported by: 0

README

dog

dog is a HTTP web framework written in Go

Documentation

Index

Constants

View Source
const (
	GETFETCH  = "GET"  // get请求
	POSTFETCH = "POST" // post请求
)

请求方法

View Source
const (
	DOGALLOW  = 1
	DOGFORBID = 2
)

是否允许访问

Variables

View Source
var Cache struct {
	Set *dogSetting

	CheckFuncList  map[string]func(title string, checkLeaf string, val string) error
	WriteApiList   []string
	WriteGroupList []string
	WriteUserList  []int64
	// contains filtered or unexported fields
}

Functions

func DefaultCatchAndReturnMiddleware

func DefaultCatchAndReturnMiddleware() func(m *Dog)

默认异常捕获及返回请求结果

func DefaultDog

func DefaultDog()

默认服务

func DefaultHeaderMiddleware

func DefaultHeaderMiddleware() func(m *Dog)

默认头部

func DefaultLogMiddleware

func DefaultLogMiddleware() func(m *Dog)

默认日志输出

func GetAccess

func GetAccess(access string) string

func InitRouteLogMiddleware

func InitRouteLogMiddleware() func(r Router)

打印路由信息

func NewDog

func NewDog()

创建服务

func Run

func Run()

func Use

func Use(f func(m *Dog))

添加中间件

func UseRouterInit

func UseRouterInit(f func(r Router))

@desc 路由初始化处理

Types

type Dog

type Dog struct {
	Code   int                    // 状态码
	Note   string                 // 提示信息
	Result interface{}            // 返回结果
	Info   map[string]interface{} // 返回其他信息
	Count  int64                  // 总数据条数
	Token  string                 // token
	UserId int64                  // 用户ID

	Router    *Router                // 路由信息
	Params    map[string]interface{} // 请求入参
	W         http.ResponseWriter
	R         *http.Request
	Handlers  []func(d *Dog)
	Index     int         // 当前中间件序号
	Res       interface{} // 返回对象
	StartTime int64       // 开始时间
	ApiName   string      // api名称
}

func (*Dog) Close

func (c *Dog) Close()

关闭中间件

func (*Dog) GetParams

func (c *Dog) GetParams(paramsValue interface{})

@desc 获取入参

func (*Dog) GetUserAes

func (c *Dog) GetUserAes(data string) string

func (*Dog) GetUserKey

func (c *Dog) GetUserKey() string

@desc 获取私有键

func (*Dog) Next

func (c *Dog) Next()

中间件 执行

func (*Dog) SetCode

func (c *Dog) SetCode(code int, note string)

func (*Dog) SetCount

func (c *Dog) SetCount(count interface{})

func (*Dog) SetMsg

func (c *Dog) SetMsg(key string, info interface{})

func (*Dog) SetNote

func (c *Dog) SetNote(note string)

func (*Dog) SetResult

func (c *Dog) SetResult(result interface{})

@desc 设置返回结果

func (*Dog) SetToken

func (c *Dog) SetToken(token string)

func (*Dog) SetUserAes

func (c *Dog) SetUserAes(data string) string

type Router

type Router struct {
	Path          string           // 路由
	Desc          string           // 描述
	Func          func(d *Dog)     // 执行逻辑
	Method        string           // 请求方法
	Params        interface{}      // 请求入参模型
	BeforeRequest func(d *Dog) int // 是否允许访问
	AfterRequest  func(d *Dog) int // 是否允许访问
	AllowLevel    int              // 允许级别 1|允许访问 -1|禁止访问 -2|访问受限
	// contains filtered or unexported fields
}

func (Router) PublicRegister added in v0.1.2

func (r Router) PublicRegister()

func (Router) Register added in v0.1.2

func (r Router) Register()

type Token

type Token struct {
	Id       int64  `title:"用户id"`
	Platform int    `title:"平台"`    // 平台 1androi 2ios 3web
	Time     int64  `title:"授权有效期"` // 时间戳
	Code     string `title:"授权编码"`
	Device   string `title:"设备码"`
	// contains filtered or unexported fields
}

func GetToken

func GetToken(token string) *Token

func SetToken

func SetToken(userId int64, platform int) *Token

创建token

func (*Token) DelAccess added in v0.0.2

func (t *Token) DelAccess(access string)

删除access

func (*Token) SetAccess added in v0.0.2

func (t *Token) SetAccess() string

每次生成一个新的access,并以此为键,存储data的值

func (*Token) SetToken added in v0.0.2

func (t *Token) SetToken() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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