Documentation ¶
Index ¶
- func DiffBson(origin interface{}, news interface{}, params map[string][]string, ...) (bson.M, bson.M)
- func FilterFormValues(params map[string][]string) map[string][]string
- func IsNum(s string) bool
- func IsZeroOfUnderlyingType(x interface{}) bool
- func LimitHandler(l *limiter.Limiter, errBack ...func(*errors.HTTPError, iris.Context)) iris.Handler
- func Replace(origin, newData interface{}) error
- func UTCTrans(utcTime string) (time.Time, error)
- type AliasProcess
- type Config
- type RestApi
- type SingleModel
- type SpAliasProcess
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DiffBson ¶
func DiffBson(origin interface{}, news interface{}, params map[string][]string, structDelimiter string) (bson.M, bson.M)
DiffBson 两个bson.m 对比 获取异同
func FilterFormValues ¶ added in v0.1.10
FilterFormValues 重新获取params
func IsZeroOfUnderlyingType ¶
func IsZeroOfUnderlyingType(x interface{}) bool
func LimitHandler ¶
Types ¶
type AliasProcess ¶ added in v0.1.32
type AliasProcess interface {
Alias() string
}
type Config ¶
type Config struct { Party iris.Party Mdb *qmgo.Database Models []*SingleModel ErrorTrace func(err error, event, from, router string) // error trace func Generator bool // 生成器模式 若启用则只有一个入口 PrivateContextKey string PrivateColName string StructDelimiter string // 内联struct之间的分隔符 默认__ 因为.号会被转义 不要使用. _ SensitiveUri []string // 敏感词库 SensitiveWords []string // 敏感词列表 }
Config 配置文件 敏感词 用于国内的审核 可在model配置文件中配置需要验证的字段 每次数据新增/修改时会进行验证
type RestApi ¶
type RestApi struct { C *Config // contains filtered or unexported fields }
func (*RestApi) DeleteData ¶
func (c *RestApi) DeleteData(ctx iris.Context)
DeleteData 删除数据 /{mid:string range(1,32)}
func (*RestApi) EditData ¶
func (c *RestApi) EditData(ctx iris.Context)
EditData 修改数据 /{mid:string range(1,32)}
func (*RestApi) GetAllFunc ¶
func (c *RestApi) GetAllFunc(ctx iris.Context)
GetAllFunc 获取所有 page 控制页码 page_size 控制条数 最大均为100 100页 100条 _last mid 大页码通用 _o(asc) _od _s __在左右则为模糊 _s=__赵日天 [字段名] 进行过滤 id=1 最长64位请注意 and关系 _o_[字段名] 进行过滤 _o_id=2 最长64位 or关系
func (*RestApi) GetModelInfoList ¶ added in v0.1.31
func (c *RestApi) GetModelInfoList() []modelInfo
GetModelInfoList 获取详细的模型列表
type SingleModel ¶
type SingleModel struct { Prefix string // 路由前缀 Suffix string // 路由后缀 Model interface{} // xorm model ShowCount bool // 显示搜索数量 ShowDocCount bool // 显示文档数量 CustomModel func(ctx iris.Context, model *SingleModel) *SingleModel // 记住要进行指针值传递 返回一个新对象 否则会修改原始配置文件 Pk func() []bson.D // 外键 DisablePrivate bool // 禁用私密参数 DisablePrivateMap map[string]bool // 禁用私密参数定制项 key为方法 value为启用与否 前提条件必须启用后才能禁用 而不能禁用后启用 PrivateContextKey string // 上下文key string int uint PrivateColName string // 数据库字段名 MapName or ColName is ok AllowMethods []string // allow methods first DisableMethods []string // get(all) get(single) post put delete AllowSearchFields []string // 搜索的字段 struct名称 GetAllResponseFunc func(ctx iris.Context, result iris.Map, dataList []map[string]interface{}) iris.Map // 返回内容替换的方法 GetAllExtraFilters func(ctx iris.Context) map[string]interface{} // 额外的固定过滤 key(数据库列名) 和 value 若与请求过滤重复则覆盖 优先级最高 GetAllMustFilters map[string]string // 获取全部必须拥有筛选 GetSingleResponseFunc func(ctx iris.Context, item map[string]interface{}) map[string]interface{} // 获取单个返回内容替换的方法 GetSingleExtraFilters func(ctx iris.Context) map[string]interface{} // 额外的固定过滤 key(数据库列名) 和 value 若与请求过滤重复则覆盖 优先级最高 GetSingleMustFilters map[string]string // 获取单个必须拥有筛选 PostValidator interface{} // 新增自定义验证器 PostMustFilters map[string]string // 新增必须存在的参数 PostResponseFunc func(ctx iris.Context, mid string, item interface{}) interface{} // PostDataParse func(ctx iris.Context, raw interface{}) interface{} // PutValidator interface{} // 修改验证器 PutDataParse func(ctx iris.Context, mid string, diff bson.M) bson.M // PutQueryParse func(ctx iris.Context, mid string, query bson.M, formData map[string][]string, privateValue interface{}) bson.M // 修改的时候query可以自定义修改 PutResponseFunc func(ctx iris.Context, mid string) iris.Map // 在修改之前还可以变更一下数据 PutMustFilters map[string]string // DeleteValidator interface{} // 删除验证器 DeleteResponseFunc func(ctx iris.Context, mid string, item map[string]interface{}, result iris.Map) iris.Map // SensitiveFields []string // 使用struct name 或者mapname 均可(map对象为bson:) CacheTime time.Duration // full cache time GetAllCacheTime time.Duration // get all cache time GetSingleCacheTime time.Duration // get single cache time DelayDeleteTime time.Duration // 延迟多久双删 default 500ms MaxPageSize int64 // max page size limit MaxPageCount int64 // max page count limit RateErrorFunc func(*tollerr.HTTPError, iris.Context) // Rate *limiter.Limiter // all GetAllRate *limiter.Limiter // GetSingleRate *limiter.Limiter // AddRate *limiter.Limiter // PutRate *limiter.Limiter // DeleteRate *limiter.Limiter // // contains filtered or unexported fields }
SingleModel 单个模型实例 CustomModel 主要用来动态配置项 比如说context变更 pk变更等灵活使用 e.g:
func(ctx iris.Context, model *SingleModel) *SingleModel { newModel:= new(SingleModel) *newModel = *model // 修改配置文件 return newModel }
type SpAliasProcess ¶ added in v0.1.45
type SpAliasProcess interface {
SpAlias() string
}
Click to show internal directories.
Click to hide internal directories.