# chees_images **Repository Path**: chees_cn/chees_images ## Basic Information - **Project Name**: chees_images - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-31 - **Last Updated**: 2026-04-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ๐Ÿง€ Chees Images H5

Node.js Version Yarn Version License

ๅŸบไบŽ็งฏๅˆ†็ณป็ปŸ็š„ AI ๅ›พ็‰‡็”ŸๆˆไธŽ็ฎก็†ๅนณๅฐ

[English Documentation](README.en.md) | ไธญๆ–‡ๆ–‡ๆกฃ --- ## ๐Ÿ“– ้กน็›ฎไป‹็ป Chees Images H5 ๆ˜ฏไธ€ไธช้ขๅ‘็”จๆˆท็š„ AI ๅ›พ็‰‡็”ŸๆˆๆœๅŠกๅนณๅฐ๏ผŒ้‡‡็”จ็งฏๅˆ†ๅˆถ็ฎก็†ๆจกๅผใ€‚็”จๆˆทๅฏไปฅ้€š่ฟ‡ๅกๅฏ†ๅ……ๅ€ผ็งฏๅˆ†๏ผŒไฝฟ็”จ็งฏๅˆ†็”Ÿๆˆๅ’Œ็ผ–่พ‘ๅ›พ็‰‡ใ€‚็ณป็ปŸๅŒ…ๅซ็”จๆˆท็ซฏ H5 ้กต้ขๅ’Œ็ฎก็†ๅŽๅฐ๏ผŒๆ”ฏๆŒๅฎŒๆ•ด็š„็”จๆˆท็ฎก็†ใ€็งฏๅˆ†็ฎก็†ใ€ๅกๅฏ†็ฎก็†ๅ’ŒไปปๅŠกๆ—ฅๅฟ—ๅŠŸ่ƒฝใ€‚ ### โœจ ๆ ธๅฟƒๅŠŸ่ƒฝ - **็”จๆˆท็ณป็ปŸ**: ่‡ชไธปๆณจๅ†Œใ€JWT ่ฎค่ฏใ€่ง’่‰ฒๆƒ้™ๆŽงๅˆถ - **็งฏๅˆ†็ณป็ปŸ**: ็งฏๅˆ†ๅ……ๅ€ผใ€ๆถˆ่ดนใ€ไฝ™้ขๆŸฅ่ฏข - **ๅกๅฏ†็ณป็ปŸ**: ๆ‰น้‡็”Ÿๆˆใ€ๅฎ‰ๅ…จๅ…‘ๆขใ€ๅนถๅ‘ๆŽงๅˆถ - **AI ๅ›พ็‰‡**: ๆ–‡็”Ÿๅ›พใ€ๅ›พ็”Ÿๅ›พใ€ไปปๅŠก่ฎฐๅฝ• - **็ฎก็†ๅŽๅฐ**: ็”จๆˆท็ฎก็†ใ€ๅกๅฏ†็ฎก็†ใ€ๆจกๅž‹้…็ฝฎใ€ๆ—ฅๅฟ—ๆŸฅ็œ‹ --- ## ๐Ÿ—๏ธ ็ณป็ปŸๆžถๆž„ ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๅ‰็ซฏๅฑ‚ โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ Web-Client (H5) โ”‚ Web-Admin โ”‚ โ”‚ Vue 3 + Vite โ”‚ Vue 3 + Vite โ”‚ โ”‚ ็งปๅŠจ็ซฏ็”จๆˆท็•Œ้ข โ”‚ ็ฎก็†ๅŽๅฐ็•Œ้ข โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ API ๅฑ‚ โ”‚ โ”‚ NestJS + TypeScript โ”‚ โ”‚ - JWT ่ฎค่ฏ โ”‚ โ”‚ - ๆƒ้™ๆŽงๅˆถ (RolesGuard) โ”‚ โ”‚ - ่พ“ๅ…ฅ้ชŒ่ฏ (ValidationPipe) โ”‚ โ”‚ - Swagger API ๆ–‡ๆกฃ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๆ•ฐๆฎๅฑ‚ โ”‚ โ”‚ JSON ๆ–‡ไปถๆ•ฐๆฎๅบ“ โ”‚ โ”‚ - ๅ†…ๅญ˜็ผ“ๅญ˜ + ้˜ฒๆŠ–ๆŒไน…ๅŒ– โ”‚ โ”‚ - ๅดฉๆบƒๅฎ‰ๅ…จๅ†™ๅ…ฅ (ไธดๆ—ถๆ–‡ไปถ+ๅŽŸๅญๆ›ฟๆข) โ”‚ โ”‚ - ๅนถๅ‘ๆŽงๅˆถ (ไธด็•ŒๅŒบไฟๆŠค) โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` --- ## ๐Ÿš€ ๅฟซ้€Ÿๅผ€ๅง‹ ### ็Žฏๅขƒ่ฆๆฑ‚ - **Node.js**: >= 18.0.0 - **Yarn**: >= 4.0.0 - **Git**: ไปปๆ„็‰ˆๆœฌ ### ๅฎ‰่ฃ…ๆญฅ้ชค 1. **ๅ…‹้š†ไป“ๅบ“** ```bash git clone cd chees_images ``` 2. **ๅฎ‰่ฃ…ไพ่ต–** ```bash # ๅฏ็”จ Yarn 4 yarn install ``` 3. **้…็ฝฎ็Žฏๅขƒๅ˜้‡** ```bash # ๅคๅˆถ็Žฏๅขƒๅ˜้‡ๆจกๆฟ cp server/.env.example server/.env # ็ผ–่พ‘ server/.env ๆ–‡ไปถ๏ผŒ่ฎพ็ฝฎไปฅไธ‹ๅฟ…้œ€ๅ˜้‡: # - JWT_SECRET: JWT ๅฏ†้’ฅ (ๅปบ่ฎฎ 32 ไฝ้šๆœบๅญ—็ฌฆไธฒ) # - ADMIN_USERNAME: ็ฎก็†ๅ‘˜็”จๆˆทๅ # - ADMIN_PASSWORD: ็ฎก็†ๅ‘˜ๅฏ†็  # - IMAGE_API_KEY: AI ๅ›พ็‰‡ๆœๅŠก API ๅฏ†้’ฅ (ๅฏ้€‰) # - IMAGE_API_URL: AI ๅ›พ็‰‡ๆœๅŠกๅœฐๅ€ (ๅฏ้€‰) ``` 4. **ๅฏๅŠจๅผ€ๅ‘ๆœๅŠกๅ™จ** ```bash # ๅฏๅŠจๅŽ็ซฏๆœๅŠก cd server yarn dev # ๅฏๅŠจ็”จๆˆท็ซฏ H5 (ๆ–ฐ็ปˆ็ซฏ) cd web-client yarn dev # ๅฏๅŠจ็ฎก็†ๅŽๅฐ (ๆ–ฐ็ปˆ็ซฏ) cd web-admin yarn dev ``` 5. **่ฎฟ้—ฎๅบ”็”จ** - ๅŽ็ซฏ API: http://localhost:3000/api - API ๆ–‡ๆกฃ: http://localhost:3000/api/docs - ็”จๆˆท็ซฏ H5: http://localhost:5173 - ็ฎก็†ๅŽๅฐ: http://localhost:5174 --- ## ๐Ÿ“š ้กน็›ฎ็ป“ๆž„ ``` chees_images/ โ”œโ”€โ”€ ๐Ÿ“ server/ # ๅŽ็ซฏๆœๅŠก (NestJS) โ”‚ โ”œโ”€โ”€ src/ โ”‚ โ”‚ โ”œโ”€โ”€ auth/ # ่ฎค่ฏๆจกๅ— โ”‚ โ”‚ โ”œโ”€โ”€ user/ # ็”จๆˆทๆจกๅ— โ”‚ โ”‚ โ”œโ”€โ”€ card-key/ # ๅกๅฏ†ๆจกๅ— โ”‚ โ”‚ โ”œโ”€โ”€ image/ # ๅ›พ็‰‡็”Ÿๆˆๆจกๅ— โ”‚ โ”‚ โ”œโ”€โ”€ model-config/ # ๆจกๅž‹้…็ฝฎๆจกๅ— โ”‚ โ”‚ โ”œโ”€โ”€ task-log/ # ไปปๅŠกๆ—ฅๅฟ—ๆจกๅ— โ”‚ โ”‚ โ”œโ”€โ”€ db/ # ๆ•ฐๆฎๅบ“ๆœๅŠก โ”‚ โ”‚ โ””โ”€โ”€ common/ # ้€š็”จ็ป„ไปถ โ”‚ โ”œโ”€โ”€ test/ # E2E ๆต‹่ฏ• โ”‚ โ””โ”€โ”€ database.json # ๆ•ฐๆฎๅบ“ๆ–‡ไปถ โ”‚ โ”œโ”€โ”€ ๐Ÿ“ web-client/ # ็”จๆˆท็ซฏ H5 (Vue 3) โ”‚ โ”œโ”€โ”€ src/ โ”‚ โ”‚ โ”œโ”€โ”€ views/ # ้กต้ข่ง†ๅ›พ โ”‚ โ”‚ โ”œโ”€โ”€ components/ # ็ป„ไปถ โ”‚ โ”‚ โ”œโ”€โ”€ api/ # API ๆŽฅๅฃ โ”‚ โ”‚ โ”œโ”€โ”€ stores/ # Pinia ็Šถๆ€็ฎก็† โ”‚ โ”‚ โ””โ”€โ”€ router/ # ่ทฏ็”ฑ้…็ฝฎ โ”‚ โ””โ”€โ”€ package.json โ”‚ โ”œโ”€โ”€ ๐Ÿ“ web-admin/ # ็ฎก็†ๅŽๅฐ (Vue 3) โ”‚ โ”œโ”€โ”€ src/ โ”‚ โ”‚ โ”œโ”€โ”€ views/ # ็ฎก็†้กต้ข โ”‚ โ”‚ โ”œโ”€โ”€ components/ # ็ฎก็†็ป„ไปถ โ”‚ โ”‚ โ”œโ”€โ”€ api/ # API ๆŽฅๅฃ โ”‚ โ”‚ โ”œโ”€โ”€ stores/ # Pinia ็Šถๆ€็ฎก็† โ”‚ โ”‚ โ””โ”€โ”€ router/ # ่ทฏ็”ฑ้…็ฝฎ โ”‚ โ””โ”€โ”€ package.json โ”‚ โ””โ”€โ”€ package.json # ๆ น้…็ฝฎ (Yarn Workspaces) ``` --- ## ๐Ÿงช ๆต‹่ฏ• ### ่ฟ่กŒๆต‹่ฏ• ```bash # ่ฟ่กŒๆ‰€ๆœ‰ๅ•ๅ…ƒๆต‹่ฏ• yarn test # ่ฟ่กŒๅŽ็ซฏๅ•ๅ…ƒๆต‹่ฏ• cd server yarn test # ่ฟ่กŒ E2E ๆต‹่ฏ• cd server yarn test:e2e # ่ฟ่กŒ Playwright E2E ๆต‹่ฏ• yarn test:e2e ``` ### ๆต‹่ฏ•่ฆ†็›– - **ๅ•ๅ…ƒๆต‹่ฏ•**: 211 ไธชๆต‹่ฏ•็”จไพ‹ - **E2E ๆต‹่ฏ•**: 80 ไธชๆต‹่ฏ•็”จไพ‹ - **ๆ€ป่ฆ†็›–็އ**: 291 ไธชๆต‹่ฏ•็”จไพ‹๏ผŒๅ…จ้ƒจ้€š่ฟ‡ โœ… --- ## ๐Ÿ” ๅฎ‰ๅ…จ้…็ฝฎ ### ๅทฒๅฎž็Žฐ็š„ๅฎ‰ๅ…จ็‰นๆ€ง - โœ… **ๅฏ†็ ๅฎ‰ๅ…จ**: bcrypt ๅ“ˆๅธŒ๏ผŒๆˆๆœฌๅ› ๅญ 10 - โœ… **JWT ๅฎ‰ๅ…จ**: ๆœ€ๅฐ payload๏ผŒ7 ๅคฉ่ฟ‡ๆœŸ - โœ… **API ๅฎ‰ๅ…จ**: ๅ—ไฟๆŠค็ซฏ็‚น้œ€ Bearer Token - โœ… **ๆƒ้™ๆŽงๅˆถ**: AdminGuard ไฟๆŠค็ฎก็†ๅ‘˜ๆŽฅๅฃ - โœ… **ๅนถๅ‘ๅฎ‰ๅ…จ**: ไธด็•ŒๅŒบไฟๆŠคๅกๅฏ†ๅ…‘ๆข - โœ… **ๆ•ฐๆฎๅฎ‰ๅ…จ**: ๅดฉๆบƒๅฎ‰ๅ…จ็š„ๆ•ฐๆฎๅบ“ๅ†™ๅ…ฅ - โœ… **XSS ้˜ฒๆŠค**: ่พ“ๅ…ฅ้ชŒ่ฏๅ’Œ่พ“ๅ‡บ่ฝฌไน‰ ### ็Žฏๅขƒๅ˜้‡่ฏดๆ˜Ž | ๅ˜้‡ๅ | ๅฟ…้œ€ | ่ฏดๆ˜Ž | | ---------------- | ---- | ------------------------- | | `JWT_SECRET` | โœ… | JWT ็ญพๅๅฏ†้’ฅ | | `ADMIN_USERNAME` | โœ… | ็ฎก็†ๅ‘˜็”จๆˆทๅ | | `ADMIN_PASSWORD` | โœ… | ็ฎก็†ๅ‘˜ๅฏ†็  | | `DATA_DIR` | โŒ | ๆ•ฐๆฎ็›ฎๅฝ• (้ป˜่ฎค: ./data) | | `JWT_EXPIRES_IN` | โŒ | Token ่ฟ‡ๆœŸๆ—ถ้—ด (้ป˜่ฎค: 7d) | | `IMAGE_API_KEY` | โŒ | AI ๅ›พ็‰‡ๆœๅŠก API ๅฏ†้’ฅ | | `IMAGE_API_URL` | โŒ | AI ๅ›พ็‰‡ๆœๅŠกๅœฐๅ€ | --- ## ๐Ÿ“ก API ๆŽฅๅฃ ### ่ฎค่ฏๆŽฅๅฃ | ๆ–นๆณ• | ่ทฏๅพ„ | ่ฏดๆ˜Ž | | ---- | ------------------ | ------------ | | POST | /api/auth/register | ็”จๆˆทๆณจๅ†Œ | | POST | /api/auth/login | ็”จๆˆท็™ปๅฝ• | | GET | /api/auth/me | ่Žทๅ–ๅฝ“ๅ‰็”จๆˆท | ### ็”จๆˆทๆŽฅๅฃ | ๆ–นๆณ• | ่ทฏๅพ„ | ่ฏดๆ˜Ž | ๆƒ้™ | | ---- | -------------------- | -------- | ---- | | GET | /api/users/me/points | ๆŸฅ่ฏข็งฏๅˆ† | ็”จๆˆท | ### ๅกๅฏ†ๆŽฅๅฃ | ๆ–นๆณ• | ่ทฏๅพ„ | ่ฏดๆ˜Ž | ๆƒ้™ | | ---- | ----------------------------- | -------- | ------ | | POST | /api/card-keys/redeem | ๅ…‘ๆขๅกๅฏ† | ็”จๆˆท | | POST | /api/admin/card-keys/generate | ็”Ÿๆˆๅกๅฏ† | ็ฎก็†ๅ‘˜ | | GET | /api/admin/card-keys | ๅกๅฏ†ๅˆ—่กจ | ็ฎก็†ๅ‘˜ | ### ๅ›พ็‰‡ๆŽฅๅฃ | ๆ–นๆณ• | ่ทฏๅพ„ | ่ฏดๆ˜Ž | ๆƒ้™ | | ---- | -------------------- | -------- | ---- | | POST | /api/images/generate | ็”Ÿๆˆๅ›พ็‰‡ | ็”จๆˆท | | POST | /api/images/edit | ็ผ–่พ‘ๅ›พ็‰‡ | ็”จๆˆท | | GET | /api/tasks | ไปปๅŠกๅˆ—่กจ | ็”จๆˆท | ### ็ฎก็†ๆŽฅๅฃ | ๆ–นๆณ• | ่ทฏๅพ„ | ่ฏดๆ˜Ž | | -------------- | ----------------------------------- | -------- | | GET | /api/admin/users | ็”จๆˆทๅˆ—่กจ | | POST | /api/admin/users/:id/reset-password | ้‡็ฝฎๅฏ†็  | | GET/POST/PATCH | /api/admin/models | ๆจกๅž‹็ฎก็† | | GET | /api/admin/tasks | ๆ‰€ๆœ‰ไปปๅŠก | --- ## ๐Ÿ› ๏ธ ๆŠ€ๆœฏๆ ˆ ### ๅŽ็ซฏ - **ๆก†ๆžถ**: [NestJS](https://nestjs.com/) - ไผไธš็บง Node.js ๆก†ๆžถ - **่ฏญ่จ€**: TypeScript 5.x - **ๆ•ฐๆฎๅบ“**: JSON ๆ–‡ไปถ + ๅ†…ๅญ˜็ผ“ๅญ˜ - **่ฎค่ฏ**: JWT + Passport - **ๆ–‡ๆกฃ**: Swagger/OpenAPI - **ๆต‹่ฏ•**: Jest + Supertest ### ๅ‰็ซฏ - **ๆก†ๆžถ**: [Vue 3](https://vuejs.org/) - ๆธ่ฟ›ๅผ JavaScript ๆก†ๆžถ - **ๆž„ๅปบ**: [Vite](https://vitejs.dev/) - ไธ‹ไธ€ไปฃๅ‰็ซฏๅทฅๅ…ท้“พ - **็Šถๆ€**: [Pinia](https://pinia.vuejs.org/) - Vue ๅฎ˜ๆ–น็Šถๆ€็ฎก็† - **่ทฏ็”ฑ**: Vue Router 4 - **HTTP**: Axios - **ๆ ทๅผ**: ๅŽŸ็”Ÿ CSS + ็งปๅŠจไผ˜ๅ…ˆๅ“ๅบ”ๅผ่ฎพ่ฎก ### ๅทฅๅ…ท้“พ - **ๅŒ…็ฎก็†**: Yarn 4 (Workspaces) - **ไปฃ็ ่ง„่Œƒ**: ESLint 9 + Prettier - **E2E ๆต‹่ฏ•**: Playwright - **็‰ˆๆœฌๆŽงๅˆถ**: Git --- ## ๐Ÿ“ฆ ้ƒจ็ฝฒ ### Docker Compose ้ƒจ็ฝฒ (ๆŽจ่) ไธ€้”ฎ้ƒจ็ฝฒๆ‰€ๆœ‰ๆœๅŠก๏ผˆๅŽ็ซฏ + ็”จๆˆท็ซฏ + ็ฎก็†ๅŽๅฐ๏ผ‰๏ผš ```bash # 1. ๅ…‹้š†ไป“ๅบ“ git clone cd chees_images # 2. ้…็ฝฎ็Žฏๅขƒๅ˜้‡ cp .env.docker.example .env # ็ผ–่พ‘ .env ๆ–‡ไปถ๏ผŒ่ฎพ็ฝฎๅฟ…้œ€็š„ๅ˜้‡ # 3. ๅฏๅŠจๆ‰€ๆœ‰ๆœๅŠก docker-compose up -d # 4. ๆŸฅ็œ‹ๆœๅŠก็Šถๆ€ docker-compose ps # 5. ๆŸฅ็œ‹ๆ—ฅๅฟ— docker-compose logs -f ``` **ๆœๅŠก่ฎฟ้—ฎๅœฐๅ€๏ผš** - ็”จๆˆท็ซฏ H5: http://localhost - ็ฎก็†ๅŽๅฐ: http://localhost:8080 - ๅŽ็ซฏ API: http://localhost:3000/api - API ๆ–‡ๆกฃ: http://localhost:3000/api/docs **ๅธธ็”จๅ‘ฝไปค๏ผš** ```bash # ๅœๆญขๆœๅŠก docker-compose down # ้‡ๅฏๆœๅŠก docker-compose restart # ้‡ๆ–ฐๆž„ๅปบๅนถๅฏๅŠจ docker-compose up -d --build # ๆŸฅ็œ‹็‰นๅฎšๆœๅŠกๆ—ฅๅฟ— docker-compose logs -f server ``` ### Docker ๅ•ๅฎนๅ™จ้ƒจ็ฝฒ ไป…้ƒจ็ฝฒๅŽ็ซฏๆœๅŠก๏ผš ```bash # ๆž„ๅปบ้•œๅƒ docker build -t chees-images ./server # ่ฟ่กŒๅฎนๅ™จ docker run -d \ -p 3000:3000 \ -e JWT_SECRET=your-secret \ -e ADMIN_USERNAME=admin \ -e ADMIN_PASSWORD=admin123 \ -v ./data:/app/data \ --name chees-images-server \ chees-images ``` ### ็”Ÿไบง็Žฏๅขƒ้ƒจ็ฝฒ ```bash # ๆž„ๅปบ็”Ÿไบง็‰ˆๆœฌ yarn build # ๅฏๅŠจ็”ŸไบงๆœๅŠก cd server yarn start:prod ``` --- ## ๐Ÿค ่ดก็ŒฎๆŒ‡ๅ— 1. Fork ๆœฌไป“ๅบ“ 2. ๅˆ›ๅปบ็‰นๆ€งๅˆ†ๆ”ฏ (`git checkout -b feature/amazing-feature`) 3. ๆไบคๆ›ดๆ”น (`git commit -m 'Add some amazing feature'`) 4. ๆŽจ้€ๅˆฐๅˆ†ๆ”ฏ (`git push origin feature/amazing-feature`) 5. ๅˆ›ๅปบ Pull Request --- ## ๐Ÿ“„ ่ฎธๅฏ่ฏ [MIT](LICENSE) ยฉ Chees Images Team --- ## ๐Ÿ’ฌ ๆ”ฏๆŒ ๅฆ‚ๆœ‰้—ฎ้ข˜ๆˆ–ๅปบ่ฎฎ๏ผŒๆฌข่ฟŽๆไบค Issue ๆˆ–่”็ณปๅผ€ๅ‘ๅ›ข้˜Ÿใ€‚ ---

Made with โค๏ธ by Chees Images Team