# ruoyi-go **Repository Path**: coder-cui/ruoyi-go ## Basic Information - **Project Name**: ruoyi-go - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-12 - **Last Updated**: 2025-06-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ๐Ÿš€ RuoYi-Go ๅŸบไบŽGo+Vue+TypeScript็š„็ŽฐไปฃๅŒ–ๅŽๅฐ็ฎก็†็ณป็ปŸ๏ผŒๆ”ฏๆŒSQLiteๅ’ŒMySQLๅŒๆ•ฐๆฎๅบ“ใ€‚ ## โœจ ็‰นๆ€ง - ๐Ÿ”ฅ **็ŽฐไปฃๆŠ€ๆœฏๆ ˆ**: Go + Gin + Vue3 + TypeScript + Element Plus - ๐Ÿ—„๏ธ **ๅŒๆ•ฐๆฎๅบ“ๆ”ฏๆŒ**: SQLite (ๅผ€ๅ‘) + MySQL (็”Ÿไบง) - ๐Ÿ” **JWT่ฎค่ฏ**: ๅฎŒๆ•ด็š„็”จๆˆท่ฎค่ฏๅ’Œๆƒ้™็ฎก็† - ๐ŸŒ **่ทจๅŸŸ่งฃๅ†ณ**: ๅฎŒๅ–„็š„CORS้…็ฝฎ - ๐Ÿณ **ๅฎนๅ™จๅŒ–้ƒจ็ฝฒ**: Dockerไธ€้”ฎ้ƒจ็ฝฒ - ๐Ÿ“ฑ **ๅ“ๅบ”ๅผ่ฎพ่ฎก**: ็งปๅŠจ็ซฏ้€‚้… ## ๐Ÿ“‹ ๆŠ€ๆœฏๆ ˆ ### ๅŽ็ซฏ - **Go 1.23** + Gin + GORM + JWT - **ๆ•ฐๆฎๅบ“**: SQLite / MySQL - **็ผ“ๅญ˜**: Redis (ๅฏ้€‰) ### ๅ‰็ซฏ - **Vue3** + TypeScript + Element Plus - **ๆž„ๅปบ**: Vite + Vue Router + Pinia ## ๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹ ### ๆœฌๅœฐๅผ€ๅ‘ ```bash # 1. ๅ…‹้š†้กน็›ฎ git clone cd ruoyi-go # 2. ๅฏๅŠจๅŽ็ซฏ cd backend go mod download go run main.go # ่ฎฟ้—ฎ: http://localhost:8080 # 3. ๅฏๅŠจๅ‰็ซฏ (ๆ–ฐ็ปˆ็ซฏ) cd frontend npm install npm run dev # ่ฎฟ้—ฎ: http://localhost:5173 # 4. ้ป˜่ฎค่ดฆๅท # ็”จๆˆทๅ: admin # ๅฏ†็ : admin123 ``` ### Docker้ƒจ็ฝฒ ```bash # ็”Ÿไบง็Žฏๅขƒ (ๆŽจ่) ./scripts/docker-start.sh prod # ๆต‹่ฏ•็Žฏๅขƒ ./scripts/docker-start.sh test # ่ฎฟ้—ฎๅบ”็”จ # ๅ‰็ซฏ: http://localhost:8088 # ๅŽ็ซฏ: http://localhost:8080 # ้ป˜่ฎค่ดฆๅท: admin / admin123 ``` ## ๐Ÿ”ง ้กน็›ฎ็ป“ๆž„ ``` ruoyi-go/ โ”œโ”€โ”€ backend/ # GoๅŽ็ซฏ โ”‚ โ”œโ”€โ”€ main.go # ็จ‹ๅบๅ…ฅๅฃ โ”‚ โ”œโ”€โ”€ config/ # ้…็ฝฎๆ–‡ไปถ โ”‚ โ”œโ”€โ”€ controllers/ # ๆŽงๅˆถๅ™จ โ”‚ โ”œโ”€โ”€ models/ # ๆ•ฐๆฎๆจกๅž‹ โ”‚ โ”œโ”€โ”€ middleware/ # ไธญ้—ดไปถ โ”‚ โ”œโ”€โ”€ services/ # ไธšๅŠก้€ป่พ‘ โ”‚ โ”œโ”€โ”€ routes/ # ่ทฏ็”ฑๅฎšไน‰ โ”‚ โ””โ”€โ”€ utils/ # ๅทฅๅ…ทๅ‡ฝๆ•ฐ โ”œโ”€โ”€ frontend/ # Vueๅ‰็ซฏ โ”‚ โ”œโ”€โ”€ src/ # ๆบไปฃ็  โ”‚ โ”œโ”€โ”€ public/ # ้™ๆ€่ต„ๆบ โ”‚ โ””โ”€โ”€ package.json # ไพ่ต–้…็ฝฎ โ”œโ”€โ”€ scripts/ # ้ƒจ็ฝฒ่„šๆœฌ โ”‚ โ””โ”€โ”€ docker-start.sh # ้ƒจ็ฝฒ่„šๆœฌ โ””โ”€โ”€ docker-compose.yml # Docker้…็ฝฎ ``` ## ๐Ÿ”ง ๅผ€ๅ‘้…็ฝฎ ### ๅŽ็ซฏ้…็ฝฎ ้…็ฝฎๆ–‡ไปถ: `backend/config/config.yaml` ```yaml server: port: 8080 mode: debug database: # SQLite (ๅผ€ๅ‘ๆŽจ่) driver: sqlite source: ./data/ruoyi.db # MySQL (็”Ÿไบง็Žฏๅขƒ) # driver: mysql # host: localhost # port: 3306 # username: root # password: your_password # database: ruoyi_go jwt: secret: "your-secret-key" expire: 168h # 7ๅคฉ ``` ### ๅ‰็ซฏ้…็ฝฎ ้…็ฝฎๆ–‡ไปถ: `frontend/vite.config.ts` ```typescript export default defineConfig({ server: { port: 5173, proxy: { '/api': { target: 'http://localhost:8080', changeOrigin: true } } } }) ``` ## ๐Ÿณ Docker้ƒจ็ฝฒ ### ้ƒจ็ฝฒๅ‘ฝไปค ```bash # ็”Ÿไบง็Žฏๅขƒ้ƒจ็ฝฒ ./scripts/docker-start.sh prod # ๆต‹่ฏ•็Žฏๅขƒ้ƒจ็ฝฒ ./scripts/docker-start.sh test # ๆŸฅ็œ‹ๆœๅŠก็Šถๆ€ ./scripts/docker-start.sh status # ๆŸฅ็œ‹ๆ—ฅๅฟ— ./scripts/docker-start.sh logs ./scripts/docker-start.sh logs backend # ้‡ๅฏๆœๅŠก ./scripts/docker-start.sh restart # ๅœๆญขๆœๅŠก ./scripts/docker-start.sh stop # ๆธ…็†่ต„ๆบ ./scripts/docker-start.sh clean ``` ### ้ƒจ็ฝฒๆžถๆž„ ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๆœๅŠกๅ™จ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Nginx โ”‚ โ”‚ Go API โ”‚ โ”‚ MySQL โ”‚ โ”‚ โ”‚ โ”‚ :8088 โ”‚ โ”‚ :8080 โ”‚ โ”‚ :3306 โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Docker Network โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ Redis โ”‚ โ”‚ ๆ•ฐๆฎๅท โ”‚ โ”‚ โ”‚ โ”‚ :6379 โ”‚ โ”‚ mysql-data โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ redis-data โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ## ๐Ÿ“Š ๆ ธๅฟƒๅŠŸ่ƒฝ ### โœ… ๅทฒๅฎž็Žฐ - ็”จๆˆท็™ปๅฝ•/็™ปๅ‡บ - JWT่บซไปฝ่ฎค่ฏ - ็”จๆˆทไฟกๆฏ็ฎก็† - ๅฏ†็ ไฟฎๆ”นๅŠŸ่ƒฝ - ๅ“ๅบ”ๅผUI่ฎพ่ฎก - ่ทจๅŸŸ้—ฎ้ข˜่งฃๅ†ณ - Dockerๅฎนๅ™จๅŒ– ### ๐Ÿšง ๅผ€ๅ‘ไธญ - RBACๆƒ้™็ฎก็† - ็”จๆˆทCRUDๆ“ไฝœ - ่ง’่‰ฒ็ฎก็† - ็ณป็ปŸๅ‚ๆ•ฐ้…็ฝฎ ### ๐Ÿ“‹ ่ฎกๅˆ’ไธญ - ้ƒจ้—จ็ฎก็† - ่œๅ•ๆƒ้™ - ๆ“ไฝœๆ—ฅๅฟ— - ๆ–‡ไปถไธŠไผ  - ็ณป็ปŸ็›‘ๆŽง ## ๐Ÿ› ๏ธ ๅผ€ๅ‘ๅทฅๅ…ท ### ๆŽจ่IDE - **VS Code**: Go + Vue - Official ๆ’ไปถ - **GoLand**: JetBrainsไธ“ไธšGo IDE ### ่ฐƒ่ฏ•ๅทฅๅ…ท - **ๅŽ็ซฏ**: pprofๆ€ง่ƒฝๅˆ†ๆž - **ๅ‰็ซฏ**: Vue DevTools - **API**: REST Clientๆ’ไปถ ## ๐Ÿ” ๆ•…้šœๆŽ’้™ค ### ๅธธ่ง้—ฎ้ข˜ 1. **็ซฏๅฃๅ ็”จ** ```bash lsof -i :8080 # ๆฃ€ๆŸฅ8080็ซฏๅฃ lsof -i :5173 # ๆฃ€ๆŸฅ5173็ซฏๅฃ ``` 2. **Goๆจกๅ—้—ฎ้ข˜** ```bash go clean -modcache go mod download ``` 3. **npmไพ่ต–้—ฎ้ข˜** ```bash rm -rf node_modules npm install ``` 4. **Docker้—ฎ้ข˜** ```bash docker system prune -f # ๆธ…็†่ต„ๆบ docker-compose down # ๅœๆญขๆœๅŠก ``` ### ๆ€ง่ƒฝไผ˜ๅŒ– - **ๅ‰็ซฏ**: Nginx้™ๆ€ๆœๅŠก + GzipๅŽ‹็ผฉ - **ๅŽ็ซฏ**: Gin้ซ˜ๆ€ง่ƒฝ่ทฏ็”ฑ + ่ฟžๆŽฅๆฑ  - **ๆ•ฐๆฎๅบ“**: MySQLไผ˜ๅŒ–้…็ฝฎ + ็ดขๅผ• - **็ผ“ๅญ˜**: Redis็ผ“ๅญ˜็ƒญ็‚นๆ•ฐๆฎ ## ๐Ÿ”’ ๅฎ‰ๅ…จ็‰นๆ€ง - JWT Token่ฎค่ฏ - ๅฏ†็ ๅ“ˆๅธŒๅญ˜ๅ‚จ - CORS่ทจๅŸŸ้™ๅˆถ - SQLๆณจๅ…ฅ้˜ฒๆŠค - ๅฎนๅ™จ็ฝ‘็ปœ้š”็ฆป ## ๐Ÿค ่ดก็ŒฎๆŒ‡ๅ— 1. Fork้กน็›ฎ 2. ๅˆ›ๅปบ็‰นๆ€งๅˆ†ๆ”ฏ (`git checkout -b feature/amazing-feature`) 3. ๆไบคๆ›ดๆ”น (`git commit -m 'Add amazing feature'`) 4. ๆŽจ้€ๅˆ†ๆ”ฏ (`git push origin feature/amazing-feature`) 5. ๅˆ›ๅปบPull Request ## ๐Ÿ“„ ๅผ€ๆบๅ่ฎฎ ๆœฌ้กน็›ฎๅŸบไบŽ [MIT License](LICENSE) ๅผ€ๆบๅ่ฎฎใ€‚ ## ๐Ÿ™ ่‡ด่ฐข - [RuoYi](https://ruoyi.vip/) - ๅŽŸๅž‹็ณป็ปŸ่ฎพ่ฎก - [Gin](https://gin-gonic.com/) - Go Webๆก†ๆžถ - [Vue](https://vuejs.org/) - ๅ‰็ซฏๆก†ๆžถ - [Element Plus](https://element-plus.org/) - UI็ป„ไปถๅบ“ --- โญ ๅฆ‚ๆžœ่ฟ™ไธช้กน็›ฎๅฏนไฝ ๆœ‰ๅธฎๅŠฉ๏ผŒ่ฏท็ป™ไธชStarๆ”ฏๆŒไธ€ไธ‹๏ผ