ginscrew

package module
v1.1.4 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2022 License: MIT Imports: 0 Imported by: 0

README

gin-screw

Secondary packaging based on gin framework

Make gin easier to use

Do you need to customize the validator template?

Do you need a faster way to register routes?

Do you need to use JWT?

Do you need to use zapLog?

I have all these

Make development faster!!!

Install

1、go mod init

2、your project main.go import "github.com/gin-screw/gin-screw/ginx" and "github.com/gin-gonic/gin"

3、go mod tidy

Use
ginx
package main

import (
	"github.com/gin-gonic/gin"
	"github.com/miajio/gin-screw/pkg/ginx"
)

type testRouter struct{}

func (t *testRouter) Execute(c *gin.Engine) {
	c.GET("/", func(c *gin.Context) {
		c.String(200, "Hello World")
	})
}

var TestRouter ginx.Router = (*testRouter)(nil)

func main() {
	ginx.Init(gin.New())
	ginx.AddRouters(
		TestRouter,
	)
	ginx.RouterExecute()
	ginx.Engine().Run(":8088")
}
validate

Built in library developed based on validator to simplify users' use of custom validators

the validate built in

// DeSpace delete space in the val
func DeSpace(val string) string {}

// EnglishLimiter english limiter
func EnglishLimiter(fl validator.FieldLevel) bool {}

// IntegerLimiter positive integer limiter
func IntegerLimiter(fl validator.FieldLevel) bool {}

// NumberLimiter positive number limiter
func NumberLimiter(fl validator.FieldLevel) bool {}

// EqNowDayLimiter equal now day limiter
func EqNowDayLimiter(fl validator.FieldLevel) bool {}

// GtNowDayLimiter greater than now day limiter
func GtNowDayLimiter(fl validator.FieldLevel) bool {}

// LtNowDayLimiter less than now day limiter
func LtNowDayLimiter(fl validator.FieldLevel) bool {}
log
package main

import "github.com/miajio/gin-screw/pkg/log"

func main() {
	lo := map[string]log.Level{
		"debug.log": log.DebugLevel,
		"info.log":  log.InfoLevel,
		"error.log": log.ErrorLevel,
	}
	log.Init("./log", 256, 10, 7, false, lo)
	log.GetLogger().Info("hello")
}
jwt
package main

import (
	"fmt"
	"time"

	"github.com/miajio/gin-screw/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)
}
fileutil

Read() ([]byte, error) // based on reading current file data and return the file bytes

GetPath() string // get the file path

GetName() string // get the file name

GetPrefix() string // get the file prefix name demo: test.abc return test

GetSuffix() string // get the file suffix name demo: test.abc return .abc

Size() int64 // get the file size

IsDir() bool // the file is a folder

MkdirAll(name string) (*File, error) // based on the current folder create a new folder

Remove() error // remove the current file

Rename(name string) error // based on the current file rename to a new file

Move(path string) error // based on the current file move to a new file

Paste(newpath string) error // based on the current file paste to a new file

copyFile(src, dest string) (w int64, err error) // private function to copy file

pathExists(path string) (bool, error) // private function to check file path exists

GetChildren() ([]*File, error) // based on the current folder get all the children files

Clean() // clean the file

Replace(newFile *File) // based on the current file replace to a new file

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
jwt
log

Jump to

Keyboard shortcuts

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