gobaseutil

package module
v1.0.6 Latest Latest
Warning

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

Go to latest
Published: Apr 12, 2022 License: MIT Imports: 0 Imported by: 0

README

go-base-util

介绍

golang 基础工具类

封装gin、jwt、uuid、zaplog

基于os、ioutil、io、path对文件进行封装,让开发者对文件的基本处理更优化便捷操作

封装基础数据工具,让基础数据的处理更便捷

让开发者可以基于此工具包快速构建项目

软件架构

基于项目规范化gin框架开发

项目目录

pkg/ginx

全面封装gin, 让用户可基于此方法便捷化写入路由、中间件

让项目看上去规范化

pkg/log

基于zaplog进行封装,让开发者更快捷的使用zaplog配置日志管理

pkg/jwt

基于jwt/v4进行封装,让开发者更快捷的使用jwt

安装教程

在自己的项目中使用

1、 通过Go命令安装go-base-util

go get -u gitee.com/miajio/go-base-util

go.mod 方式

import "gitee.com/miajio/go-base-util"

然后使用 go mod tidy 将其导入您的代码中

使用说明
ginx
package main

import (
	"net/http"

	"gitee.com/miajio/go-base-util/pkg/ginx"
	"github.com/gin-gonic/gin"
)

type aRouter struct{}

type bRouter struct{}

var ARouter ginx.Router = (*aRouter)(nil)

var BRouter ginx.Router = (*bRouter)(nil)

func (*aRouter) Execute(e *gin.Engine) {
	hello := e.Group("/a")
	hello.GET("/test", func(c *gin.Context) {
		c.JSONP(http.StatusOK, gin.H{"code": 200, "msg": "ok"})
	})
}

func (*bRouter) Execute(e *gin.Engine) {
	hello := e.Group("/b")
	hello.GET("/test", func(c *gin.Context) {
		c.JSONP(http.StatusOK, gin.H{"code": 200, "msg": "ok"})
	})
}

func main() {
	// 基于gin引擎创建ginx封装路由
	g := ginx.GinDefault()
	g.AddRouter(ARouter, BRouter)
	g.Run(":8080")
}

run

[GIN-debug] GET    /a/test                   --> main.(*aRouter).Execute.func1 (3 handlers)
[GIN-debug] GET    /b/test                   --> main.(*bRouter).Execute.func1 (3 handlers)
[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
[GIN-debug] Listening and serving HTTP on :8080
log

快速构建log并使用zaplog库进行日志处理

package main

import "gitee.com/miajio/go-base-util/pkg/log"

func main() {
	l := log.NewLogger("./log", 256, 10, 7, false)
	lo := l.New(map[string]log.Level{
		"debug.log": log.DebugLevel,
		"info.log":  log.InfoLevel,
		"error.log": log.ErrorLevel,
	})
	lo.Info("test success")
}
jwt

快速构建jwt并使用jwt生成token解析token

package main

import (
	"fmt"
	"time"

	"gitee.com/miajio/go-base-util/pkg/jwt"
)

func main() {
	var params = map[string]string{}
	params["account"] = "miajio"
	params["userName"] = "admin"
	params["unitId"] = "1"
	val, err := jwt.EncryptionToken(params, "test", time.Hour*5)
	if err != nil {
		fmt.Printf("encryption token error: %v", err)
		return
	}
	fmt.Println(val)

	v2, err := jwt.DecryptionToken(val, "test")
	if err != nil {
		fmt.Printf("eecryption token error: %v", err)
		return
	}
	fmt.Println(v2)
}
代码参考

uuid nanoid

参与贡献
特技

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
log

Jump to

Keyboard shortcuts

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