calm

package module
v0.0.0-...-699dfd2 Latest Latest
Warning

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

Go to latest
Published: May 20, 2025 License: Apache-2.0 Imports: 28 Imported by: 0

README

calm

it is simple package

Documentation

Index

Constants

View Source
const (
	FmtDate              = "2006-01-02"
	FmtTime              = "15:04:05"
	FmtDateTime          = "2006-01-02 15:04:05"
	FmtDateTimeNoSeconds = "2006-01-02 15:04"
)
View Source
const DefaultPathSeparator = "/"

Variables

View Source
var Default []*List

Functions

func CreateMutiDir

func CreateMutiDir(filePath string) error

func DateTimestamp

func DateTimestamp(timeStr string) int64

时间转秒时间戳截止当前时间戳差值

func DelBuffer

func DelBuffer(buff *Buffer)

func Equals

func Equals(a, b string) bool

func EqualsIgnoreCase

func EqualsIgnoreCase(a, b string) bool

func FormDate

func FormDate(ctx iris.Context, name string) *time.Time

从请求中获取日期

func FormValue

func FormValue(ctx iris.Context, name string) string

func FormValueBool

func FormValueBool(ctx iris.Context, name string) (bool, error)

func FormValueDefault

func FormValueDefault(ctx iris.Context, name, def string) string

func FormValueInt

func FormValueInt(ctx iris.Context, name string) (int, error)

func FormValueInt64

func FormValueInt64(ctx iris.Context, name string) (int64, error)

func FormValueInt64Array

func FormValueInt64Array(ctx iris.Context, name string) []int64

func FormValueInt64Default

func FormValueInt64Default(ctx iris.Context, name string, def int64) int64

func FormValueIntDefault

func FormValueIntDefault(ctx iris.Context, name string, def int) int

func FormValueRequired

func FormValueRequired(ctx iris.Context, name string) (string, error)

func FormValueStringArray

func FormValueStringArray(ctx iris.Context, name string) []string

func Format

func Format(time time.Time, layout string) string

时间格式化

func FromTimestamp

func FromTimestamp(timestamp int64) time.Time

毫秒时间戳转时间

func FromUnix

func FromUnix(unix int64) time.Time

秒时间戳转时间

func GetDay

func GetDay(time time.Time) int

return yyyyMMdd

func GetHtmlText

func GetHtmlText(html string) string

GetHtmlText 获取html文本

func GetSummary

func GetSummary(s string, length int) string

GetSummary 获取summary

func Hash

func Hash(s string) uint32

func IsAnyBlank

func IsAnyBlank(strs ...string) bool

func IsBlank

func IsBlank(str string) bool

func IsEmail

func IsEmail(email string) (err error)

IsEmail 验证是否是合法的邮箱

func IsEmpty

func IsEmpty(str string) bool

IsEmpty checks if a string is empty (""). Returns true if empty, and false otherwise.

func IsExist

func IsExist(path string) bool

func IsNotBlank

func IsNotBlank(str string) bool

func IsNotEmpty

func IsNotEmpty(str string) bool

func IsPassword

func IsPassword(password, rePassword string) error

IsPassword 是否是合法的密码

func IsURL

func IsURL(url string) error

IsURL 是否是合法的URL

func IsUsername

func IsUsername(username string) error

IsUsername 验证用户名合法性,用户名必须由5-12位(数字、字母、_、-)组成,且必须以字母开头。

func ListDir

func ListDir(path string, indent int) (s []string)

func Md5

func Md5(s string) string

func NowTimestamp

func NowTimestamp() int64

当前毫秒时间戳

func NowUnix

func NowUnix() int64

秒时间戳

func OpenMDB

func OpenMDB(dsn string, config *gorm.Config, maxIdleConns, maxOpenConns int, models ...interface{}) (mdb *gorm.DB, err error)

func OpenSDB

func OpenSDB(dsn string, config *gorm.Config, maxIdleConns, maxOpenConns int, models ...interface{}) (sdb *gorm.DB, err error)

func Parse

func Parse(timeStr, layout string) (time.Time, error)

字符串时间转时间类型

func PrettyTime

func PrettyTime(milliseconds int64) string

*

  • 将时间格式换成 xx秒前,xx分钟前...
  • 规则:
  • 59秒--->刚刚
  • 1-59分钟--->x分钟前(23分钟前)
  • 1-24小时--->x小时前(5小时前)
  • 昨天--->昨天 hh:mm(昨天 16:15)
  • 前天--->前天 hh:mm(前天 16:15)
  • 前天以后--->mm-dd(2月18日)

func ReadForm

func ReadForm(ctx iris.Context, obj interface{}) error

ReadForm read object from FormData

func RuneLen

func RuneLen(s string) int

RuneLen 字符成长度

func SqlNullString

func SqlNullString(value string) sql.NullString

func Substr

func Substr(s string, start, length int) string

截取字符串

func Timestamp

func Timestamp(t time.Time) int64

毫秒时间戳

func ToCamel

func ToCamel(s string) string

Converts a string to CamelCase

func ToLowerCamel

func ToLowerCamel(s string) string

Converts a string to lowerCamelCase

func UUID

func UUID() string

UUID

func WithTimeAsStartOfDay

func WithTimeAsStartOfDay(t time.Time) time.Time

返回指定时间当天的开始时间

Types

type AntPathMatcher

type AntPathMatcher struct {
	PathSeparator string
}

func NewAntPathMatcher

func NewAntPathMatcher() *AntPathMatcher

func (*AntPathMatcher) IsPattern

func (matcher *AntPathMatcher) IsPattern(path string) bool

func (*AntPathMatcher) Match

func (matcher *AntPathMatcher) Match(pattern string, path string) bool

type Buffer

type Buffer struct {
	// contains filtered or unexported fields
}

func NewBuffer

func NewBuffer(reader io.Reader) Buffer

func (*Buffer) Close

func (b *Buffer) Close()

func (*Buffer) Len

func (b *Buffer) Len() int

func (*Buffer) Read

func (b *Buffer) Read(n int) []byte

func (*Buffer) ReadFromReader

func (b *Buffer) ReadFromReader() (int, error)

func (*Buffer) Seek

func (b *Buffer) Seek(n int) ([]byte, error)

type CursorResult

type CursorResult struct {
	Results interface{} `json:"results"` // 数据
	Cursor  string      `json:"cursor"`  // 下一页
	HasMore bool        `json:"hasMore"` // 是否还有数据
}

Cursor分页返回数据

type ElemType

type ElemType interface {
}

type ErrCode

type ErrCode int

type GormModel

type GormModel struct {
	Id int64 `gorm:"primaryKey;autoIncrement" json:"id" form:"id"`
}

type Job

type Job interface {
	Do()
}

type JsonResult

type JsonResult struct {
	ErrorCode int         `json:"errorCode"`
	Message   string      `json:"message"`
	Data      interface{} `json:"data"`
	Success   bool        `json:"success"`
}

func Json

func Json(code int, message string, data interface{}, success bool) *JsonResult

func JsonData

func JsonData(data interface{}) *JsonResult

func JsonErrorCode

func JsonErrorCode(code int) *JsonResult

func JsonErrorCodeMsg

func JsonErrorCodeMsg(code int, message string) *JsonResult

func JsonErrorData

func JsonErrorData(code int, message string, data interface{}) *JsonResult

func JsonErrorMsg

func JsonErrorMsg(message string) *JsonResult

func JsonItemList

func JsonItemList(data []interface{}) *JsonResult

func JsonPageData

func JsonPageData(results interface{}, page *Paging) *JsonResult

func JsonSuccess

func JsonSuccess() *JsonResult

type List

type List struct {
	//Name  string
	First *Node
	Last  *Node
	Size  int
	// contains filtered or unexported fields
}

链表

func CreateList

func CreateList() *List

工厂函数

func (*List) DeleteVal

func (list *List) DeleteVal(x ElemType) bool

按值删除结点

func (*List) Find

func (list *List) Find(x ElemType) *Node

查找指定元素

func (*List) GetFirst

func (list *List) GetFirst() *Node

func (*List) GetSize

func (list *List) GetSize() int

func (*List) Getlimit

func (list *List) Getlimit(n int) []interface{}

func (*List) Getpagelimit

func (list *List) Getpagelimit(page int, limit int) []interface{}

func (*List) InvalList

func (list *List) InvalList()

清空队列函数

func (*List) IsEmpty

func (list *List) IsEmpty() bool

判断链表是否为空

func (*List) Modify

func (list *List) Modify(x, y ElemType) bool

把值为x的元素的值修改为y

func (*List) PopBack

func (list *List) PopBack() bool

尾删法

func (*List) PopFront

func (list *List) PopFront() bool

头删法

func (*List) Print

func (list *List) Print() error

打印链表

func (*List) PushBack

func (list *List) PushBack(x ElemType)

尾插法

func (*List) PushFront

func (list *List) PushFront(x ElemType)

头插法

func (*List) Reverse

func (list *List) Reverse()

反转链表 保留第一个结点,将剩余的结点游离出来,然后依次头插到保留的结点中

type Node

type Node struct {
	Data ElemType
	Pre  *Node
	Next *Node
}

结点

type OrderByCol

type OrderByCol struct {
	Column string // 排序字段
	Asc    bool   // 是否正序
}

排序信息

type PageResult

type PageResult struct {
	Page    *Paging     `json:"page"`    // 分页信息
	Results interface{} `json:"results"` // 数据
}

分页返回数据

type Paging

type Paging struct {
	Page  int   `json:"page"`  // 页码
	Limit int   `json:"limit"` // 每页条数
	Total int64 `json:"total"` // 总数据条数
}

分页请求数据

func GetPaging

func GetPaging(ctx iris.Context) *Paging

func (*Paging) Offset

func (p *Paging) Offset() int

func (*Paging) TotalPage

func (p *Paging) TotalPage() int

type ParamPair

type ParamPair struct {
	Query string        // 查询
	Args  []interface{} // 参数
}

type QueryParams

type QueryParams struct {
	Ctx iris.Context
	SqlCnd
}

func NewQueryParams

func NewQueryParams(ctx iris.Context) *QueryParams

func (*QueryParams) Asc

func (q *QueryParams) Asc(column string) *QueryParams

func (*QueryParams) Desc

func (q *QueryParams) Desc(column string) *QueryParams

func (*QueryParams) EqByReq

func (q *QueryParams) EqByReq(column string) *QueryParams

func (*QueryParams) GtByReq

func (q *QueryParams) GtByReq(column string) *QueryParams

func (*QueryParams) GteByReq

func (q *QueryParams) GteByReq(column string) *QueryParams

func (*QueryParams) LikeByReq

func (q *QueryParams) LikeByReq(column string) *QueryParams

func (*QueryParams) Limit

func (q *QueryParams) Limit(limit int) *QueryParams

func (*QueryParams) LtByReq

func (q *QueryParams) LtByReq(column string) *QueryParams

func (*QueryParams) LteByReq

func (q *QueryParams) LteByReq(column string) *QueryParams

func (*QueryParams) NotEqByReq

func (q *QueryParams) NotEqByReq(column string) *QueryParams

func (*QueryParams) Page

func (q *QueryParams) Page(page, limit int) *QueryParams

func (*QueryParams) PageByReq

func (q *QueryParams) PageByReq() *QueryParams

type RspBuilder

type RspBuilder struct {
	Data map[string]interface{}
}

func NewEmptyRspBuilder

func NewEmptyRspBuilder() *RspBuilder

func (*RspBuilder) Build

func (builder *RspBuilder) Build() map[string]interface{}

func (*RspBuilder) JsonResult

func (builder *RspBuilder) JsonResult() *JsonResult

func (*RspBuilder) Put

func (builder *RspBuilder) Put(key string, value interface{}) *RspBuilder

type SqlCnd

type SqlCnd struct {
	SelectCols []string     // 要查询的字段,如果为空,表示查询所有字段
	Params     []ParamPair  // 参数
	OrParams   []ParamPair  // 参数
	Orders     []OrderByCol // 排序
	Paging     *Paging      // 分页
}

func NewSqlCnd

func NewSqlCnd() *SqlCnd

func (*SqlCnd) Asc

func (s *SqlCnd) Asc(column string) *SqlCnd

func (*SqlCnd) Build

func (s *SqlCnd) Build(db *gorm.DB) *gorm.DB

func (*SqlCnd) Cols

func (s *SqlCnd) Cols(selectCols ...string) *SqlCnd

func (*SqlCnd) Count

func (s *SqlCnd) Count(db *gorm.DB, model interface{}) int64

func (*SqlCnd) Desc

func (s *SqlCnd) Desc(column string) *SqlCnd

func (*SqlCnd) Ending

func (s *SqlCnd) Ending(column string, str string) *SqlCnd

func (*SqlCnd) Eq

func (s *SqlCnd) Eq(column string, args ...interface{}) *SqlCnd

func (*SqlCnd) Find

func (s *SqlCnd) Find(db *gorm.DB, out interface{})

func (*SqlCnd) FindOne

func (s *SqlCnd) FindOne(db *gorm.DB, out interface{}) error

func (*SqlCnd) Gt

func (s *SqlCnd) Gt(column string, args ...interface{}) *SqlCnd

func (*SqlCnd) Gte

func (s *SqlCnd) Gte(column string, args ...interface{}) *SqlCnd

func (*SqlCnd) In

func (s *SqlCnd) In(column string, params interface{}) *SqlCnd

func (*SqlCnd) Like

func (s *SqlCnd) Like(column string, str string) *SqlCnd

func (*SqlCnd) Limit

func (s *SqlCnd) Limit(limit int) *SqlCnd

func (*SqlCnd) Lt

func (s *SqlCnd) Lt(column string, args ...interface{}) *SqlCnd

func (*SqlCnd) Lte

func (s *SqlCnd) Lte(column string, args ...interface{}) *SqlCnd

func (*SqlCnd) NotEq

func (s *SqlCnd) NotEq(column string, args ...interface{}) *SqlCnd

func (*SqlCnd) NotIn

func (s *SqlCnd) NotIn(column string, params interface{}) *SqlCnd

func (*SqlCnd) Or

func (s *SqlCnd) Or(query string, args ...interface{}) *SqlCnd

func (*SqlCnd) OrEq

func (s *SqlCnd) OrEq(column string, args ...interface{}) *SqlCnd

func (*SqlCnd) OrLike

func (s *SqlCnd) OrLike(column string, str string) *SqlCnd

func (*SqlCnd) Page

func (s *SqlCnd) Page(page, limit int) *SqlCnd

func (*SqlCnd) Starting

func (s *SqlCnd) Starting(column string, str string) *SqlCnd

func (*SqlCnd) Where

func (s *SqlCnd) Where(query string, args ...interface{}) *SqlCnd

type UrlBuilder

type UrlBuilder struct {
	// contains filtered or unexported fields
}

func ParseUrl

func ParseUrl(rawUrl string) *UrlBuilder

func (*UrlBuilder) AddQueries

func (builder *UrlBuilder) AddQueries(queries map[string]string) *UrlBuilder

func (*UrlBuilder) AddQuery

func (builder *UrlBuilder) AddQuery(name, value string) *UrlBuilder

func (*UrlBuilder) Build

func (builder *UrlBuilder) Build() *url.URL

func (*UrlBuilder) BuildStr

func (builder *UrlBuilder) BuildStr() string

func (*UrlBuilder) BuildString

func (builder *UrlBuilder) BuildString() string

func (*UrlBuilder) GetQuery

func (builder *UrlBuilder) GetQuery() url.Values

func (*UrlBuilder) GetRawQuery

func (builder *UrlBuilder) GetRawQuery() string

func (*UrlBuilder) GetURL

func (builder *UrlBuilder) GetURL() *url.URL

type Worker

type Worker struct {
	JobQueue chan Job
	Quit     chan bool
}

func NewWorker

func NewWorker() Worker

func (Worker) Run

func (w Worker) Run(workqueue chan chan Job)

func (Worker) Stop

func (w Worker) Stop()

type WorkerPool

type WorkerPool struct {
	JobQueue    chan Job //线程池的  job 通道
	WorkerQueue chan chan Job
	// contains filtered or unexported fields
}

workerpool 领导

var Ppool *WorkerPool

func NewWorkerPool

func NewWorkerPool(workerlen int) *WorkerPool

func (*WorkerPool) Run

func (wp *WorkerPool) Run()

运行线程池

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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