jcbaseGo

package module
v0.8.1 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2024 License: MIT Imports: 13 Imported by: 0

README

jcbaseGo

自用开发工具包

Documentation

Index

Constants

View Source
const (
	ConfigTypeFile    = "file"    // 文件(文件内容必须为合法json)
	ConfigTypeCommand = "command" // 命令行(输出结果必须为合法json)
)

Variables

View Source
var Config interface{}

Config 实例化后配置信息将储存在此全局变量中

Functions

func PanicIfError added in v0.6.1

func PanicIfError(err interface{})

PanicIfError 异常处理 如果err不为nil,则直接panic,用于省略if判断

Types

type AttachmentStruct added in v0.6.1

type AttachmentStruct struct {
	StorageType string `json:"storage_type" default:"local"`   // 存储类型 local/ftp/sftp/cos/oss
	LocalDir    string `json:"local_dir" default:"attachment"` // 本地附件目录,默认为 attachment

	// 附件访问域名
	// 配置后以配置为准,不配置则初始化中自动赋值,一定以“/”结尾
	// 如果配置了远程附件,则此处为远程附件访问域名,否则为本地附件访问域名
	VisitDomain string `json:"visit_domain" default:"/"`
	// 本地附件访问域名,不管是否配置远程附件
	// 配置后以配置为准,不配置则初始化中自动赋值,一定以“/”结尾
	LocalVisitDomain string `json:"local_visit_domain" default:"/"`
}

AttachmentStruct 附件配置

type COSStruct added in v0.8.0

type COSStruct struct {
	SecretId  string `json:"secretId" default:""`  // 腾讯云Cos SecretId
	SecretKey string `json:"secretKey" default:""` // 腾讯云Cos SecretKey
	Bucket    string `json:"bucket" default:""`    // 腾讯云Cos Bucket
	Region    string `json:"region" default:""`    // 腾讯云Cos Region
	Url       string `json:"url" default:""`       // 腾讯云Cos Url

	// 自定义附件访问域名(非平台配置,供程序调用,非必填,一定以“/”结尾)
	CustomizeVisitDomain string `json:"customize_visit_domain" default:""`
}

COSStruct cos配置

type DbStruct added in v0.2.1

type DbStruct struct {
	DriverName    string `json:"driverName" default:"mysql"`   // 驱动类型
	Protocol      string `json:"protocol" default:"tcp"`       // 协议
	Host          string `json:"host" default:"localhost"`     // 数据库地址
	Port          string `json:"port" default:"3306"`          // 数据库端口号
	Dbname        string `json:"dbname" default:"dbname"`      // 表名称
	Username      string `json:"username" default:"root"`      // 用户名
	Password      string `json:"password" default:""`          // 密码
	Charset       string `json:"charset" default:"utf8mb4"`    // 编码
	TablePrefix   string `json:"tablePrefix" default:""`       // 表前缀
	ParseTime     string `json:"parseTime" default:"False"`    // 是否开启时间解析
	SingularTable bool   `json:"singularTable" default:"true"` // 使用单数表名
	Alias         string `json:"alias" default:"db"`           // 配置信息别名
}

DbStruct 数据库配置

type DefaultConfigStruct added in v0.6.1

type DefaultConfigStruct struct {
	Db         DbStruct         `json:"db"`         // 数据库配置信息
	Redis      RedisStruct      `json:"redis"`      // redis配置信息
	Attachment AttachmentStruct `json:"attachment"` // 附件配置信息
	Oss        OSSStruct        `json:"oss"`        // oss配置信息
	Cos        COSStruct        `json:"cos"`        // cos配置信息
	Project    ProjectStruct    `json:"project"`    // 项目配置信息
	Repository RepositoryStruct `json:"repository"` // 仓库配置信息
}

DefaultConfigStruct 默认配置信息结构 一般情况下推荐自定义,不想自定义的情况下可以采用默认结构

type FTPStruct added in v0.8.0

type FTPStruct struct {
	Address  string        `json:"address" default:""`           // FTP服务器地址
	Username string        `json:"username" default:""`          // FTP登录用户名
	Password string        `json:"password" default:""`          // FTP登录密码
	Timeout  time.Duration `json:"timeout,omitempty" default:""` // 连接超时时间,可选

	// 自定义附件访问域名(非平台配置,供程序调用,非必填,一定以“/”结尾)
	CustomizeVisitDomain string `json:"customize_visit_domain" default:""`
}

type ListData added in v0.7.1

type ListData struct {
	List     interface{} `json:"list"`
	Total    int         `json:"total"`
	Page     int         `json:"page"`
	PageSize int         `json:"page_size"`
}

ListData 分页查询数据输出

type MailerStruct added in v0.6.1

type MailerStruct struct {
	Host     string `json:"host" default:"smtp.qq.com"`        // 邮箱地址
	Port     string `json:"port" default:"465"`                // 邮箱端口号
	Username string `json:"username" default:"example@qq.com"` // 邮箱用户名
	Password string `json:"password" default:"123456"`         // 邮箱密码
	From     string `json:"from" default:"example@qq.com"`     // 发件邮箱
	UseTLS   bool   `json:"useTls" default:"true"`             // 是否使用TLS
	CertPath string `json:"cert_path" default:""`              // 证书文件路径
	KeyPath  string `json:"key_path" default:""`               // 私钥文件路径
	CAPath   string `json:"ca_path" default:""`                // CA证书文件路径
}

MailerStruct 发送邮箱配置

type MysqlBaseModel added in v0.7.1

type MysqlBaseModel struct {
}

MysqlBaseModel gorm基础模型

func (*MysqlBaseModel) BeforeCreate added in v0.7.1

func (b *MysqlBaseModel) BeforeCreate(tx *gorm.DB) (err error)

func (*MysqlBaseModel) BeforeUpdate added in v0.7.1

func (b *MysqlBaseModel) BeforeUpdate(tx *gorm.DB) (err error)

func (*MysqlBaseModel) ConfigAlias added in v0.7.1

func (b *MysqlBaseModel) ConfigAlias() string

func (*MysqlBaseModel) ModelParse added in v0.7.1

func (b *MysqlBaseModel) ModelParse(modelType reflect.Type) (tableName string, fields []string)

type OSSStruct added in v0.8.0

type OSSStruct struct {
	AccessKeyId     string `json:"AccessKeyId" default:""`     // 阿里云访问密钥ID
	AccessKeySecret string `json:"AccessKeySecret" default:""` // 阿里云访问密钥Secret
	Endpoint        string `json:"endpoint" default:""`        // 阿里云OSS的Endpoint
	BucketName      string `json:"bucketName" default:""`      // 阿里云OSS存储桶名称

	// 自定义附件访问域名(非平台配置,供程序调用,非必填,一定以“/”结尾)
	CustomizeVisitDomain string `json:"customize_visit_domain" default:""`
}

OSSStruct oss配置

type Option added in v0.6.1

type Option struct {
	ConfigType   string      `json:"config_type" default:"file"`
	ConfigSource string      `json:"config_source" default:"./config/main.json"` // 配置源(json文件/命令行)
	ConfigData   interface{} `json:"config_data"`                                // 配置信息
	RuntimePath  string      `json:"runtime_path" default:"/runtime/"`           // 运行缓存目录
}

Option jcbaseGo配置选项

func New added in v0.3.1

func New(opt Option) *Option

New 初始化配置

func (*Option) ConfigToStruct added in v0.6.1

func (opt *Option) ConfigToStruct(configStruct interface{})

ConfigToStruct 将 Option.ConfigData 赋值到自定义结构体中

func (*Option) GetConfig added in v0.6.1

func (opt *Option) GetConfig() *interface{}

GetConfig 获取配置信息

func (*Option) GetConfigOption added in v0.6.1

func (opt *Option) GetConfigOption() Option

GetConfigOption 获取配置选项

type ProjectStruct added in v0.6.1

type ProjectStruct struct {
	Name string `json:"name" default:"jcbaseGo"` // 项目名称
}

ProjectStruct 项目配置

type RedisStruct added in v0.2.1

type RedisStruct struct {
	Host     string `json:"host" default:"localhost"` // redis地址
	Port     string `json:"port" default:"6379"`      // redis端口号
	Password string `json:"password" default:""`      // redis密码
	Db       string `json:"db" default:"0"`           // redis数据库
}

RedisStruct redis配置

type RepositoryStruct added in v0.2.1

type RepositoryStruct struct {
	Dir        string `json:"dir" default:"./project/app/"`                            // 本地仓库目录
	Branch     string `json:"branch" default:"master"`                                 // 远程仓库分支
	RemoteName string `json:"remoteName" default:"origin"`                             // 远程仓库名称
	RemoteURL  string `json:"remoteURL" default:"git@github.com:jcbowen/jcbaseGo.git"` // 远程仓库地址
}

RepositoryStruct 仓库配置

type Result added in v0.7.1

type Result struct {
	Code    int         `json:"code" default:"200"`
	Message string      `json:"message" default:"success"`
	Data    interface{} `json:"data,omitempty"`
	Total   *int        `json:"total,omitempty"`
}

Result 响应结构

type SFTPStruct added in v0.8.0

type SFTPStruct struct {
	Address    string        `json:"address" default:""`           // SFTP服务器地址
	Username   string        `json:"username" default:""`          // SFTP登录用户名
	Password   string        `json:"password" default:""`          // SFTP登录密码
	PrivateKey []byte        `json:"private_key" default:""`       // SFTP登录私钥
	Timeout    time.Duration `json:"timeout,omitempty" default:""` // 连接超时时间,可选

	// 自定义附件访问域名(非平台配置,供程序调用,非必填,一定以“/”结尾)
	CustomizeVisitDomain string `json:"customize_visit_domain" default:""`
}

SFTPStruct sftp配置

type SQLLiteBaseModel added in v0.7.1

type SQLLiteBaseModel struct {
}

SQLLiteBaseModel gorm基础模型

func (*SQLLiteBaseModel) BeforeCreate added in v0.7.1

func (b *SQLLiteBaseModel) BeforeCreate(tx *gorm.DB) (err error)

func (*SQLLiteBaseModel) BeforeUpdate added in v0.7.1

func (b *SQLLiteBaseModel) BeforeUpdate(tx *gorm.DB) (err error)

func (*SQLLiteBaseModel) ConfigAlias added in v0.7.1

func (b *SQLLiteBaseModel) ConfigAlias() string

func (*SQLLiteBaseModel) ModelParse added in v0.7.1

func (b *SQLLiteBaseModel) ModelParse(modelType reflect.Type) (tableName string, fields []string)

type SSLStruct added in v0.6.1

type SSLStruct struct {
	CertPath string `json:"cert_path" default:""`
	KeyPath  string `json:"key_path" default:""`
}

SSLStruct ssl配置

type SqlLiteStruct added in v0.6.1

type SqlLiteStruct struct {
	DbFile        string `json:"dbFile" default:"./db/jcbaseGo.db"` // 数据库文件
	TablePrefix   string `json:"tablePrefix" default:"jc_"`         // 表前缀
	SingularTable bool   `json:"singularTable" default:"true"`      // 使用单数表名
	Alias         string `json:"alias" default:"main"`              // 配置信息别名
}

SqlLiteStruct sqlite配置

Directories

Path Synopsis
component
attachment/remote
Package remote 提供多种远程存储方式的统一接口。
Package remote 提供多种远程存储方式的统一接口。
php
example

Jump to

Keyboard shortcuts

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