当前位置: 首页 > 后端技术 > Node.js

golang开源后台管理系统

时间:2023-04-03 17:52:53 Node.js

go-admingo-admin是一款用go语言开发的后台管理系统。系统基于基于角色的权限管理设计(RBAC),完成了系统管理模块功能的开发(其他示例模块后续Plus),采用前后端分离的实现方式,服务器基于go开源的gin框架,前端开源框架为vue-element-admin。API文档是使用Swagger2.0自动生成的。设计原理采用时下流行的开源框架gin和vue-element-admin(这里下载的多语言版本i18n,非master分支),这些项目维护和更新比较好。尽量少修改vue-element-admin框架的代码,方便以后升级。前后端分离,前后端可以独立开发,互不影响。服务端控制前端菜单显示和相应的权限。系统环境golang语言:go1.13.3+,数据库:mysql5.7缓存:redis3.0项目地址github:https://github.com/guyan0319/...码云(国内):https://gitee.com/jason0319/g...简介在线预览本项目相关源码分析相关文章如下:11.1.1Vue-element-admin后台动态加载菜单快速入门1.克隆项目源码gitclonehttps://github.com/guyan0319/go-admin.git注:这里通过依赖管理工具gomod来管理项目的源码。2、由于vue-element-admin项目中的node_modules文件太大,打包成node_modules.zip(有同学在更新依赖包时遇到很多问题,所以将压缩包添加到项目中)。在运行项目之前,您必须记住将node_modules.zip解压到node_modules目录。或者执行如下命令更新依赖包。需要依赖的可执行文件,#进入项目目录cdvue-element-adminnpminstall--registry=https://registry.npm.taobao.org注意:win系统需要在vue-element中执行命令-doc下的admin目录。3.将data目录下的数据库文件systemdb.sql导入到你的数据库中,修改数据库配置文件conf/mysql.govarDb=map[string]DbConfig{"db1":{DriverName:"mysql",Dsn:"root:123456@tcp(127.0.0.1:3306)/systemdb?charset=utf8mb4&parseTime=true&loc=Local",ShowSql:true,ShowExecTime:false,MaxIdle:10,MaxOpen:200,},}4.修改conf/redis.go文件,设置自己的redis服务配置信息。varRedis=map[string]string{"name":"redis","type":"tcp","address":"127.0.0.1:6379","auth":"",}5.启动服务器gorunmain.go注意:go-admin采用前后端分离,运行前需要解决跨域问题。这里我们可以修改main.go文件。funcGetCorsConfig()cors.Config{config:=cors.DefaultConfig()config.AllowOrigins=[]string{"http://localhost:9529","http://localhost:9528","http://localhost:9527","http://localhost"}//在这里添加你的前端域名config.AllowMethods=[]string{"POST","GET","OPTIONS","PUT","DELETE"}config.AllowCredentials=trueconfig.AllowHeaders=[]string{"x-requested-with","Content-Type","AccessToken","X-CSRF-Token","X-Token","Authorization","token"}returnconfig}6.运行客户端npmrundev这里我们假设你是开发环境,已经安装了node.js。如果应用于线上环境,需要对前端文件进行打包,并部署相关的web服务(这里不再赘述,如有需要请联系我,或issues)。7、运行结果http://localhost:9527/#/login...登录测试账号信息账号:admin密码:1111118,服务端接口文档http://localhost:8090/swagger/index.html总结:目前仅完成系统管理模块的开发,后续会添加其他功能。如果您在使用过程中遇到任何问题或建议,请回复并留言。您的支持是我前进的动力。