:git:提交git相关

This commit is contained in:
sunxiaolong
2023-11-15 14:31:37 +08:00
parent cc728a2ca6
commit 0e0bc047ae
68 changed files with 1658 additions and 0 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* linguist-language=GO

19
.gitignore vendored Normal file
View File

@@ -0,0 +1,19 @@
.buildpath
.hgignore.swp
.project
.orig
.swp
.idea/
.settings/
.vscode/
bin/
**/.DS_Store
gf
main
main.exe
output/
manifest/output/
temp/
temp.yaml
bin
**/config/config.yaml

6
Makefile Normal file
View File

@@ -0,0 +1,6 @@
ROOT_DIR = $(shell pwd)
NAMESPACE = "default"
DEPLOY_NAME = "template-single"
DOCKER_NAME = "template-single"
include ./hack/hack.mk

4
README.MD Normal file
View File

@@ -0,0 +1,4 @@
# GoFrame Template For SingleRepo
Quick Start:
- https://goframe.org/pages/viewpage.action?pageId=1114399

15
api/common/common.go Normal file
View File

@@ -0,0 +1,15 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package common
import (
"context"
"kami/api/common/v1"
)
type ICommonV1 interface {
GetCaptcha(ctx context.Context, req *v1.GetCaptchaReq) (res *v1.GetCaptchaRes, err error)
}

13
api/common/v1/captcha.go Normal file
View File

@@ -0,0 +1,13 @@
package v1
import "github.com/gogf/gf/v2/frame/g"
type GetCaptchaReq struct {
g.Meta `path:"/captcha" tags:"验证码接口" method:"get" summary:"获取验证码接口"`
}
type GetCaptchaRes struct {
g.Meta `mime:"text/*"`
Key string `json:"key"`
Img string `json:"img"`
}

View File

@@ -0,0 +1,16 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package user_center
import (
"context"
"kami/api/user_center/v1"
)
type IUserCenterV1 interface {
Login(ctx context.Context, req *v1.LoginReq) (res *v1.LoginRes, err error)
Logout(ctx context.Context, req *v1.LogoutReq) (res *v1.LogoutRes, err error)
}

View File

@@ -0,0 +1,16 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package user_center
import (
"context"
"kami/api/user_center/v1"
)
type IUserLoginV1 interface {
Login(ctx context.Context, req *v1.LoginReq) (res *v1.LoginRes, err error)
Logout(ctx context.Context, req *v1.LogoutReq) (res *v1.LogoutRes, err error)
}

View File

@@ -0,0 +1,19 @@
package v1
import "github.com/gogf/gf/v2/frame/g"
type LoginReq struct {
g.Meta `path:"/user_center" tags:"登录" method:"post" summary:"用户登录接口"`
}
type LoginRes struct {
g.Meta `mime:"application/json"`
}
type LogoutReq struct {
g.Meta `path:"/logout" tags:"退出登录" method:"post" summary:"用户退出登录接口"`
}
type LogoutRes struct {
g.Meta `mime:"application/json"`
}

32
go.mod Normal file
View File

@@ -0,0 +1,32 @@
module kami
go 1.18
require github.com/gogf/gf/v2 v2.5.2
require (
github.com/BurntSushi/toml v1.2.0 // indirect
github.com/clbanning/mxj/v2 v2.7.0 // indirect
github.com/fatih/color v1.15.0 // indirect
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/go-logr/logr v1.2.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
github.com/gorilla/websocket v1.5.0 // indirect
github.com/grokify/html-strip-tags-go v0.0.1 // indirect
github.com/magiconair/properties v1.8.6 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.19 // indirect
github.com/mattn/go-runewidth v0.0.15 // indirect
github.com/mojocn/base64Captcha v1.3.5 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect
github.com/rivo/uniseg v0.4.4 // indirect
go.opentelemetry.io/otel v1.14.0 // indirect
go.opentelemetry.io/otel/sdk v1.14.0 // indirect
go.opentelemetry.io/otel/trace v1.14.0 // indirect
golang.org/x/image v0.14.0 // indirect
golang.org/x/net v0.12.0 // indirect
golang.org/x/sys v0.10.0 // indirect
golang.org/x/text v0.14.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

67
go.sum Normal file
View File

@@ -0,0 +1,67 @@
github.com/BurntSushi/toml v1.2.0 h1:Rt8g24XnyGTyglgET/PRUNlrUeu9F5L+7FilkXfZgs0=
github.com/BurntSushi/toml v1.2.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
github.com/clbanning/mxj/v2 v2.7.0 h1:WA/La7UGCanFe5NpHF0Q3DNtnCsVoxbPKuyBNHWRyME=
github.com/clbanning/mxj/v2 v2.7.0/go.mod h1:hNiWqW14h+kc+MdF9C6/YoRfjEJoR3ou6tn/Qo+ve2s=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/gogf/gf/v2 v2.5.2 h1:fACJE7DJH6iTGHGhgiNY1uuZIZtr2IqQkJ52E+wBnt8=
github.com/gogf/gf/v2 v2.5.2/go.mod h1:7yf5qp0BznfsYx7Sw49m3mQvBsHpwAjJk3Q9ZnKoUEc=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/grokify/html-strip-tags-go v0.0.1 h1:0fThFwLbW7P/kOiTBs03FsJSV9RM2M/Q/MOnCQxKMo0=
github.com/grokify/html-strip-tags-go v0.0.1/go.mod h1:2Su6romC5/1VXOQMaWL2yb618ARB8iVo6/DR99A6d78=
github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo=
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mojocn/base64Captcha v1.3.5 h1:Qeilr7Ta6eDtG4S+tQuZ5+hO+QHbiGAJdi4PfoagaA0=
github.com/mojocn/base64Captcha v1.3.5/go.mod h1:/tTTXn4WTpX9CfrmipqRytCpJ27Uw3G6I7NcP2WwcmY=
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis=
github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
go.opentelemetry.io/otel v1.14.0 h1:/79Huy8wbf5DnIPhemGB+zEPVwnN6fuQybr/SRXa6hM=
go.opentelemetry.io/otel v1.14.0/go.mod h1:o4buv+dJzx8rohcUeRmWUZhqupFvzWis188WlggnNeU=
go.opentelemetry.io/otel/sdk v1.14.0 h1:PDCppFRDq8A1jL9v6KMI6dYesaq+DFcDZvjsoGvxGzY=
go.opentelemetry.io/otel/sdk v1.14.0/go.mod h1:bwIC5TjrNG6QDCHNWvW4HLHtUQ4I+VQDsnjhvyZCALM=
go.opentelemetry.io/otel/trace v1.14.0 h1:wp2Mmvj41tDsyAJXiWDWpfNsOiIyd38fy85pyKcFq/M=
go.opentelemetry.io/otel/trace v1.14.0/go.mod h1:8avnQLK+CG77yNLUae4ea2JDQ6iT+gozhnZjy/rw9G8=
golang.org/x/image v0.0.0-20190501045829-6d32002ffd75/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.14.0 h1:tNgSxAFe3jC4uYqvZdTr84SZoM1KfwdC9SKIFrLjFn4=
golang.org/x/image v0.14.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE=
golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50=
golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA=
golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4=
golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

11
hack/config.yaml Normal file
View File

@@ -0,0 +1,11 @@
gfcli:
docker:
build: "-a amd64 -s linux -p temp -ew"
tagPrefixes:
- my.image.pub/my-app
gen:
dao:
- link: "mysql:root:123456@tcp(127.0.0.1:3306)/kami_v2"
descriptionTag: true
noModelComment: true
path: "./internal"

19
hack/hack-cli.mk Normal file
View File

@@ -0,0 +1,19 @@
# Install/Update to the latest CLI tool.
.PHONY: cli
cli:
@set -e; \
wget -O gf https://github.com/gogf/gf/releases/latest/download/gf_$(shell go env GOOS)_$(shell go env GOARCH) && \
chmod +x gf && \
./gf install -y && \
rm ./gf
# Check and install CLI tool.
.PHONY: cli.install
cli.install:
@set -e; \
gf -v > /dev/null 2>&1 || if [[ "$?" -ne "0" ]]; then \
echo "GoFame CLI is not installed, start proceeding auto installation..."; \
make cli; \
fi;

75
hack/hack.mk Normal file
View File

@@ -0,0 +1,75 @@
include ./hack/hack-cli.mk
# Update GoFrame and its CLI to latest stable version.
.PHONY: up
up: cli.install
@gf up -a
# Build binary using configuration from hack/config.yaml.
.PHONY: build
build: cli.install
@gf build -ew
# Parse api and generate controller/sdk.
.PHONY: ctrl
ctrl: cli.install
@gf gen ctrl
# Generate Go files for DAO/DO/Entity.
.PHONY: dao
dao: cli.install
@gf gen dao
# Parse current project go files and generate enums go file.
.PHONY: enums
enums: cli.install
@gf gen enums
# Generate Go files for Service.
.PHONY: service
service: cli.install
@gf gen service
# Build docker image.
.PHONY: image
image: cli.install
$(eval _TAG = $(shell git describe --dirty --always --tags --abbrev=8 --match 'v*' | sed 's/-/./2' | sed 's/-/./2'))
ifneq (, $(shell git status --porcelain 2>/dev/null))
$(eval _TAG = $(_TAG).dirty)
endif
$(eval _TAG = $(if ${TAG}, ${TAG}, $(_TAG)))
$(eval _PUSH = $(if ${PUSH}, ${PUSH}, ))
@gf docker ${_PUSH} -tn $(DOCKER_NAME):${_TAG};
# Build docker image and automatically push to docker repo.
.PHONY: image.push
image.push:
@make image PUSH=-p;
# Deploy image and yaml to current kubectl environment.
.PHONY: deploy
deploy:
$(eval _TAG = $(if ${TAG}, ${TAG}, develop))
@set -e; \
mkdir -p $(ROOT_DIR)/temp/kustomize;\
cd $(ROOT_DIR)/manifest/deploy/kustomize/overlays/${_ENV};\
kustomize build > $(ROOT_DIR)/temp/kustomize.yaml;\
kubectl apply -f $(ROOT_DIR)/temp/kustomize.yaml; \
if [ $(DEPLOY_NAME) != "" ]; then \
kubectl patch -n $(NAMESPACE) deployment/$(DEPLOY_NAME) -p "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"$(shell date +%s)\"}}}}}"; \
fi;
# Parsing protobuf files and generating go files.
.PHONY: pb
pb: cli.install
@gf gen pb
# Generate protobuf files for database tables.
.PHONY: pbentity
pbentity: cli.install
@gf gen pbentity

31
internal/cmd/cmd.go Normal file
View File

@@ -0,0 +1,31 @@
package cmd
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/net/ghttp"
"github.com/gogf/gf/v2/os/gcmd"
"kami/internal/controller/common"
"kami/internal/controller/user_center"
)
var (
Main = gcmd.Command{
Name: "main",
Usage: "main",
Brief: "start http server",
Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
s := g.Server()
s.Group("/", func(group *ghttp.RouterGroup) {
})
s.Group("/api", func(group *ghttp.RouterGroup) {
group.Middleware(ghttp.MiddlewareHandlerResponse)
group.Bind(common.NewV1())
group.Bind(user_center.NewV1())
})
s.Run()
return nil
},
}
)

View File

@@ -0,0 +1 @@
package consts

View File

@@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package common

View File

@@ -0,0 +1,15 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package common
import (
"kami/api/common"
)
type ControllerV1 struct{}
func NewV1() common.ICommonV1 {
return &ControllerV1{}
}

View File

@@ -0,0 +1,25 @@
package common
import (
"context"
"kami/internal/service"
"kami/api/common/v1"
)
func (c *ControllerV1) GetCaptcha(ctx context.Context, req *v1.GetCaptchaReq) (res *v1.GetCaptchaRes, err error) {
var (
idKeyC, base64stringC string
)
idKeyC, base64stringC, err = service.Captcha().GetVerifyImgString(ctx)
if err != nil {
return
}
res = &v1.GetCaptchaRes{
Key: idKeyC,
Img: base64stringC,
}
return
}

View File

@@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package user_center

View File

@@ -0,0 +1,15 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package user_center
import (
"kami/api/user_center"
)
type ControllerV1 struct{}
func NewV1() user_center.IUserCenterV1 {
return &ControllerV1{}
}

View File

@@ -0,0 +1,14 @@
package user_center
import (
"context"
"github.com/gogf/gf/v2/errors/gcode"
"github.com/gogf/gf/v2/errors/gerror"
"kami/api/user_center/v1"
)
func (c *ControllerV1) Login(ctx context.Context, req *v1.LoginReq) (res *v1.LoginRes, err error) {
return nil, gerror.NewCode(gcode.CodeNotImplemented)
}

View File

@@ -0,0 +1,14 @@
package user_center
import (
"context"
"github.com/gogf/gf/v2/errors/gcode"
"github.com/gogf/gf/v2/errors/gerror"
"kami/api/user_center/v1"
)
func (c *ControllerV1) Logout(ctx context.Context, req *v1.LogoutReq) (res *v1.LogoutRes, err error) {
return nil, gerror.NewCode(gcode.CodeNotImplemented)
}

0
internal/dao/.gitkeep Normal file
View File

View File

@@ -0,0 +1,125 @@
// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================
package internal
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
)
// RoadInfoDao is the data access object for table road_info.
type RoadInfoDao struct {
table string // table is the underlying table name of the DAO.
group string // group is the database configuration group name of current DAO.
columns RoadInfoColumns // columns contains all the column names of Table for convenient usage.
}
// RoadInfoColumns defines and stores column names for table road_info.
type RoadInfoColumns struct {
Id string // 主键,自增
Status string //
RoadName string // 通道名称
RoadUid string // 通道唯一id
Remark string // 备注
ProductName string // 上游产品名称
ProductUid string // 上游产品编号
BasicFee string // 基本汇率/成本汇率
SettleFee string // 代付手续费
TotalLimit string // 通道总额度
TodayLimit string // 每日最多额度
SingleMinLimit string // 单笔最小金额
SingleMaxLimit string // 单笔最大金额
StarHour string // 通道开始时间
EndHour string // 通道结束时间
Params string // 参数json格式
TodayIncome string // 当天的收入
TotalIncome string // 通道总收入
TodayProfit string // 当天的收益
TotalProfit string // 通道总收益
Balance string // 通道的余额
RequestAll string // 请求总次数
RequestSuccess string // 请求成功次数
UpdateTime string // 更新时间
CreateTime string // 创建时间
TodayRequestAll string //
TodayRequestSuccess string //
}
// roadInfoColumns holds the columns for table road_info.
var roadInfoColumns = RoadInfoColumns{
Id: "id",
Status: "status",
RoadName: "road_name",
RoadUid: "road_uid",
Remark: "remark",
ProductName: "product_name",
ProductUid: "product_uid",
BasicFee: "basic_fee",
SettleFee: "settle_fee",
TotalLimit: "total_limit",
TodayLimit: "today_limit",
SingleMinLimit: "single_min_limit",
SingleMaxLimit: "single_max_limit",
StarHour: "star_hour",
EndHour: "end_hour",
Params: "params",
TodayIncome: "today_income",
TotalIncome: "total_income",
TodayProfit: "today_profit",
TotalProfit: "total_profit",
Balance: "balance",
RequestAll: "request_all",
RequestSuccess: "request_success",
UpdateTime: "update_time",
CreateTime: "create_time",
TodayRequestAll: "today_request_all",
TodayRequestSuccess: "today_request_success",
}
// NewRoadInfoDao creates and returns a new DAO object for table data access.
func NewRoadInfoDao() *RoadInfoDao {
return &RoadInfoDao{
group: "default",
table: "road_info",
columns: roadInfoColumns,
}
}
// DB retrieves and returns the underlying raw database management object of current DAO.
func (dao *RoadInfoDao) DB() gdb.DB {
return g.DB(dao.group)
}
// Table returns the table name of current dao.
func (dao *RoadInfoDao) Table() string {
return dao.table
}
// Columns returns all column names of current dao.
func (dao *RoadInfoDao) Columns() RoadInfoColumns {
return dao.columns
}
// Group returns the configuration group name of database of current dao.
func (dao *RoadInfoDao) Group() string {
return dao.group
}
// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
func (dao *RoadInfoDao) Ctx(ctx context.Context) *gdb.Model {
return dao.DB().Model(dao.table).Safe().Ctx(ctx)
}
// Transaction wraps the transaction logic using function f.
// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
// It commits the transaction and returns nil if function f returns nil.
//
// Note that, you should not Commit or Rollback the transaction in function f
// as it is automatically handled by this function.
func (dao *RoadInfoDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
return dao.Ctx(ctx).Transaction(ctx, f)
}

View File

@@ -0,0 +1,95 @@
// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================
package internal
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
)
// SysAuthRuleDao is the data access object for table sys_auth_rule.
type SysAuthRuleDao struct {
table string // table is the underlying table name of the DAO.
group string // group is the database configuration group name of current DAO.
columns SysAuthRuleColumns // columns contains all the column names of Table for convenient usage.
}
// SysAuthRuleColumns defines and stores column names for table sys_auth_rule.
type SysAuthRuleColumns struct {
Id string //
Pid string // 父ID
Name string // 规则名称
Title string // 规则名称
MenuType string // 类型 0目录 1菜单 2按钮
Weigh string // 权重
IsHide string // 显示状态
Path string // 路由地址
Component string // 组件路径
CreatedAt string // 创建日期
UpdatedAt string // 修改日期
IdAdmin string // 是否管理员独享 1是2.否
}
// sysAuthRuleColumns holds the columns for table sys_auth_rule.
var sysAuthRuleColumns = SysAuthRuleColumns{
Id: "id",
Pid: "pid",
Name: "name",
Title: "title",
MenuType: "menu_type",
Weigh: "weigh",
IsHide: "is_hide",
Path: "path",
Component: "component",
CreatedAt: "created_at",
UpdatedAt: "updated_at",
IdAdmin: "id_admin",
}
// NewSysAuthRuleDao creates and returns a new DAO object for table data access.
func NewSysAuthRuleDao() *SysAuthRuleDao {
return &SysAuthRuleDao{
group: "default",
table: "sys_auth_rule",
columns: sysAuthRuleColumns,
}
}
// DB retrieves and returns the underlying raw database management object of current DAO.
func (dao *SysAuthRuleDao) DB() gdb.DB {
return g.DB(dao.group)
}
// Table returns the table name of current dao.
func (dao *SysAuthRuleDao) Table() string {
return dao.table
}
// Columns returns all column names of current dao.
func (dao *SysAuthRuleDao) Columns() SysAuthRuleColumns {
return dao.columns
}
// Group returns the configuration group name of database of current dao.
func (dao *SysAuthRuleDao) Group() string {
return dao.group
}
// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
func (dao *SysAuthRuleDao) Ctx(ctx context.Context) *gdb.Model {
return dao.DB().Model(dao.table).Safe().Ctx(ctx)
}
// Transaction wraps the transaction logic using function f.
// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
// It commits the transaction and returns nil if function f returns nil.
//
// Note that, you should not Commit or Rollback the transaction in function f
// as it is automatically handled by this function.
func (dao *SysAuthRuleDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
return dao.Ctx(ctx).Transaction(ctx, f)
}

View File

@@ -0,0 +1,87 @@
// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================
package internal
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
)
// UserDao is the data access object for table user.
type UserDao struct {
table string // table is the underlying table name of the DAO.
group string // group is the database configuration group name of current DAO.
columns UserColumns // columns contains all the column names of Table for convenient usage.
}
// UserColumns defines and stores column names for table user.
type UserColumns struct {
Id string // ID
Username string // 账号
Password string // 密码
IsAdmin string // 是否是管理员
Phone string // 手机号
CreatedAt string //
UpdatedAt string //
DeletedAt string //
}
// userColumns holds the columns for table user.
var userColumns = UserColumns{
Id: "id",
Username: "username",
Password: "password",
IsAdmin: "is_admin",
Phone: "phone",
CreatedAt: "created_at",
UpdatedAt: "updated_at",
DeletedAt: "deleted_at",
}
// NewUserDao creates and returns a new DAO object for table data access.
func NewUserDao() *UserDao {
return &UserDao{
group: "default",
table: "user",
columns: userColumns,
}
}
// DB retrieves and returns the underlying raw database management object of current DAO.
func (dao *UserDao) DB() gdb.DB {
return g.DB(dao.group)
}
// Table returns the table name of current dao.
func (dao *UserDao) Table() string {
return dao.table
}
// Columns returns all column names of current dao.
func (dao *UserDao) Columns() UserColumns {
return dao.columns
}
// Group returns the configuration group name of database of current dao.
func (dao *UserDao) Group() string {
return dao.group
}
// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
func (dao *UserDao) Ctx(ctx context.Context) *gdb.Model {
return dao.DB().Model(dao.table).Safe().Ctx(ctx)
}
// Transaction wraps the transaction logic using function f.
// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
// It commits the transaction and returns nil if function f returns nil.
//
// Note that, you should not Commit or Rollback the transaction in function f
// as it is automatically handled by this function.
func (dao *UserDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
return dao.Ctx(ctx).Transaction(ctx, f)
}

View File

@@ -0,0 +1,83 @@
// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================
package internal
import (
"context"
"github.com/gogf/gf/v2/database/gdb"
"github.com/gogf/gf/v2/frame/g"
)
// UserLoginLogDao is the data access object for table user_login_log.
type UserLoginLogDao struct {
table string // table is the underlying table name of the DAO.
group string // group is the database configuration group name of current DAO.
columns UserLoginLogColumns // columns contains all the column names of Table for convenient usage.
}
// UserLoginLogColumns defines and stores column names for table user_login_log.
type UserLoginLogColumns struct {
Id string //
UserId string //
LoginTime string // 登录时间
LoginIp string // 登录IP
LoginLocation string // 登录地点
CreatedAt string //
}
// userLoginLogColumns holds the columns for table user_login_log.
var userLoginLogColumns = UserLoginLogColumns{
Id: "id",
UserId: "user_id",
LoginTime: "login_time",
LoginIp: "login_ip",
LoginLocation: "login_location",
CreatedAt: "created_at",
}
// NewUserLoginLogDao creates and returns a new DAO object for table data access.
func NewUserLoginLogDao() *UserLoginLogDao {
return &UserLoginLogDao{
group: "default",
table: "user_login_log",
columns: userLoginLogColumns,
}
}
// DB retrieves and returns the underlying raw database management object of current DAO.
func (dao *UserLoginLogDao) DB() gdb.DB {
return g.DB(dao.group)
}
// Table returns the table name of current dao.
func (dao *UserLoginLogDao) Table() string {
return dao.table
}
// Columns returns all column names of current dao.
func (dao *UserLoginLogDao) Columns() UserLoginLogColumns {
return dao.columns
}
// Group returns the configuration group name of database of current dao.
func (dao *UserLoginLogDao) Group() string {
return dao.group
}
// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
func (dao *UserLoginLogDao) Ctx(ctx context.Context) *gdb.Model {
return dao.DB().Model(dao.table).Safe().Ctx(ctx)
}
// Transaction wraps the transaction logic using function f.
// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
// It commits the transaction and returns nil if function f returns nil.
//
// Note that, you should not Commit or Rollback the transaction in function f
// as it is automatically handled by this function.
func (dao *UserLoginLogDao) Transaction(ctx context.Context, f func(ctx context.Context, tx gdb.TX) error) (err error) {
return dao.Ctx(ctx).Transaction(ctx, f)
}

27
internal/dao/road_info.go Normal file
View File

@@ -0,0 +1,27 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package dao
import (
"kami/internal/dao/internal"
)
// internalRoadInfoDao is internal type for wrapping internal DAO implements.
type internalRoadInfoDao = *internal.RoadInfoDao
// roadInfoDao is the data access object for table road_info.
// You can define custom methods on it to extend its functionality as you wish.
type roadInfoDao struct {
internalRoadInfoDao
}
var (
// RoadInfo is globally public accessible object for table road_info operations.
RoadInfo = roadInfoDao{
internal.NewRoadInfoDao(),
}
)
// Fill with you ideas below.

View File

@@ -0,0 +1,27 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package dao
import (
"kami/internal/dao/internal"
)
// internalSysAuthRuleDao is internal type for wrapping internal DAO implements.
type internalSysAuthRuleDao = *internal.SysAuthRuleDao
// sysAuthRuleDao is the data access object for table sys_auth_rule.
// You can define custom methods on it to extend its functionality as you wish.
type sysAuthRuleDao struct {
internalSysAuthRuleDao
}
var (
// SysAuthRule is globally public accessible object for table sys_auth_rule operations.
SysAuthRule = sysAuthRuleDao{
internal.NewSysAuthRuleDao(),
}
)
// Fill with you ideas below.

27
internal/dao/user.go Normal file
View File

@@ -0,0 +1,27 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package dao
import (
"kami/internal/dao/internal"
)
// internalUserDao is internal type for wrapping internal DAO implements.
type internalUserDao = *internal.UserDao
// userDao is the data access object for table user.
// You can define custom methods on it to extend its functionality as you wish.
type userDao struct {
internalUserDao
}
var (
// User is globally public accessible object for table user operations.
User = userDao{
internal.NewUserDao(),
}
)
// Fill with you ideas below.

View File

@@ -0,0 +1,27 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package dao
import (
"kami/internal/dao/internal"
)
// internalUserLoginLogDao is internal type for wrapping internal DAO implements.
type internalUserLoginLogDao = *internal.UserLoginLogDao
// userLoginLogDao is the data access object for table user_login_log.
// You can define custom methods on it to extend its functionality as you wish.
type userLoginLogDao struct {
internalUserLoginLogDao
}
var (
// UserLoginLog is globally public accessible object for table user_login_log operations.
UserLoginLog = userLoginLogDao{
internal.NewUserLoginLogDao(),
}
)
// Fill with you ideas below.

0
internal/logic/.gitkeep Normal file
View File

9
internal/logic/logic.go Normal file
View File

@@ -0,0 +1,9 @@
// ==========================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// ==========================================================================
package logic
import (
_ "kami/internal/logic/captcha"
)

View File

@@ -24,6 +24,8 @@ func (c *sUserCenter) Login(ctx context.Context, userInfo entity.User) (err erro
return
}
return
}
func (c *sUserCenter) checkPassword(oldPassword, newPassword string) {

0
internal/model/.gitkeep Normal file
View File

View File

View File

@@ -0,0 +1,42 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package do
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// RoadInfo is the golang structure of table road_info for DAO operations like Where/Data.
type RoadInfo struct {
g.Meta `orm:"table:road_info, do:true"`
Id interface{} // 主键,自增
Status interface{} //
RoadName interface{} // 通道名称
RoadUid interface{} // 通道唯一id
Remark interface{} // 备注
ProductName interface{} // 上游产品名称
ProductUid interface{} // 上游产品编号
BasicFee interface{} // 基本汇率/成本汇率
SettleFee interface{} // 代付手续费
TotalLimit interface{} // 通道总额度
TodayLimit interface{} // 每日最多额度
SingleMinLimit interface{} // 单笔最小金额
SingleMaxLimit interface{} // 单笔最大金额
StarHour interface{} // 通道开始时间
EndHour interface{} // 通道结束时间
Params interface{} // 参数json格式
TodayIncome interface{} // 当天的收入
TotalIncome interface{} // 通道总收入
TodayProfit interface{} // 当天的收益
TotalProfit interface{} // 通道总收益
Balance interface{} // 通道的余额
RequestAll interface{} // 请求总次数
RequestSuccess interface{} // 请求成功次数
UpdateTime *gtime.Time // 更新时间
CreateTime *gtime.Time // 创建时间
TodayRequestAll interface{} //
TodayRequestSuccess interface{} //
}

View File

@@ -0,0 +1,27 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package do
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// SysAuthRule is the golang structure of table sys_auth_rule for DAO operations like Where/Data.
type SysAuthRule struct {
g.Meta `orm:"table:sys_auth_rule, do:true"`
Id interface{} //
Pid interface{} // 父ID
Name interface{} // 规则名称
Title interface{} // 规则名称
MenuType interface{} // 类型 0目录 1菜单 2按钮
Weigh interface{} // 权重
IsHide interface{} // 显示状态
Path interface{} // 路由地址
Component interface{} // 组件路径
CreatedAt *gtime.Time // 创建日期
UpdatedAt *gtime.Time // 修改日期
IdAdmin interface{} // 是否管理员独享 1是2.否
}

23
internal/model/do/user.go Normal file
View File

@@ -0,0 +1,23 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package do
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// User is the golang structure of table user for DAO operations like Where/Data.
type User struct {
g.Meta `orm:"table:user, do:true"`
Id interface{} // ID
Username interface{} // 账号
Password interface{} // 密码
IsAdmin interface{} // 是否是管理员
Phone interface{} // 手机号
CreatedAt *gtime.Time //
UpdatedAt *gtime.Time //
DeletedAt *gtime.Time //
}

View File

@@ -0,0 +1,21 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package do
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gtime"
)
// UserLoginLog is the golang structure of table user_login_log for DAO operations like Where/Data.
type UserLoginLog struct {
g.Meta `orm:"table:user_login_log, do:true"`
Id interface{} //
UserId interface{} //
LoginTime *gtime.Time // 登录时间
LoginIp interface{} // 登录IP
LoginLocation interface{} // 登录地点
CreatedAt interface{} //
}

View File

View File

@@ -0,0 +1,40 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package entity
import (
"github.com/gogf/gf/v2/os/gtime"
)
// RoadInfo is the golang structure for table road_info.
type RoadInfo struct {
Id uint `json:"id" description:"主键,自增"`
Status string `json:"status" description:""`
RoadName string `json:"roadName" description:"通道名称"`
RoadUid string `json:"roadUid" description:"通道唯一id"`
Remark string `json:"remark" description:"备注"`
ProductName string `json:"productName" description:"上游产品名称"`
ProductUid string `json:"productUid" description:"上游产品编号"`
BasicFee float64 `json:"basicFee" description:"基本汇率/成本汇率"`
SettleFee float64 `json:"settleFee" description:"代付手续费"`
TotalLimit float64 `json:"totalLimit" description:"通道总额度"`
TodayLimit float64 `json:"todayLimit" description:"每日最多额度"`
SingleMinLimit float64 `json:"singleMinLimit" description:"单笔最小金额"`
SingleMaxLimit float64 `json:"singleMaxLimit" description:"单笔最大金额"`
StarHour int `json:"starHour" description:"通道开始时间"`
EndHour int `json:"endHour" description:"通道结束时间"`
Params string `json:"params" description:"参数json格式"`
TodayIncome float64 `json:"todayIncome" description:"当天的收入"`
TotalIncome float64 `json:"totalIncome" description:"通道总收入"`
TodayProfit float64 `json:"todayProfit" description:"当天的收益"`
TotalProfit float64 `json:"totalProfit" description:"通道总收益"`
Balance float64 `json:"balance" description:"通道的余额"`
RequestAll int `json:"requestAll" description:"请求总次数"`
RequestSuccess int `json:"requestSuccess" description:"请求成功次数"`
UpdateTime *gtime.Time `json:"updateTime" description:"更新时间"`
CreateTime *gtime.Time `json:"createTime" description:"创建时间"`
TodayRequestAll int `json:"todayRequestAll" description:""`
TodayRequestSuccess int `json:"todayRequestSuccess" description:""`
}

View File

@@ -0,0 +1,25 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package entity
import (
"github.com/gogf/gf/v2/os/gtime"
)
// SysAuthRule is the golang structure for table sys_auth_rule.
type SysAuthRule struct {
Id uint `json:"id" description:""`
Pid uint `json:"pid" description:"父ID"`
Name string `json:"name" description:"规则名称"`
Title string `json:"title" description:"规则名称"`
MenuType uint `json:"menuType" description:"类型 0目录 1菜单 2按钮"`
Weigh int `json:"weigh" description:"权重"`
IsHide uint `json:"isHide" description:"显示状态"`
Path string `json:"path" description:"路由地址"`
Component string `json:"component" description:"组件路径"`
CreatedAt *gtime.Time `json:"createdAt" description:"创建日期"`
UpdatedAt *gtime.Time `json:"updatedAt" description:"修改日期"`
IdAdmin int `json:"idAdmin" description:"是否管理员独享 1是2.否"`
}

View File

@@ -0,0 +1,21 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package entity
import (
"github.com/gogf/gf/v2/os/gtime"
)
// User is the golang structure for table user.
type User struct {
Id string `json:"id" description:"ID"`
Username string `json:"username" description:"账号"`
Password string `json:"password" description:"密码"`
IsAdmin int `json:"isAdmin" description:"是否是管理员"`
Phone string `json:"phone" description:"手机号"`
CreatedAt *gtime.Time `json:"createdAt" description:""`
UpdatedAt *gtime.Time `json:"updatedAt" description:""`
DeletedAt *gtime.Time `json:"deletedAt" description:""`
}

View File

@@ -0,0 +1,19 @@
// =================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// =================================================================================
package entity
import (
"github.com/gogf/gf/v2/os/gtime"
)
// UserLoginLog is the golang structure for table user_login_log.
type UserLoginLog struct {
Id int `json:"id" description:""`
UserId string `json:"userId" description:""`
LoginTime *gtime.Time `json:"loginTime" description:"登录时间"`
LoginIp string `json:"loginIp" description:"登录IP"`
LoginLocation string `json:"loginLocation" description:"登录地点"`
CreatedAt string `json:"createdAt" description:""`
}

View File

@@ -0,0 +1 @@
package packed

View File

View File

@@ -0,0 +1,32 @@
// ================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// You can delete these comments if you wish manually maintain this interface file.
// ================================================================================
package service
import "context"
type (
ICaptcha interface {
// GetVerifyImgString 获取字母数字混合验证码
GetVerifyImgString(ctx context.Context) (idKeyC string, base64stringC string, err error)
// VerifyString 验证输入的验证码是否正确
VerifyString(id, answer string) bool
}
)
var (
localCaptcha ICaptcha
)
func Captcha() ICaptcha {
if localCaptcha == nil {
panic("implement not found for interface ICaptcha, forgot register?")
}
return localCaptcha
}
func RegisterCaptcha(i ICaptcha) {
localCaptcha = i
}

15
main.go Normal file
View File

@@ -0,0 +1,15 @@
package main
import (
_ "kami/internal/packed"
_ "kami/internal/logic"
"github.com/gogf/gf/v2/os/gctx"
"kami/internal/cmd"
)
func main() {
cmd.Main.Run(gctx.GetInitCtx())
}

View File

@@ -0,0 +1,21 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: template-single
labels:
app: template-single
spec:
replicas: 1
selector:
matchLabels:
app: template-single
template:
metadata:
labels:
app: template-single
spec:
containers:
- name : main
image: template-single
imagePullPolicy: Always

View File

@@ -0,0 +1,8 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: template-single
spec:
ports:
- port: 80
protocol: TCP
targetPort: 8000
selector:
app: template-single

View File

@@ -0,0 +1,14 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: template-single-configmap
data:
config.yaml: |
server:
address: ":8000"
openapiPath: "/api.json"
swaggerPath: "/swagger"
logger:
level : "all"
stdout: true

View File

@@ -0,0 +1,10 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: template-single
spec:
template:
spec:
containers:
- name : main
image: template-single:develop

View File

@@ -0,0 +1,14 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- ../../base
- configmap.yaml
patchesStrategicMerge:
- deployment.yaml
namespace: default

View File

@@ -0,0 +1,16 @@
FROM loads/alpine:3.8
###############################################################################
# INSTALLATION
###############################################################################
ENV WORKDIR /app
ADD resource $WORKDIR/
ADD ./temp/linux_amd64/main $WORKDIR/main
RUN chmod +x $WORKDIR/main
###############################################################################
# START
###############################################################################
WORKDIR $WORKDIR
CMD ./main

View File

@@ -0,0 +1,8 @@
#!/bin/bash
# This shell is executed before docker build.

0
manifest/i18n/.gitkeep Normal file
View File

View File

View File

@@ -0,0 +1,342 @@
2023-11-15 14:10:41.756 [INFO] pid[16796]: http server started listening on [:8000]
2023-11-15 14:10:41.756 [INFO] {d0f99c913fb497170f994a6806b04bb8} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:10:41.757 [INFO] {d0f99c913fb497170f994a6806b04bb8} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:11:05.123 [INFO] pid[22688]: http server started listening on [:8000]
2023-11-15 14:11:05.123 [INFO] {3c5eb1110fb797176dea761773b7b470} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:11:05.124 [INFO] {3c5eb1110fb797176dea761773b7b470} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:11:41.732 [INFO] pid[708]: http server started listening on [:8000]
2023-11-15 14:11:41.732 [INFO] {3c5eb1110fb797176dea761773b7b470} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:11:41.732 [INFO] {3c5eb1110fb797176dea761773b7b470} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:13:56.278 [INFO] pid[13340]: http server started listening on [:8000]
2023-11-15 14:13:56.278 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:13:56.279 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:14:19.177 [INFO] pid[25580]: http server started listening on [:8000]
2023-11-15 14:14:19.177 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:14:19.178 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:14:39.369 [INFO] pid[3328]: http server started listening on [:8000]
2023-11-15 14:14:39.369 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:14:39.370 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|--------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|--------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|--------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /api/captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|--------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|--------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:14:56.442 [FATA] {d01c1bec36b79717605ca17f2d723cc3} duplicated route registry "/getCaptcha@default" at D:/docs/projects/kami/kami_backend/internal/cmd/cmd.go:25 , already registered at D:/docs/projects/kami/kami_backend/internal/cmd/cmd.go:20
Stack:
1. github.com/gogf/gf/v2/net/ghttp.(*Server).doSetHandler
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_router.go:166
2. github.com/gogf/gf/v2/net/ghttp.(*Server).setHandler
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_router.go:124
3. github.com/gogf/gf/v2/net/ghttp.(*Server).bindHandlerByMap
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_service_handler.go:68
4. github.com/gogf/gf/v2/net/ghttp.(*Server).doBindObject
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_service_object.go:176
5. github.com/gogf/gf/v2/net/ghttp.(*RouterGroup).doBindRoutersToServer
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_router_group.go:391
6. github.com/gogf/gf/v2/net/ghttp.(*Server).handlePreBindItems
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_router_group.go:71
7. github.com/gogf/gf/v2/net/ghttp.(*Server).Start
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server.go:138
8. github.com/gogf/gf/v2/net/ghttp.(*Server).Run
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server.go:423
9. kami/internal/cmd.glob..func1
D:/docs/projects/kami/kami_backend/internal/cmd/cmd.go:27
10. github.com/gogf/gf/v2/os/gcmd.(*Command).doRun
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/os/gcmd/gcmd_command_run.go:149
11. github.com/gogf/gf/v2/os/gcmd.(*Command).RunWithValueError
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/os/gcmd/gcmd_command_run.go:82
12. github.com/gogf/gf/v2/os/gcmd.(*Command).RunWithValue
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/os/gcmd/gcmd_command_run.go:41
13. github.com/gogf/gf/v2/os/gcmd.(*Command).Run
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/os/gcmd/gcmd_command_run.go:35
14. main.main
D:/docs/projects/kami/kami_backend/main.go:14
2023-11-15 14:16:02.417 [FATA] {d01c1bec36b79717605ca17f2d723cc3} duplicated route registry "/getCaptcha@default" at D:/docs/projects/kami/kami_backend/internal/cmd/cmd.go:29 , already registered at D:/docs/projects/kami/kami_backend/internal/cmd/cmd.go:24
Stack:
1. github.com/gogf/gf/v2/net/ghttp.(*Server).doSetHandler
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_router.go:166
2. github.com/gogf/gf/v2/net/ghttp.(*Server).setHandler
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_router.go:124
3. github.com/gogf/gf/v2/net/ghttp.(*Server).bindHandlerByMap
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_service_handler.go:68
4. github.com/gogf/gf/v2/net/ghttp.(*Server).doBindObject
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_service_object.go:176
5. github.com/gogf/gf/v2/net/ghttp.(*RouterGroup).doBindRoutersToServer
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_router_group.go:391
6. github.com/gogf/gf/v2/net/ghttp.(*Server).handlePreBindItems
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server_router_group.go:71
7. github.com/gogf/gf/v2/net/ghttp.(*Server).Start
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server.go:138
8. github.com/gogf/gf/v2/net/ghttp.(*Server).Run
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/net/ghttp/ghttp_server.go:423
9. kami/internal/cmd.glob..func1
D:/docs/projects/kami/kami_backend/internal/cmd/cmd.go:31
10. github.com/gogf/gf/v2/os/gcmd.(*Command).doRun
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/os/gcmd/gcmd_command_run.go:149
11. github.com/gogf/gf/v2/os/gcmd.(*Command).RunWithValueError
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/os/gcmd/gcmd_command_run.go:82
12. github.com/gogf/gf/v2/os/gcmd.(*Command).RunWithValue
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/os/gcmd/gcmd_command_run.go:41
13. github.com/gogf/gf/v2/os/gcmd.(*Command).Run
C:/Users/sunxiaolong/go/pkg/mod/github.com/gogf/gf/v2@v2.5.2/os/gcmd/gcmd_command_run.go:35
14. main.main
D:/docs/projects/kami/kami_backend/main.go:14
2023-11-15 14:17:18.385 [INFO] pid[11668]: http server started listening on [:8000]
2023-11-15 14:17:18.385 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:17:18.386 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /api/captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/logout | kami/internal/controller/user_center.(*ControllerV1).Logout | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/user_center | kami/internal/controller/user_center.(*ControllerV1).Login | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:18:06.187 [INFO] pid[11900]: http server started listening on [:8000]
2023-11-15 14:18:06.187 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:18:06.188 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /api/captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/logout | kami/internal/controller/user_center.(*ControllerV1).Logout | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/user_center | kami/internal/controller/user_center.(*ControllerV1).Login | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:22:00.165 [INFO] pid[16648]: http server started listening on [:8000]
2023-11-15 14:22:00.165 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:22:00.166 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /api/captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/logout | kami/internal/controller/user_center.(*ControllerV1).Logout | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/user_center | kami/internal/controller/user_center.(*ControllerV1).Login | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:23:11.107 [INFO] pid[26008]: http server started listening on [:8000]
2023-11-15 14:23:11.107 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:23:11.107 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /api/captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/logout | kami/internal/controller/user_center.(*ControllerV1).Logout | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/user_center | kami/internal/controller/user_center.(*ControllerV1).Login | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:24:12.521 [INFO] pid[16724]: http server started listening on [:8000]
2023-11-15 14:24:12.521 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:24:12.521 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /api/captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/logout | kami/internal/controller/user_center.(*ControllerV1).Logout | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/user_center | kami/internal/controller/user_center.(*ControllerV1).Login | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:26:09.362 [INFO] pid[7084]: http server started listening on [:8000]
2023-11-15 14:26:09.362 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:26:09.362 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /api/captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/logout | kami/internal/controller/user_center.(*ControllerV1).Logout | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/user_center | kami/internal/controller/user_center.(*ControllerV1).Login | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:28:26.554 [INFO] pid[1596]: http server started listening on [:8000]
2023-11-15 14:28:26.554 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:28:26.555 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /api/captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/logout | kami/internal/controller/user_center.(*ControllerV1).Logout | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/user_center | kami/internal/controller/user_center.(*ControllerV1).Login | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:29:17.217 [INFO] pid[8572]: http server started listening on [:8000]
2023-11-15 14:29:17.217 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:29:17.218 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /api/captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/logout | kami/internal/controller/user_center.(*ControllerV1).Logout | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/user_center | kami/internal/controller/user_center.(*ControllerV1).Login | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:30:57.641 [INFO] pid[29388]: http server started listening on [:8000]
2023-11-15 14:30:57.641 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:30:57.643 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /api/captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/logout | kami/internal/controller/user_center.(*ControllerV1).Logout | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/user_center | kami/internal/controller/user_center.(*ControllerV1).Login | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
2023-11-15 14:31:20.829 [INFO] pid[3376]: http server started listening on [:8000]
2023-11-15 14:31:20.829 [INFO] {d01c1bec36b79717605ca17f2d723cc3} swagger ui is serving at address: http://127.0.0.1:8000/swagger/
2023-11-15 14:31:20.829 [INFO] {d01c1bec36b79717605ca17f2d723cc3} openapi specification is serving at address: http://127.0.0.1:8000/api.json
ADDRESS | METHOD | ROUTE | HANDLER | MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /* | github.com/gogf/gf/v2/net/ghttp.internalMiddlewareServerTracing | GLOBAL MIDDLEWARE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /api.json | github.com/gogf/gf/v2/net/ghttp.(*Server).openapiSpec |
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | GET | /api/captcha | kami/internal/controller/common.(*ControllerV1).GetCaptcha | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/logout | kami/internal/controller/user_center.(*ControllerV1).Logout | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | POST | /api/user_center | kami/internal/controller/user_center.(*ControllerV1).Login | ghttp.MiddlewareHandlerResponse
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------
:8000 | ALL | /swagger/* | github.com/gogf/gf/v2/net/ghttp.(*Server).swaggerUI | HOOK_BEFORE_SERVE
----------|--------|------------------|-----------------------------------------------------------------|----------------------------------

View File

View File

View File

View File

View File

View File

0
utility/.gitkeep Normal file
View File