8000 GitHub - forgeries/gin-vue-admin: 🚀Vite+Vue3+Gin的开å‘基础平å°ï¼Œæ”¯æŒTSå’ŒJS混用。它集æˆäº†JWT鉴æƒã€æƒé™ç®¡ç†ã€åЍæ€è·¯ç”±ã€æ˜¾éšå¯æŽ§ç»„ä»¶ã€åˆ†é¡µå°è£…ã€å¤šç‚¹ç™»å½•拦截ã€èµ„æºæƒé™ã€ä¸Šä¼ ä¸‹è½½ã€ä»£ç ç”Ÿæˆå™¨ã€å¯AI辅助】ã€è¡¨å•生æˆå™¨å’Œå¯é…置的导入导出等开å‘必备功能。
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

🚀Vite+Vue3+Gin的开å‘基础平å°ï¼Œæ”¯æŒTSå’ŒJS混用。它集æˆäº†JWT鉴æƒã€æƒé™ç®¡ç†ã€åЍæ€è·¯ç”±ã€æ˜¾éšå¯æŽ§ç»„ä»¶ã€åˆ†é¡µå°è£…ã€å¤šç‚¹ç™»å½•拦截ã€èµ„æºæƒé™ã€ä¸Šä¼ ä¸‹è½½ã€ä»£ç ç”Ÿæˆå™¨ã€å¯AI辅助】ã€è¡¨å•生æˆå™¨å’Œå¯é…置的导入导出等开å‘必备功能。

License

Notifications You must be signed in to change notification settings

forgeries/gin-vue-admin

 
 

Repository files navigation

English | 简体中文

项目文档

在线文档 : https://www.gin-vue-admin.com

åˆå§‹åŒ–

从环境到部署教学视频

开呿•™å­¦ (贡献者: LLemonGreen And Fann)

交æµç¤¾åŒº

æ’件市场

é‡è¦æç¤º

1.本项目从起步到开å‘åˆ°éƒ¨ç½²å‡æœ‰æ–‡æ¡£å’Œè¯¦ç»†è§†é¢‘教程

2.æœ¬é¡¹ç›®éœ€è¦æ‚¨æœ‰ä¸€å®šçš„golangå’Œvue基础

3.您完全å¯ä»¥é€šè¿‡æˆ‘们的教程和文档完æˆä¸€åˆ‡æ“作,因此我们ä¸å†æä¾›å…费的技术æœåŠ¡ï¼Œå¦‚éœ€æœåŠ¡è¯·è¿›è¡Œä»˜è´¹æ”¯æŒ

4.如果您将此项目用于商业用途,请éµå®ˆApache2.0å议并ä¿ç•™ä½œè€…技术支æŒå£°æ˜Žã€‚您需ä¿ç•™å¦‚下版æƒå£°æ˜Žä¿¡æ¯ï¼Œä»¥åŠæ—¥å¿—和代ç ä¸­æ‰€åŒ…å«çš„版æƒå£°æ˜Žä¿¡æ¯ã€‚所需ä¿ç•™ä¿¡æ¯å‡ä¸ºæ–‡æ¡ˆæ€§è´¨ï¼Œä¸ä¼šå½±å“任何业务内容,如决定商用且必须剔除请购买授æƒ

1. 基本介ç»

1.1 项目介ç»

Gin-vue-admin是一个基于 vue å’Œ gin å¼€å‘的全栈å‰åŽç«¯åˆ†ç¦»çš„å¼€å‘基础平å°ï¼Œé›†æˆjwt鉴æƒï¼ŒåЍæ€è·¯ç”±ï¼ŒåЍæ€èœå•,casbin鉴æƒï¼Œè¡¨å•生æˆå™¨ï¼Œä»£ç ç”Ÿæˆå™¨ç­‰åŠŸèƒ½ï¼Œæä¾›å¤šç§ç¤ºä¾‹æ–‡ä»¶ï¼Œè®©æ‚¨æŠŠæ›´å¤šæ—¶é—´ä¸“注在业务开å‘上。

在线预览: http://demo.gin-vue-admin.com

测试用户å:admin

测试密ç ï¼š123456

1.2 贡献指å—

Hi! 首先感谢你使用 gin-vue-admin。

Gin-vue-admin 是一套为快速研å‘准备的一整套å‰åŽç«¯åˆ†ç¦»æž¶æž„å¼çš„å¼€æºæ¡†æž¶ï¼Œæ—¨åœ¨å¿«é€Ÿæ­å»ºä¸­å°åž‹é¡¹ç›®ã€‚

Gin-vue-admin çš„æˆé•¿ç¦»ä¸å¼€å¤§å®¶çš„æ”¯æŒï¼Œå¦‚果你愿æ„为 gin-vue-admin è´¡çŒ®ä»£ç æˆ–æä¾›å»ºè®®ï¼Œè¯·é˜…读以下内容。

1.2.1 Issue 规范

  • issue 仅用于æäº¤ Bug 或 Feature 以åŠè®¾è®¡ç›¸å…³çš„内容,其它内容å¯èƒ½ä¼šè¢«ç›´æŽ¥å…³é—­ã€‚

  • 在æäº¤ issue 之å‰ï¼Œè¯·æœç´¢ç›¸å…³å†…容是å¦å·²è¢«æå‡ºã€‚

1.2.2 Pull Request 规范

  • 请先 fork 一份到自己的项目下,ä¸è¦ç›´æŽ¥åœ¨ä»“库下建分支。

  • commit ä¿¡æ¯è¦ä»¥[文件å]: æè¿°ä¿¡æ¯ 的形å¼å¡«å†™ï¼Œä¾‹å¦‚ README.md: fix xxx bug。

  • å¦‚æžœæ˜¯ä¿®å¤ bug,请在 PR 中给出æè¿°ä¿¡æ¯ã€‚

  • åˆå¹¶ä»£ç éœ€è¦ä¸¤å维护人员å‚与:一人进行 review åŽ approve,å¦ä¸€äººå†æ¬¡ review,通过åŽå³å¯åˆå¹¶ã€‚

2. 使用说明

- node版本 > v16.8.3
- golang版本 >= v1.22
- IDE推è:Goland

2.1 server项目

使用 Goland 等编辑工具,打开server目录,ä¸å¯ä»¥æ‰“å¼€ gin-vue-admin 根目录

# 克隆项目
git clone https://github.com/flipped-aurora/gin-vue-admin.git
# 进入server文件夹
cd server

# 使用 go mod 并安装goä¾èµ–包
go generate

# è¿è¡Œ
go run . 

2.2 web项目

# 进入web文件夹
cd web

# 安装ä¾èµ–
npm install

# å¯åЍweb项目
npm run serve

2.3 swagger自动化API文档

2.3.1 安装 swagger

go install github.com/swaggo/swag/cmd/swag@latest

2.3.2 生æˆAPI文档

cd server
swag init

执行上é¢çš„命令åŽï¼Œserver目录下会出现docs文件夹里的 docs.go, swagger.json, swagger.yaml 三个文件更新,å¯åЍgoæœåС之åŽ, 在æµè§ˆå™¨è¾“å…¥ http://localhost:8888/swagger/index.html å³å¯æŸ¥çœ‹swagger文档

2.4 VSCode工作区

2.4.1 å¼€å‘

使用VSCode打开根目录下的工作区文件gin-vue-admin.code-workspace,在边æ å¯ä»¥çœ‹åˆ°ä¸‰ä¸ªè™šæ‹Ÿç›®å½•:backendã€frontendã€root。

2.4.2 è¿è¡Œ/调试

在è¿è¡Œå’Œè°ƒè¯•中也å¯ä»¥çœ‹åˆ°ä¸‰ä¸ªtask:Backendã€Frontendã€Both (Backend & Frontend)。è¿è¡ŒBoth (Backend & Frontend)å¯ä»¥åŒæ—¶å¯åЍå‰åŽç«¯é¡¹ç›®ã€‚

2.4.3 settings

在工作区é…置文件中有go.toolsEnvVars字段,是用于VSCode自身的go工具环境å˜é‡ã€‚此外在多go版本的系统中,å¯ä»¥é€šè¿‡gopathã€go.goroot指定è¿è¡Œç‰ˆæœ¬ã€‚

    "go.gopath": null,
    "go.goroot": null,

3. 技术选型

  • å‰ç«¯ï¼šç”¨åŸºäºŽ Vue çš„ Element 构建基础页é¢ã€‚
  • åŽç«¯ï¼šç”¨ Gin 快速æ­å»ºåŸºç¡€restful风格API,Gin 是一个go语言编写的Web框架。
  • æ•°æ®åº“:采用MySql > (5.7) 版本 æ•°æ®åº“引擎 InnoDB,使用 gorm 实现对数æ®åº“的基本æ“作。
  • 缓存:使用Rediså®žçŽ°è®°å½•å½“å‰æ´»è·ƒç”¨æˆ·çš„jwt令牌并实现多点登录é™åˆ¶ã€‚
  • API文档:使用Swagger构建自动化文档。
  • é…置文件:使用 fsnotify å’Œ viper 实现yamlæ ¼å¼çš„é…置文件。
  • 日志:使用 zap 实现日志记录。

4. 项目架构

4.1 系统架构图

系统架构图

4.2 å‰ç«¯è¯¦ç»†è®¾è®¡å›¾ (æä¾›è€…:baobeisuper)

å‰ç«¯è¯¦ç»†è®¾è®¡å›¾

4.3 目录结构

    ├── 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                -- 主æ–
8000
‡ä»¶
        │   ├── 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

5. 主è¦åŠŸèƒ½

  • æƒé™ç®¡ç†ï¼šåŸºäºŽjwtå’Œcasbin实现的æƒé™ç®¡ç†ã€‚
  • 文件上传下载:实现基于七牛云, 阿里云, 腾讯云 的文件上传æ“作(请开å‘自己去å„个平å°çš„申请对应 token 或者对应key)。
  • 分页å°è£…:å‰ç«¯ä½¿ç”¨ mixins å°è£…分页,分页方法调用 mixins å³å¯ã€‚
  • 用户管ç†ï¼šç³»ç»Ÿç®¡ç†å‘˜åˆ†é…用户角色和角色æƒé™ã€‚
  • 角色管ç†ï¼šåˆ›å»ºæƒé™æŽ§åˆ¶çš„主è¦å¯¹è±¡ï¼Œå¯ä»¥ç»™è§’色分é…ä¸åŒapiæƒé™å’Œèœå•æƒé™ã€‚
  • èœå•管ç†ï¼šå®žçŽ°ç”¨æˆ·åŠ¨æ€èœå•é…置,实现ä¸åŒè§’色ä¸åŒèœå•。
  • api管ç†ï¼šä¸åŒç”¨æˆ·å¯è°ƒç”¨çš„api接å£çš„æƒé™ä¸åŒã€‚
  • é…置管ç†ï¼šé…置文件å¯å‰å°ä¿®æ”¹(在线体验站点ä¸å¼€æ”¾æ­¤åŠŸèƒ½)。
  • æ¡ä»¶æœç´¢ï¼šå¢žåŠ æ¡ä»¶æœç´¢ç¤ºä¾‹ã€‚
  • restful示例:å¯ä»¥å‚è€ƒç”¨æˆ·ç®¡ç†æ¨¡å—中的示例API。
  • 多点登录é™åˆ¶ï¼šéœ€è¦åœ¨config.yaml中把system中的use-multipoint修改为true(需è¦è‡ªè¡Œé…ç½®Rediså’ŒConfig中的Redis傿•°ï¼Œæµ‹è¯•阶段,有bugè¯·åŠæ—¶å馈)。
  • 分片上传:æä¾›æ–‡ä»¶åˆ†ç‰‡ä¸Šä¼ å’Œå¤§æ–‡ä»¶åˆ†ç‰‡ä¸Šä¼ åŠŸèƒ½ç¤ºä¾‹ã€‚
  • 表å•生æˆå™¨ï¼šè¡¨å•生æˆå™¨å€ŸåŠ© @Variant Form 。
  • 代ç ç”Ÿæˆå™¨ï¼šåŽå°åŸºç¡€é€»è¾‘以åŠç®€å•curd的代ç ç”Ÿæˆå™¨ã€‚

6. 知识库

6.1 团队åšå®¢

https://www.yuque.com/flipped-aurora

内有å‰ç«¯æ¡†æž¶æ•™å­¦è§†é¢‘。如果觉得项目对您有所帮助å¯ä»¥æ·»åŠ æˆ‘çš„ä¸ªäººå¾®ä¿¡:shouzi_1994,欢迎您æå‡ºå®è´µçš„需求。

6.2 教学视频

(1)手把手教学视频

https://www.bilibili.com/video/BV1Rg411u7xH/

(2)åŽç«¯ç›®å½•结构调整介ç»ä»¥åŠä½¿ç”¨æ–¹æ³•

https://www.bilibili.com/video/BV1x44y117TT/

(3)golang基础教学视频

bilibili:https://space.bilibili.com/322210472/channel/detail?cid=108884

(4)gin框架基础教学

bilibili:https://space.bilibili.com/322210472/channel/detail?cid=126418&ctype=0

(5)gin-vue-admin 版本更新介ç»è§†é¢‘

bilibili:https://www.bilibili.com/video/BV1kv4y1g7nT

7. è”系方å¼

7.1 技术群

QQ交æµç¾¤ï¼š470239250

微信交æµç¾¤

微信

é˜²æ­¢å¹¿å‘Šè¿›ç¾¤ï¼Œæ·»åŠ å¾®ä¿¡ï¼Œè¾“å…¥ä»¥ä¸‹ä»£ç æ‰§è¡Œç»“果(请勿转ç ä¸ºstring)

str := "5Yqg5YWlR1ZB5Lqk5rWB576k"
decodeBytes, err := base64.StdEncoding.DecodeString(str)
fmt.Println(decodeBytes, err)

8. 贡献者

感谢您对gin-vue-admin的贡献!

9. æèµ 

如果你觉得这个项目对你有帮助,你å¯ä»¥è¯·ä½œè€…å–饮料 🹠点我

10. 商用注æ„事项

如果您将此项目用于商业用途,请éµå®ˆApache2.0å议并ä¿ç•™ä½œè€…技术支æŒå£°æ˜Žã€‚

About

🚀Vite+Vue3+Gin的开å‘基础平å°ï¼Œæ”¯æŒTSå’ŒJS混用。它集æˆäº†JWT鉴æƒã€æƒé™ç®¡ç†ã€åЍæ€è·¯ç”±ã€æ˜¾éšå¯æŽ§ç»„ä»¶ã€åˆ†é¡µå°è£…ã€å¤šç‚¹ç™»å½•拦截ã€èµ„æºæƒé™ã€ä¸Šä¼ ä¸‹è½½ã€ä»£ç ç”Ÿæˆå™¨ã€å¯AI辅助】ã€è¡¨å•生æˆå™¨å’Œå¯é…置的导入导出等开å‘必备功能。

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No 3DE8 packages published

Languages

  • Go 74.1%
  • Vue 18.1%
  • JavaScript 4.0%
  • Smarty 3.1%
  • SCSS 0.5%
  • Makefile 0.1%
  • Other 0.1%
0