อังกฤษ |. จีนตัวย่อ
เอกสารออนไลน์: https://www.gin-vue-admin.com
การเริ่มต้น
จากสภาพแวดล้อมสู่วิดีโอแนะนำการใช้งาน
การสอนเพื่อการพัฒนา (ผู้ร่วมให้ข้อมูล: LLemonGreen และ Fann)
ชุมชนการสื่อสาร
ตลาดปลั๊กอิน
1. โครงการนี้มีเอกสารประกอบและวิดีโอบทช่วยสอนโดยละเอียดตั้งแต่เริ่มต้นจนถึงการพัฒนาจนถึงการใช้งาน
2. โปรเจ็กต์นี้กำหนดให้คุณต้องมีรากฐานที่แน่นอนใน golang และ vue
3. คุณสามารถดำเนินการทั้งหมดให้เสร็จสิ้นผ่านบทช่วยสอนและเอกสารของเรา ดังนั้นเราจึงไม่ให้บริการด้านเทคนิคฟรีอีกต่อไป หากคุณต้องการบริการ โปรดให้การสนับสนุนแบบชำระเงิน
4. หากคุณใช้โครงการนี้เพื่อวัตถุประสงค์ทางการค้า โปรดปฏิบัติตามข้อตกลง Apache2.0 และเก็บคำชี้แจงการสนับสนุนทางเทคนิคของผู้เขียนไว้ คุณต้องเก็บข้อมูลคำชี้แจงลิขสิทธิ์ต่อไปนี้ รวมถึงข้อมูลคำชี้แจงลิขสิทธิ์ที่มีอยู่ในบันทึกและรหัส ข้อมูลที่เก็บไว้ที่จำเป็นมีลักษณะเป็นการเขียนคำโฆษณาและจะไม่ส่งผลกระทบต่อเนื้อหาทางธุรกิจใดๆ หากคุณตัดสินใจที่จะใช้ในเชิงพาณิชย์ [กิจกรรมทางธุรกิจที่สร้างรายได้เป็นการใช้งานเชิงพาณิชย์ทั้งหมด] หรือต้องถูกยกเลิก โปรดซื้อการอนุญาต
Gin-vue-admin เป็นแพลตฟอร์มการพัฒนาแบบฟูลสแต็กที่ใช้ vue และ gin ที่แยกส่วนหน้าและส่วนหลัง โดยรวมการรับรองความถูกต้อง jwt, การกำหนดเส้นทางแบบไดนามิก, เมนูแบบไดนามิก, การรับรองความถูกต้องของ Casbin, ตัวสร้างฟอร์ม, ตัวสร้างโค้ด และฟังก์ชันอื่น ๆ และจัดให้มี ไฟล์ตัวอย่างมากมายช่วยให้คุณมีเวลาในการพัฒนาธุรกิจมากขึ้น
ตัวอย่างออนไลน์: http://demo.gin-vue-admin.com
ทดสอบชื่อผู้ใช้: ผู้ดูแลระบบ
ทดสอบรหัสผ่าน: 123456
สวัสดี! ก่อนอื่นขอขอบคุณที่ใช้ gin-vue-admin
Gin-vue-admin คือชุดของเฟรมเวิร์กโอเพ่นซอร์สที่มีสถาปัตยกรรมการแยกส่วนหน้าและส่วนหลังที่เตรียมไว้สำหรับการวิจัยและพัฒนาอย่างรวดเร็ว ได้รับการออกแบบมาเพื่อสร้างโปรเจ็กต์ขนาดเล็กและขนาดกลางอย่างรวดเร็ว
การเติบโตของ Gin-vue-admin ไม่สามารถแยกออกจากการสนับสนุนจากทุกคนได้ หากคุณยินดีที่จะสนับสนุนโค้ดหรือให้คำแนะนำสำหรับ gin-vue-admin โปรดอ่านเนื้อหาต่อไปนี้
ปัญหาต่างๆ ใช้เพื่อส่งข้อบกพร่องหรือคุณลักษณะและเนื้อหาที่เกี่ยวข้องกับการออกแบบเท่านั้น เนื้อหาอื่นๆ อาจถูกปิดโดยตรง
ก่อนที่จะส่งปัญหา โปรดค้นหาเพื่อดูว่าเนื้อหาที่เกี่ยวข้องได้รับการหยิบยกขึ้นมาหรือไม่
โปรดแยกสำเนาไปยังโปรเจ็กต์ของคุณเองก่อน อย่าสร้างสาขาใต้คลังสินค้าโดยตรง
ข้อมูลคอมมิตควรกรอกในรูปแบบของ [文件名]: 描述信息
เช่น README.md: fix xxx bug
หากคุณกำลังแก้ไขข้อบกพร่อง โปรดระบุข้อมูลคำอธิบายในการประชาสัมพันธ์
การรวมรหัสต้องมีส่วนร่วมของผู้ดูแลสองคน: คนหนึ่งตรวจสอบและอนุมัติ และอีกคนตรวจสอบอีกครั้ง และสามารถรวมได้หลังจากผ่านการตรวจสอบแล้ว
- node版本 > v16.8.3 - golang版本 >= v1.22 - IDE推荐:Goland
ใช้เครื่องมือแก้ไข เช่น Goland
เพื่อเปิดไดเร็กทอรีเซิร์ฟเวอร์ อย่าเปิดไดเร็กทอรีราก gin-vue-admin
# โคลนโครงการ git clone https://github.com/flipped-aurora/gin-vue-admin.git# ป้อนโฟลเดอร์เซิร์ฟเวอร์ เซิร์ฟเวอร์ cd# ใช้ go mod และติดตั้งแพ็คเกจการพึ่งพา go go create# Run go run
# เข้าสู่โฟลเดอร์เว็บ cd web # ติดตั้งการอ้างอิง npm install # เริ่มโครงการเว็บ npm run ให้บริการ
ไปติดตั้ง github.com/swaggo/swag/cmd/swag@latest
เซิร์ฟเวอร์ซีดี พวงหรีดเริ่มต้น
หลังจากดำเนินการคำสั่งข้างต้น ไฟล์ทั้งสามไฟล์
docs.go
,swagger.json
และswagger.yaml
ในโฟลเดอร์ docs จะปรากฏในไดเร็กทอรีเซิร์ฟเวอร์ หลังจากเริ่มบริการ go ให้ป้อน http://localhost:8888/swagger ใน เบราว์เซอร์ /index.html เพื่อดูเอกสารผยอง
ใช้ VSCode
เพื่อเปิดไฟล์พื้นที่ทำงาน gin-vue-admin.code-workspace
ในไดเรกทอรีราก คุณสามารถดูไดเรกทอรีเสมือนสามรายการในแถบด้านข้าง: backend
, frontend
, root
คุณยังสามารถดูงานสามอย่างในการรันและดีบัก: Backend
, Frontend
, Both (Backend & Frontend)
การรัน Both (Backend & Frontend)
สามารถเริ่มโปรเจ็กต์ส่วนหน้าและส่วนหน้าได้ในเวลาเดียวกัน
มีฟิลด์ go.toolsEnvVars
ในไฟล์การกำหนดค่าพื้นที่ทำงาน ซึ่งเป็นตัวแปรสภาพแวดล้อมของเครื่องมือ go ที่ใช้สำหรับ VSCode
เอง นอกจากนี้ ในระบบที่มี go หลายเวอร์ชัน คุณสามารถระบุเวอร์ชันที่กำลังรันอยู่ผ่าน gopath
และ go.goroot
"go.gopath": null, "go.goroot": null,
ส่วนหน้า: ใช้องค์ประกอบที่ใช้ Vue เพื่อสร้างเพจพื้นฐาน
แบ็กเอนด์: ใช้ Gin เพื่อสร้าง API สไตล์การพักผ่อนขั้นพื้นฐานอย่างรวดเร็ว Gin เป็นเฟรมเวิร์กเว็บที่เขียนด้วยภาษา go
ฐานข้อมูล: ใช้กลไกฐานข้อมูลเวอร์ชัน MySql
> (5.7) InnoDB และใช้ gorm เพื่อดำเนินการพื้นฐานบนฐานข้อมูล
การแคช: ใช้ Redis
เพื่อบันทึกโทเค็น jwt
ของผู้ใช้ที่ใช้งานอยู่ในปัจจุบัน และใช้ข้อจำกัดการเข้าสู่ระบบแบบหลายจุด
เอกสารประกอบ API: ใช้ Swagger
เพื่อสร้างเอกสารระบบอัตโนมัติ
ไฟล์การกำหนดค่า: ใช้ fsnotify และ viper เพื่อใช้ไฟล์การกำหนดค่าในรูปแบบ yaml
การบันทึก: ใช้ zap เพื่อใช้การบันทึก
├── server ├── api (api层) │ └── v1 (v1版本接口) ├── config (配置包) ├── core (核心文件) ├── docs (swagger文档目录) ├── global (全局对象) ├── initialize (初始化) │ └── internal (初始化内部函数) ├── middleware (中间件层) ├── model (模型层) │ ├── request (入参结构体) │ └── response (出参结构体) ├── packfile (静态文件打包) ├── resource (静态资源文件夹) │ ├── excel (excel导入导出默认路径) │ ├── page (表单生成器) │ └── template (模板) ├── router (路由层) ├── service (service层) ├── source (source层) └── utils (工具包) ├── timer (定时器接口封装) └── upload (oss接口封装) web ├── babel.config.js ├── Dockerfile ├── favicon.ico ├── index.html -- 主页面 ├── limit.js -- 助手代码 ├── package.json -- 包管理器代码 ├── src -- 源代码 │ ├── api -- api 组 │ ├── App.vue -- 主页面 │ ├── assets -- 静态资源 │ ├── components -- 全局组件 │ ├── core -- gva 组件包 │ │ ├── config.js -- gva网站配置文件 │ │ ├── gin-vue-admin.js -- 注册欢迎文件 │ │ └── global.js -- 统一导入文件 │ ├── directive -- v-auth 注册文件 │ ├── main.js -- 主文件 │ ├── permission.js -- 路由中间件 │ ├── pinia -- pinia 状态管理器,取代vuex │ │ ├── index.js -- 入口文件 │ │ └── modules -- modules │ │ ├── dictionary.js │ │ ├── router.js │ │ └── user.js │ ├── router -- 路由声明文件 │ │ └── index.js │ ├── style -- 全局样式 │ │ ├── base.scss │ │ ├── basics.scss │ │ ├── element_visiable.scss -- 此处可以全局覆盖 element-plus 样式 │ │ ├── iconfont.css -- 顶部几个icon的样式文件 │ │ ├── main.scss │ │ ├── mobile.scss │ │ └── newLogin.scss │ ├── utils -- 方法包库 │ │ ├── asyncRouter.js -- 动态路由相关 │ │ ├── btnAuth.js -- 动态权限按钮相关 │ │ ├── bus.js -- 全局mitt声明文件 │ │ ├── date.js -- 日期相关 │ │ ├── dictionary.js -- 获取字典方法 │ │ ├── downloadImg.js -- 下载图片方法 │ │ ├── format.js -- 格式整理相关 │ │ ├── image.js -- 图片相关方法 │ │ ├── page.js -- 设置页面标题 │ │ ├── request.js -- 请求 │ │ └── stringFun.js -- 字符串文件 | ├── view -- 主要view代码 | | ├── about -- 关于我们 | | ├── dashboard -- 面板 | | ├── error -- 错误 | | ├── example --上传案例 | | ├── iconList -- icon列表 | | ├── init -- 初始化数据 | | | ├── index -- 新版本 | | | ├── init -- 旧版本 | | ├── layout -- layout约束页面 | | | ├── aside | | | ├── bottomInfo -- bottomInfo | | | ├── screenfull -- 全屏设置 | | | ├── setting -- 系统设置 | | | └── index.vue -- base 约束 | | ├── login --登录 | | ├── person --个人中心 | | ├── superAdmin -- 超级管理员操作 | | ├── system -- 系统检测页面 | | ├── systemTools -- 系统配置相关页面 | | └── routerHolder.vue -- page 入口页面 ├── vite.config.js -- vite 配置文件 └── yarn.lock
การจัดการสิทธิ์: การจัดการสิทธิ์ตาม jwt
และ casbin
การอัพโหลดและดาวน์โหลดไฟล์: ใช้การดำเนินการอัพโหลดไฟล์ตาม七牛云
,阿里云
และ腾讯云
(โปรดพัฒนาแอปพลิเคชันของคุณเองสำหรับ token
ที่เกี่ยวข้องหรือ key
ที่เกี่ยวข้องในแต่ละแพลตฟอร์ม)
การห่อหุ้มเพจ: ส่วนหน้าใช้ mixins
เพื่อห่อหุ้มเพจ และวิธีการเพจเพียงเรียก mixins
การจัดการผู้ใช้: ผู้ดูแลระบบกำหนดบทบาทผู้ใช้และการอนุญาตบทบาท
การจัดการบทบาท: สร้างออบเจ็กต์หลักสำหรับการควบคุมสิทธิ์ และกำหนดสิทธิ์ API และการอนุญาตเมนูต่างๆ ให้กับบทบาท
การจัดการเมนู: ตระหนักถึงการกำหนดค่าเมนูแบบไดนามิกของผู้ใช้และตระหนักถึงเมนูที่แตกต่างกันสำหรับบทบาทที่แตกต่างกัน
การจัดการ API: ผู้ใช้ที่แตกต่างกันมีสิทธิ์ที่แตกต่างกันบนอินเทอร์เฟซ API ที่พวกเขาสามารถเรียกได้
การจัดการการกำหนดค่า: ไฟล์การกำหนดค่าสามารถแก้ไขได้ที่แผนกต้อนรับ (ฟังก์ชันนี้ไม่สามารถใช้งานได้บนไซต์ประสบการณ์ออนไลน์)
การค้นหาแบบมีเงื่อนไข: เพิ่มตัวอย่างการค้นหาแบบมีเงื่อนไข
ตัวอย่างการพักผ่อน: คุณสามารถอ้างอิงถึง API ตัวอย่างได้ในโมดูลการจัดการผู้ใช้
การอ้างอิงไฟล์ส่วนหน้า: web/src/view/superAdmin/api/api.vue
การอ้างอิงไฟล์พื้นหลัง: server/router/sys_api.go
ข้อจำกัดการเข้าสู่ระบบแบบหลายจุด: คุณต้องเปลี่ยน use-multipoint
ใน system
เป็น true ใน config.yaml
(คุณต้องกำหนดค่าพารามิเตอร์ Redis และ Redis ใน Config ด้วยตัวเอง ในระหว่างขั้นตอนการทดสอบ โปรดรายงานข้อบกพร่องใดๆ ให้ทันเวลา)
การอัปโหลดแบบหลายส่วน: ให้ตัวอย่างการอัปโหลดไฟล์แบบหลายส่วนและการอัปโหลดไฟล์ขนาดใหญ่แบบหลายส่วน
ตัวสร้างแบบฟอร์ม: ตัวสร้างแบบฟอร์มด้วยความช่วยเหลือของ @Variant Form
ตัวสร้างโค้ด: ตรรกะพื้นฐานเบื้องหลังและตัวสร้างโค้ดนมเปรี้ยวอย่างง่าย
https://www.yuque.com/flipped-aurora
มีวิดีโอการสอนเฟรมเวิร์กส่วนหน้ารวมอยู่ด้วย หากคุณคิดว่าโครงการนี้มีประโยชน์สำหรับคุณ คุณสามารถเพิ่ม WeChat ส่วนตัวของฉัน: shouzi_1994 คุณสามารถส่งคำขออันมีค่าได้
(1) วิดีโอแนะนำทีละขั้นตอน
https://www.bilibili.com/video/BV1Rg411u7xH/
(2) ข้อมูลเบื้องต้นเกี่ยวกับการปรับโครงสร้างไดเร็กทอรีส่วนหลังและวิธีการใช้งาน
https://www.bilibili.com/video/BV1x44y117TT/
(3) วิดีโอการสอนขั้นพื้นฐาน golang
บิลิบิลี: https://space.bilibili.com/322210472/channel/detail?cid=108884
(4) การสอนพื้นฐานของกรอบจิน
บิลิบิลี: https://space.bilibili.com/322210472/channel/detail?cid=126418&ctype=0
(5) วิดีโอแนะนำการอัปเดตเวอร์ชัน gin-vue-admin
แฟ้ม: https://www.bilibili.com/video/BV1kv4y1g7nT