kratosx

package module
v1.0.7 Latest Latest
Warning

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

Go to latest
Published: Jan 22, 2024 License: GPL-3.0 Imports: 23 Imported by: 0

README

Kratosx 基于kratos的二次开发

Installing
go install 安装:
go install github.com/HC74/kratosx/cmd/kratosx/v2@latest
Create a service
# 创建项目模板
kratos new project

cd project

# 如果你的电脑安装了make则运行
make init 可帮你下载代码生成所需要的库及依赖

# 拉取项目依赖
go mod download / go mod tidy

# 运行程序
1. 使用 kratosx run的方式可运行项目,但需要把config目录放置的入口文件目录
2. 使用IDE直接运行 cmd - project - main.go 文件

项目结构

the generated files look like:

├── project
│   ├── api                       // 编写grpc的proto文件
│   │── cmd                       // 程序的执行入口
│   │   └── project
│   │       └── main.go           // 程序入口
│   │── config                    // 配置文件目录
│   │   │── config.go             // 自定义配置文件go
│   │   └── config.yaml           // 配置文件,包含默认配置
│   └── internal
│       ├── model
│       │   └── test.go           // 数据库db文件
│       ├── logic
│       │   ├── logic.go          // 业务逻辑的抽象大类
│       │   └── greeter.go        // 业务逻辑具体的实现,可多个
│       ├── service
│       │   ├── service.go        // 调用底层业务逻辑代码
│       │   └── greeter.go        // 整合业务逻辑抽象
└────────────────────────────────────────────────────End

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(opts ...Option) *kratos.App

Types

type Context

type Context interface {
	Logger() *log.Helper

	Ctx() context.Context

	ID() string
	Name() string
	Version() string
	Metadata() map[string]string
	Config() config.Config
	Endpoint() []string
	DB(name ...string) *gorm.DB
	Redis(name ...string) *redis.Client
	Loader(name string) []byte
	JWT() jwt.Jwt

	Deadline() (deadline time.Time, ok bool)
	Done() <-chan struct{}
	Err() error
	Value(key any) any
}

func MustContext

func MustContext(c context.Context) Context

MustContext returns the Transport value stored in ctx, if any.

type Option

type Option func(o *options)

Option is an application option.

func ConfigPath

func ConfigPath(path string) Option

ConfigPath 文件配置路径,默认为config/config.yaml

func ID

func ID(id string) Option

ID with service id.

func Name

func Name(name string) Option

Name with service name.

func Options

func Options(opts ...kratos.Option) Option

Options kratos option

func RegisterServer

func RegisterServer(service RegisterServerFn) Option

RegisterServer 注册服务

func Version

func Version(version string) Option

Version with service version.

type RegisterServerFn

type RegisterServerFn func(config config.Config, hs *http.Server, gs *grpc.Server)

Directories

Path Synopsis
cmd
kratosx Module
db
jwt

Jump to

Keyboard shortcuts

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