Code Monkey home page Code Monkey logo

gmanager's Introduction

gmanager

  • 基于gf框架的管理后台,支持登录、认证、组织机构、用户帐号、角色权限、菜单、操作日志
  • gmanager已全面支持前后端分离,同时也支持服务端模板部署;
  • 登录组件使用gtoken完美支持集群部署

安装教程

代码地址

下载部署

  1. 从git下载项目: git clone https://github.com/goflyfox/gmanager
  2. 安装mysql数据库,创建db,运行deploy下gmanager.sql脚本
  3. 修改config下config.toml配置文件
# 数据库配置
[database]
    link = "root:123456@tcp(127.0.0.1:3306)/gmanager"
  1. go run main.go
  2. 访问http://localhost即可看到登录页面,账号/密码:admin/123456

服务端打包

  1. 打包可以使用gf提供的gf-cli进行打包
  2. 也可通过原始交叉编译命令

打linux环境包

SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go

打本地环境包

go build main.go

前后端分离说明

  1. gmanager完全支持前后端分离,前端使用vue-admin-template
  2. 前端运行下载github代码,运行npm install&npm run dev
  3. 具体前端代码及详细部署说明见: https://github.com/goflyfox/gmanager-web
  4. 由于前后端分离和服务端模板菜单有所区别,数据库需要运行:gmanager-web.sql
  5. 如果有强迫症,使用前后端分离可以把public和template目录里面内容删除,但目录一定要保留;

功能模块

  1. 登录、认证、登出
  2. 组织机构管理
  3. 用户管理
  4. 角色管理
  5. 菜单管理
  6. 日志管理
  7. 支持登录、登出、业务增删改操作记录
  8. 支持接口调用、返回参数打印,便于问题排查

代码生成

如需代码生成,请参考java项目:https://gitee.com/jflyfox/AutoCreate

平台截图

服务端模板截图

登录: image

组织机构: image

用户管理: image

日志管理: image

前后端分离Vue截图

登录: image

组织机构: image

用户管理: image

日志管理: image

感谢

  1. gf框架 https://github.com/gogf/gf

项目支持

jflyfox

捐赠列表

gmanager's People

Contributors

zcool321 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gmanager's Issues

Who to contact for security issues

Hello 👋

I run a security community that finds and fixes vulnerabilities in OSS. A researcher (@cokeBeer) has found a potential issue, which I would be eager to share with you.

Could you add a SECURITY.md file with an e-mail address for me to send further details to? GitHub recommends a security policy to ensure issues are responsibly disclosed, and it would help direct researchers in the future.

Looking forward to hearing from you 👍

(cc @huntr-helper)

分页时计算总页面不准确

Page 分页查询查询方法,求总页数时好像没有考虑到记录数“刚好1页”和“多出1页,不足2页”的情况。
应该将:form.TotalPage = num / form.Rows
优化成:
if (num % form.Rows) != 0 {
form.TotalPage = (num / form.Rows) + 1
} else {
form.TotalPage = num / form.Rows
}

权限控制到方法

您好,我也一位刚入门go语言开发者,目前我在看gmanager框架权限这一块,发现只能控制到菜单,不能控制到方法,请问是不是需要自己写一个中间件来支持呢?请问菜单管理中的按钮选项就是用来填写方法路径的呢?谢谢🙏

修改密码功能不能使用

刚开始学习go 使用这个项目的时候 发现修改密码功能一直操作不成功,
调试代码发现无法解决以下问题

  1. 对比过实体和数据库结构 均一致
  2. 代码调试看不到问题出在哪

2021-03-12 17:53:43.758 [ERRO] Password error sql: expected 27 arguments, got 28, UPDATE sys_userSETstatus=10,tel='123',back_site_id=5,real_name='系统管理员',depart_id=10001,address='',uuid='94091b1fa6ac4a27a06c0b92155aea6a',endtime='',user_type=1,remark='时间是最好的老师,但遗憾的是——最后他把所有的学生都弄死了',enable=1,update_time='2021-03-12 17:53:40',create_time='2017-03-19 20:41:25',create_id=1,id=1,password='ef694f728a44575bedc8ee7caa2d5c48',thirdid='',email='[email protected]',title_url='',theme='flat',create_site_id=1,project_id=1,username='admin',salt='1111',project_name='test',update_id=1 WHERE id` IN (1)
Stack:

  1. gmanager/app/api/user.(*Action).Password

    XXXXXXX/src/gmanager/app/api/user/userAction.go:210`

删除用户的问题

删除一个用户,如果这个用户关联到上下级,是否会影响上下级树。
比如一个用户甲有上级A,有下级CDEFGHJK等。
当删除用户甲后,他的下级CDEFGHJK的上级就找不到了。这个怎么处理?

建议把home.html中左侧菜单的代码再优化一下,我已经优化测试了,我分享给你哈

getMenuList: function () {
            dudu.get(dudu.ctx + "/system/user/menu?_" + $.now(), function (r) {
                if (r.code != 0) {
                    console.info("getMenuList fail:" + r)
                    return
                }           
                vm.menuList = vm.getTreeMenus(r.data,0);
                console.log(vm.menuList )
                // 暂时不现实按钮权限
                // window.permissions = r.perms;
            });
        },
        getTreeMenus:function(data,parentId){
            var tmpMenus = [];
            for (var i = 0; i < data.length; i++) {
                    if(data[i].parentId==parentId){
                        data[i].childs = vm.getTreeMenus(data,data[i].id); 
                        tmpMenus.push(data[i]);
                    }                    
                }
//注释部分为狐大佬写的代码
                // for (var i = 0; i < data.length; i++) {
                //     if (data[i].level == 1) {
                //         data[i].childs = [];
                //         tmpMenus.push(data[i]);
                //     }
                // }
                // for (var j = 0; j < tmpMenus.length; j++) {
                //     for (var i = 0; i < data.length; i++) {
                //         if(data[i].level== 1){
                //             continue
                //         }
                //         if (data[i].parentId == tmpMenus[j].id) {
                //             tmpMenus[j].childs.push(data[i]);
                //         }
                //     }
                // }
                return tmpMenus

        },
```js

请问model下的文件是怎么生成的呢?

在这个数据库下添加别的表,然后使用gf命令生成文件,会在xxx_model.go文件中报错m.M.Ctx undefined (type *gdb.Model has no field or method Ctx),请问您知道原因吗?

Departments cannot add

Every time add a department ,the Id of the department default is 0, department.Model.Insert(entity) save fail

gtoken编译错误

github.com/goflyfox/gmanager/gtoken

gtoken\gtoken.go:336:12: assignment mismatch: 2 variables but 1 values
gtoken\gtoken.go:352:28: cannot use token (type []byte) as type string in argument to gbase64.Encode
gtoken\gtoken.go:362:39: cannot use ([]byte)(token) (type []byte) as type string in argument to gbase64.Decode
exit status 2
Process exiting with code: 1

go 版本是1.11.1 gf版本是1.7.0

re:是gf版本的问题 升级到了1.7.3就ok了

权限控制到方法

您好,我也一位刚入门go语言开发者,目前我在看gmanager框架权限这一块,发现只能控制到菜单,不能控制到方法,请问是不是需要自己写一个中间件来支持呢?请问菜单管理中的按钮选项就是用来填写方法路径的呢?谢谢🙏

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.