snowlyg/iris-admin:Web admin for go framework[gin/iris]
这是一个为go框架(gin/iris)构建的Web管理项目。项目由多个插件构成,每个插件具备不同功能,像[viper_server]插件用于配置初始化与本地配置文件生成,[zap_server]插件用于日志...
标签:Github项目gin/iris goframework snowlyg/iris-admin Webadmin 插件功能【Github】项目名:snowlyg/iris – admin:Web admin for go framework[gin/iris]
一、项目简介
这是一个为go框架(gin/iris)构建的Web管理项目。项目由多个插件构成,每个插件具备不同功能,例如[viper_server]插件用于配置初始化与本地配置文件生成,[zap_server]插件用于日志记录等。
二、项目构成与功能
1. 在配置初始化方面,[viper_server]插件使用github.com/spf13/viper第三方包,实现配置初始化并生成本地配置文件,需要实现func getViperConfig() viper_server.ViperConfig方法。
2. 日志记录上,[zap_server]插件借助go.uber.org/zap第三方包,通过全局变量zap_server.ZAPLOG记录对应级别的日志。
3. 数据操作部分,[database]数据插件(目前仅支持mysql)利用gorm.io/gorm第三方包,通过单列database.Instance()操作数据。
4. 权限控制管理由[casbin]插件负责,使用casbin第三方包实现,通过casbin.Instance()使用中间件,达成接口权限认证。
5. [cache]缓存驱动插件采用github.com/go – redis/redis第三方包,通过单列cache.Instance()操作数据。
6. [operation]系统操作日志插件通过index.Use(operation.OperationRecord())使用中间件,实现接口自动生成操作日志。
7. [cron_server]任务插件使用robfig/cron第三方包,通过单列cron_server.CronInstance()操作数据。
8. 对于web框架,有web_iris(Go – Iris web框架插件)和web_gin(Go – gin web框架插件),需实现type WebFunc interface{}接口。
9. [mongodb]使用mongodb第三方包实现数据初始化,简单初始化可使用原生方法AutoMigrate()自动迁移初始化数据表,也可使用自定义迁移工具gormigrate第三方依赖包实现数据的迁移控制。
三、项目启动与使用
首次启动项目后,配置文件会自动生成到config目录下,同时生成一个rbac_model.conf文件到项目根目录(用于casbin权鉴的规则)。可以使用iris – admin – rbac项目快速集成权鉴功能,还可使用AddModule()增加其他admin模块。在前端配合方面,编译前端页面默认dist目录,可修改配置项web – path。默认内置了静态文件访问路径,静态文件上传到/static/upload目录,可修改配置项static – path。
四、项目测试
接口单元测试和接口文档测试前,需要设置mysqlPwd、mysqlAddr系统环境变量。测试使用依赖库helper/tests(基于httpexpect/v2的简单封装),测试时建议采用docker部署mysql,测试用例包含数据库创建摧毁、数据表新建及表数据填充等操作。
五、项目总结
这个snowlyg/iris – admin项目功能丰富,涵盖了从配置管理、数据操作、权限控制到日志记录等多方面的功能。在与前端的配合以及测试方面也有相应的设计。欢迎各位粉丝在下方留言,一起讨论这个项目的更多细节或者分享使用心得。
项目地址
数据统计
数据评估
本站链氪巴士提供的snowlyg/iris-admin:Web admin for go framework[gin/iris]都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。
相关导航
Bluesky Social application is available on Web, iOS, and Android. It is a React Native app written in TypeScript with some Golang code. Part of the ATProtocol ecosystem, it has its own set of schemas and APIs. Contributions are accepted with specific rules. Security issues can be reported via email. It is an open - source project under the MIT license. This app offers an alternative in the social media landscape and has its own development and contribution guidelines.