{"id":19150949,"url":"https://github.com/hequan2017/go-web-admin","last_synced_at":"2025-07-21T16:08:25.519Z","repository":{"id":88397829,"uuid":"232511780","full_name":"hequan2017/go-web-admin","owner":"hequan2017","description":"基本gf的 go web 管理框架","archived":false,"fork":false,"pushed_at":"2020-01-19T08:21:49.000Z","size":37,"stargazers_count":3,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T05:28:15.179Z","etag":null,"topics":["gf","gin","go","goframe"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hequan2017.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-01-08T08:08:08.000Z","updated_at":"2022-03-08T10:29:47.000Z","dependencies_parsed_at":"2023-03-12T04:30:37.966Z","dependency_job_id":null,"html_url":"https://github.com/hequan2017/go-web-admin","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hequan2017/go-web-admin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hequan2017%2Fgo-web-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hequan2017%2Fgo-web-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hequan2017%2Fgo-web-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hequan2017%2Fgo-web-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hequan2017","download_url":"https://codeload.github.com/hequan2017/go-web-admin/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hequan2017%2Fgo-web-admin/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266332629,"owners_count":23912663,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gf","gin","go","goframe"],"created_at":"2024-11-09T08:13:25.681Z","updated_at":"2025-07-21T16:08:25.494Z","avatar_url":"https://github.com/hequan2017.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-web-admin  \n\n![版本](https://img.shields.io/badge/release-0.1.1-blue.svg)\n![语言](https://img.shields.io/badge/language-golang1.12-blue.svg)\n![base](https://img.shields.io/badge/env-goframe1.11.1-red.svg)\n\n\n\u003e 基于 goframe 框架,完成 go web后端 基本组件开发\n\n\n\n## 目录\n\n```\n- app\t  业务逻辑层\t所有的业务逻辑存放目录。\n    - api\t业务接口\t接收/解析用户输入参数的入口/接口层。\n    - model\t数据模型\t数据管理层，仅用于操作管理数据，如数据库操作。\n    - service\t逻辑封装\t业务逻辑封装层，实现特定的业务需求，可供不同的包调用。\n- boot\t初始化包\t用于项目初始化参数设置。\n- config\t配置管理\t所有的配置文件存放目录。\n- docfile\t项目文档\tDOC项目文档，如: 设计文档、脚本文件等等。\n- library\t公共库包\t公共的功能封装包，往往不包含业务需求实现。\n- log           日志\n- public\t静态目录\t仅有该目录下的文件才能对外提供静态服务访问。(本项目没用到)\n- router\t路由注册\t用于路由统一的注册管理。\n- template\t模板文件\tMVC模板文件存放的目录。(本项目没用到)\n- test          单元测试\n- go.mod\t依赖管理\t使用Go Module包管理的依赖描述文件。\n- main.go\t入口文件\t程序入口文件。\n```\n\n\n## 实现功能\n* 登录\n* jwt验证\n* 权限验证 \n* 用户user      增删改查\n* 权限组role    增删改查\n* 菜单menu      增删改查\n\n\n\n## 权限验证说明\n\u003e  利用的casbin库, 将  user  role  menu 进行自动关联\n\n```\n项目启动时,会自动加载权限. 如有更改,会删除对应的权限,重新加载.\n\n用户关联角色  \n角色关联菜单  \n\n权限关系为:\n角色(role.name,menu.path,menu.method)  \n用户(user.username,role.name)\n\n例如:\ntest      /api/v1/users       GET\nhequan     test\n\n当hequan  GET  /api/v1/users 地址的时候，会去检查权限，因为他属于test组，同时组有对应权限，所以本次请求会通过。\n\n用户 admin 有所有的权限,不进行权限匹配\n\n登录接口 /token  不进行验证\n```\n\n## 请求\n\n\u003e 请求和接收 都是 传递 json 格式 数据\n```\n例如:\n访问 /token    获取token\n{\n\t\"username\": \"admin\",\n\t\"password\": \"123456\"\n}\n\n访问 http://127.0.0.1:8000/api/v1/users?page=1\n \n请求头设置  Authorization: Token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n\n```\n\n\n##  运行\n\n* 部署mysql,创建库 go-web-admin\n* 导入docfile/sql/go-web-admin.sql\n* 修改配置文件 config/config.toml\n\n\n```bash\n\n\ngo run  main.go\n2020-01-09 11:15:45.119 [INFO] 更新角色权限关系 [[\"hequan\",\"运维部\"]]\n2020-01-09 11:15:45.208 [INFO] 角色权限关系 [[\"hequan\",\"运维部\"]]\n\n  SERVER  | DOMAIN  | ADDRESS | METHOD |       ROUTE       |                     HANDLER                      |    MIDDLEWARE\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | ALL    | /*                | go-web-admin/library/jwt.JWT                     | GLOBAL MIDDLEWARE\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | ALL    | /*                | go-web-admin/library/permission.CasbinMiddleware | GLOBAL MIDDLEWARE\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | ALL    | /*                | go-web-admin/router.MiddlewareCORS               | GLOBAL MIDDLEWARE\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | DELETE | /api/v1/menus/*id | go-web-admin/app/api/a_menu.(*Controller).Delete |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | GET    | /api/v1/menus/*id | go-web-admin/app/api/a_menu.(*Controller).Get    |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | POST   | /api/v1/menus/*id | go-web-admin/app/api/a_menu.(*Controller).Post   |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | PUT    | /api/v1/menus/*id | go-web-admin/app/api/a_menu.(*Controller).Put    |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | DELETE | /api/v1/roles/*id | go-web-admin/app/api/a_role.(*Controller).Delete |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | GET    | /api/v1/roles/*id | go-web-admin/app/api/a_role.(*Controller).Get    |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | POST   | /api/v1/roles/*id | go-web-admin/app/api/a_role.(*Controller).Post   |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | PUT    | /api/v1/roles/*id | go-web-admin/app/api/a_role.(*Controller).Put    |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | DELETE | /api/v1/users/*id | go-web-admin/app/api/a_user.(*Controller).Delete |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | GET    | /api/v1/users/*id | go-web-admin/app/api/a_user.(*Controller).Get    |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | POST   | /api/v1/users/*id | go-web-admin/app/api/a_user.(*Controller).Post   |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | PUT    | /api/v1/users/*id | go-web-admin/app/api/a_user.(*Controller).Put    |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | ALL    | /token            | go-web-admin/app/api/a_user.Login                |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n  default | default | :8000   | ALL    | /userInfo         | go-web-admin/app/api/a_user.UserInfo             |\n|---------|---------|---------|--------|-------------------|--------------------------------------------------|-------------------|\n\n\n默认账户密码  admin  123456\n```\n\n\n## 所用组件\n* goframe\n* gorm\n* casbin\n* jwt-go\n* mysql\n* sha1\n\n\n## 注释\n\n\n```\n200：请求成功\n201：创建、修改成功\n204：删除成功\n400：参数错误\n401：未登录\n403：禁止访问\n404：未找到\n500：系统错误\n```\n\n\n## 作者\n* 何全\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhequan2017%2Fgo-web-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhequan2017%2Fgo-web-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhequan2017%2Fgo-web-admin/lists"}