Skip to content
/ gengo Public

gengo 不仅仅是一个 CRUD 代码生成器,更是一个 Go 项目开发脚手架。通过 SQL 脚本直接生成规范统一的业务代码,能够显著提升后台 API 开发的效率。

License

Notifications You must be signed in to change notification settings

sevtin/gengo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 

Repository files navigation

gengo

gengo 不仅仅是一个 CRUD 代码生成器,更是一个 Go 项目开发脚手架。通过 SQL 脚本直接生成规范统一的业务代码,能够显著提升后台 API 开发的效率。

(备注: go版本>=1.22.1)

1、编辑配置文件./configs/generate.yaml

# mysql配置
mysql:
  address: "127.0.0.1:3306"
  username: root
  password:
  db: canary
  max_open_conn: 20
  max_idle_conn: 10
  conn_lifetime: 120000
  charset: utf8
generate:
  # 项目名称 [必传]
  package_name: suzuku
  # 服务名称 [必传]
  service_name: user
  # 接口名称 [必传]
  api_name: vip_user_info
  # mysql数据表 [action==0/1,必传]
  table_name: vip_users
  # sql语句 [action>1,必传]
  sql: "SELECT uid,lark_id,udid,firstname,lastname,gender FROM vip_users WHERE uid=1;"
  # 操作 0:CURD初始化 1:插入 2:更新 3:删除(软删除) 4:查询
  action: 0

2、执行./xgen-mac [或] .\xgen-win.exe [或] ./xgen-linux命令

执行命令前代码文件结构

Snip20240105_3.png

3、生成项目代码

Snip20240105_4.png

4、设置redis配置

api_suzuku.yaml

redis:
  address: ["127.0.0.1:6379"]
  db: 0
  password:
  prefix: "LK:"
  single: true

5、生成测试token

main_suzuku.go

func init() {
	……
	// 生成测试token
	token, _ := xjwt.CreateToken(1, 1, true, 3600*24*365)
	fmt.Println(token.Token)
	xredis.Set("USER:ACCESS_TOKEN_SESSION_ID:{1}:1", token.SessionId, 24*365*time.Hour)
}

6、调用创建的api

## user_list
curl "http://127.0.0.1:6600/api/user/user_list?uid=1&gender=1&page=1&limit=20" \
     -H 'Cookie: jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MzU5Nzc1ODAsImlhdCI6MTcwNDQ0MTU4MCwiaXNzIjoibGFyay5jb20iLCJwbGF0Zm9ybSI6MSwic2Vzc2lvbl9pZCI6IjQ1Nzg2MGQ5MjljNjg5MzdmYjJmNWVmYjA5ZWIyNjAwIiwidWlkIjoiMSJ9.RExxbaus2wJF_mdYCBUbbrCSeNUH4VopsoTNB4ATXFw'

About

gengo 不仅仅是一个 CRUD 代码生成器,更是一个 Go 项目开发脚手架。通过 SQL 脚本直接生成规范统一的业务代码,能够显著提升后台 API 开发的效率。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages