go-zero-admin
go-zero-admin copied to clipboard
go-zero-admin: 基于go-zero和gorm开发的分布式微服务后端权限管理系统脚手架。十分合适新手入手go-zero、gorm、casbin、jwt等。自定义go-zero模板返回错误。
go-zero-admin
å端ï¼https://github.com/yh-zero/go-zero-admin
å端ï¼https://github.com/yh-zero/go-zero-admin-vue3
æ±å å¼ä»¬ç¹ä¸ä¸ å³ä¸è§çææ star 谢谢 ~
æ±å å¼ä»¬ç¹ä¸ä¸ å³ä¸è§çææ star 谢谢 ~
æ±å å¼ä»¬ç¹ä¸ä¸ å³ä¸è§çææ star 谢谢 ~
æ¥å£è¯·æ±: 欢è¿ä¸èµ·å¼åä¸èµ·å¦ä¹ å²å²å²ï¼ ï¼æ¥å£æä»¶ï¼data/api/go-zero-admin.openapi.json å¯ä»¥ä½¿ç¨apifoxè½¯ä»¶å¯¼å ¥è¿è¡ï¼
#go__zero å¨ Apifox ä¸éè¯·ä½ å å
¥å¢é go-zero-admin å¯ä»¥å å
¥é¡¹ç®ä¸èµ·æµè¯å¼å
https://app.apifox.com/invite?token=TMOproaI5ycYALoINDuOI
项ç®ç¸å ³ï¼
å¯å¨é¡¹ç®ï¼ (å è¿è¡sqlæä»¶ æä»¶å¨ data/db/gozero-admin-20240116.sql è¿è¡æ¶é´ææ°çæä»¶) mysqlçæ¬ï¼8.0.34 弿ï¼InnoDB
å¯å¨æµç¨ï¼ï¼å å¯å¨redis,etcdï¼
1-1ãå¯å¨rpcï¼ cd .\application\applet\rpc\
1-2ãå¯å¨rpcï¼ go run .\applet.go
2-1ãå¯å¨apiï¼ cd .\application\applet\api\
2-2ãå¯å¨apiï¼ go run .\applet.go
端å£å®ä¹
| ç±»å | 端å£å· | æè¿° |
|---|---|---|
| applet-api | 7001 | apiçç端å£å·ä»7001å¼å§ |
| - - - - | - - - | - - - - |
| applet-rpc | 6001 | rpcçç端å£å·ä»6001å¼å§ |
代ç çæä¾åï¼
###### gorm çæå¯¹åºçç»æä½ï¼ å
è¿è¡å®è£
go install gorm.io/gen/tools/gentool@latest
# çæå½ä»¤ï¼åªç产 structï¼ï¼gentool -dsn "root:123456@tcp(127.0.0.1:3306)/go-zero-admin?charset=utf8mb4&parseTime=True&loc=Local" -tables "sys_users" -onlyModel -outPath application\applet\rpc\internal\mod
gentool -dsn "root:123456@tcp(127.0.0.1:3306)/go-zero-admin?charset=utf8mb4&parseTime=True&loc=Local" -tables "sys_users" -onlyModel
###### apiçæ é¡¹ç®æ ¹ç®å½ è¿è¡ä¾åï¼
.\test\sh\api.bat applet
###### rpc çæ é¡¹ç®æ ¹ç®å½ è¿è¡ä¾åï¼
.\test\sh\rpc.bat applet applet
ä»£ç æ ¼å¼å
##### æ ¼å¼åå个 apiï¼
goctl api format --dir .\user.api
##### æ ¼å¼åå
¨é¨ apiï¼æ ¹ç®å½è¿è¡ï¼:
goctl api format --dir .\
gorm å¼å注æ (å¨apiä¼ å¼å°rpcé颿°æ®ä¼ædeleted_até¶å¼ï¼æä»¥éè¦å»æ)
// ä½¿ç¨ Create åå»ºæ°æ®çæ¶å // å 餿¶é´é®é¢ 0000-00-00 00:00:00.000 两ç§è§£å³æ¹æ³
// 1.æ³¨ææ·»å .Omit("deleted_at")
l.svcCtx.DB.Omit("deleted_at").Create(&baseMenu)
// 2.model.DeletedAt.Valid = false
å¼å注æï¼
// ä¸é´ä»¶casbin: application/applet/api/internal/middleware/authority_middleware.go
_, _ = CasB.AddPolicy(authorityId, path, method) // 妿æéæ°æ®ä¸å°å¿æ¸
äº æè¿ä¸ªå¼å¯ ç¶åapiè¿ç»è¯·æ±ä¸¤æ¬¡å°±ä¼ææé æåéæ°è®¾ç½®æéå³å¯
è§è²ç®¡çï¼
èå管çï¼
API管çï¼
ç¨æ·ç®¡çï¼
åå ¸ç®¡çï¼
åå ¸ä½¿ç¨ä¾åï¼