common

package
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Aug 30, 2018 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// TwoStepAuthDigits 验证码的位数
	TwoStepAuthDigits = 6
)

Variables

View Source
var (

	// UploadPath 上传目录
	UploadPath string

	// QrImageDir 二维码图片目录
	QrImageDir string

	// Logger 日志对象
	Logger *hltool.HLogger

	// LogPathFromCli 从命令行传入日志路径
	LogPathFromCli string

	// EnableToken 读取是否启用 Token 认证配置
	EnableToken = getEnableToken()

	// DBPath 数据库文件路径
	DBPath = beego.AppConfig.String("database::dbPath")
)
View Source
var (
	// GoVersion Go版本
	GoVersion = "go1.10.3"

	// AppName 程序名称
	AppName = "devops-api"

	// AppVersion 程序版本号
	AppVersion = "1.0.0"

	// AppDescription 程序描述
	AppDescription = "happy with devops-api"

	// CommitHash git commit id
	CommitHash = ""

	// BuildDate 编译日期
	BuildDate = "2018-08-29"

	// Author 作者
	Author = "helei"

	// GitHub 地址
	GitHub = "https://github.com/chanyipiaomiao"
)
View Source
var (
	// WillAuthPassword 定时生成的密码
	WillAuthPassword string
)

Functions

func BackupBoltDB

func BackupBoltDB(filepath string) error

BackupBoltDB 备份数据库文件

func ClearPassword

func ClearPassword()

ClearPassword 清除验证密码

func CronClearAuthPassword

func CronClearAuthPassword()

CronClearAuthPassword 定时清除验证密码

func CronGenAuthPassword

func CronGenAuthPassword()

CronGenAuthPassword 定时生成验证密码

func GenPassword

func GenPassword() map[string]bool

GenPassword 生成验证密码

func GetLogger

func GetLogger() *hltool.HLogger

GetLogger 返回Logger

func GetVersion

func GetVersion() map[string]string

GetVersion 获取版本信息

func GetWiillAuthPassword

func GetWiillAuthPassword() string

GetWiillAuthPassword 获取生成的密码

func InitCli

func InitCli()

InitCli 初始化命令行参数

func InitLog

func InitLog()

InitLog 初始化日志

func ManualGenAuthPassword

func ManualGenAuthPassword() map[string]bool

ManualGenAuthPassword 手动生成验证密码

func QueryPhone added in v1.0.2

func QueryPhone(phone string) (map[string]string, error)

func SendByDingTalkRobot

func SendByDingTalkRobot(messageType, message, title, robotURL string) (bool, error)

SendByDingTalkRobot 通过钉钉发送消息通知

func SendByEmail

func SendByEmail(subject, content, contentType, attach string, to, cc []string) (bool, error)

SendByEmail 通过Email发送消息通知

func SendWeixinMessage added in v0.3.0

func SendWeixinMessage(msgType, msg, toTag, toUser, toParty string) (bool, error)

SendWeixinMessage 发送消息

Types

type HoliWorkday added in v0.5.0

type HoliWorkday struct{}

HoliWorkday 节假日和工作日

func (*HoliWorkday) IsHoliWorkday added in v0.5.0

func (h *HoliWorkday) IsHoliWorkday(date string) (string, error)

IsHoliWorkday 检查给定的日期是工作日还是节假日

func (*HoliWorkday) Setting added in v0.5.0

func (h *HoliWorkday) Setting(reqBody []byte) error

Setting 保存节假日和工作日设置

type JSONManPassFields added in v0.2.0

type JSONManPassFields struct {
	Password []struct {
		Name     string `json:"name"`
		Password string `json:"password"`
	} `json:"password"`
	UniqueID string `json:"uniqueId"`
}

JSONManPassFields 通过POST传递过来的json字符串结构

type ManagePassword added in v0.2.0

type ManagePassword struct {
	Jwt *hltool.JWToken
	DB  *hltool.BoltDB
}

ManagePassword 密码管理

func NewManagePassword added in v0.2.0

func NewManagePassword() (*ManagePassword, error)

NewManagePassword 返回对象

func (*ManagePassword) Delete added in v0.2.0

func (m *ManagePassword) Delete(uniqueIDs []string) error

Delete 根据唯一标识 删除

func (*ManagePassword) Get added in v0.2.0

func (m *ManagePassword) Get(uniqueIDs []string) (map[string]interface{}, error)

Get 根据唯一标识获取值,如果数组中所有的标识在数据库都没有值,就返回一个空的map

func (*ManagePassword) Update added in v0.2.0

func (m *ManagePassword) Update(reqbody []byte) error

Update 保存/更新密码

type QueryIP added in v0.6.0

type QueryIP struct {
	DBPath string
}

QueryIP IP查询

func NewQueryIP added in v0.6.0

func NewQueryIP(dbPath string) *QueryIP

NewQueryIP IP对象

func (*QueryIP) Query added in v0.6.0

func (q *QueryIP) Query(ip string) (*ip2region.IpInfo, error)

Query 根据IP查询

type ReqHoliday added in v0.5.0

type ReqHoliday struct {
	Holiday []struct {
		EndTime   string `json:"end_time"`
		Name      string `json:"name"`
		StartTime string `json:"start_time"`
		ZhName    string `json:"zh_name"`
	} `json:"holiday"`
	Workday []string `json:"workday"`
	Year    string   `json:"year"`
}

ReqHoliday 请求过来的节假日和工作日设置

type Token

type Token struct {
	TokenDb    *hltool.BoltDB
	SignString string
}

Token 结构体

func NewToken

func NewToken() (*Token, error)

NewToken 返回Token对象

func (*Token) AddRootToken

func (t *Token) AddRootToken(forceRefresh bool) error

AddRootToken 创建一个root token forceRefresh: 是否强制刷新 root token

func (*Token) AddToken

func (t *Token) AddToken(rootToken, name string) error

AddToken 生成一个root token 用于管理其他的token rootToken root token 创建其他token 需要root token name token的名称: root token名为: root , 其他token: 指定的名称

func (*Token) DeleteToken

func (t *Token) DeleteToken(rootToken, name string) error

DeleteToken 删除Token name token名称

func (*Token) GetToken

func (t *Token) GetToken(name string) (map[string][]byte, error)

GetToken 根据name获取token

func (*Token) IsExistToken

func (t *Token) IsExistToken(name string) (bool, error)

IsExistToken token 是否存在 name token的名称

func (*Token) IsRootToken

func (t *Token) IsRootToken(token string) (bool, error)

IsRootToken 是否是root token,root token 不能被用来请求

func (*Token) IsTokenValid

func (t *Token) IsTokenValid(token string) (bool, error)

IsTokenValid token是否有效

type TwoStepAuth

type TwoStepAuth struct {

	// 用户名/账号/标识
	Username string

	// 发行者
	Issuer string

	// 身份验证器上显示的位数 6|7|8 一般是6位
	Digits int
}

TwoStepAuth 2步验证

func NewTwoStepAuth

func NewTwoStepAuth(username string) *TwoStepAuth

NewTwoStepAuth 返回TwoStepAuth对象

func (*TwoStepAuth) Auth

func (t *TwoStepAuth) Auth(userCode string) (bool, error)

Auth 验证用户输入的6位数字

func (*TwoStepAuth) Disable

func (t *TwoStepAuth) Disable() error

Disable 禁用2步验证 实际就是从数据库删除记录

func (*TwoStepAuth) Enable

func (t *TwoStepAuth) Enable() (map[string]interface{}, error)

Enable 启用2步验证 return 生成的二维码图片路径 和 KEY,可以手动添加KEY,如果不支持扫描

func (*TwoStepAuth) GetOtp

func (t *TwoStepAuth) GetOtp() (*twofactor.Totp, error)

GetOtp 从数据库中取出 otp对象

func (*TwoStepAuth) SaveOtp

func (t *TwoStepAuth) SaveOtp(otp *twofactor.Totp) error

SaveOtp 保存 2步验证的 对象到数据库

Jump to

Keyboard shortcuts

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