File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 8484 3 . 主业务项目,以` app_子业务名_xxx ` 为前缀,后面衔接模块业务名
8585 2 . 这里我简单举例说明下,比如` app_user_level ` ,表示我是要开发自己的业务,需要用` app ` 标记,而具体的子业务是` user ` ,具体功能是` level ` ,直到` 子业务 ` 的命名一定要规范,这是为了后续一键生成代码体验更好
86862 . 尽可能按照已有功能的文件结构和命名方式来开发项目,模板本身就是按照该规则实现的,尽量约束自己的开发范围
87+ 3 . 注释规范:因为` 接口同步 ` 需要录入接口功能说明,每个方法前都需要按规范写上注释(功能说明),尤其路由接口上,规范是:` // 方法名 功能说明 `
88+ 4 . 按钮权限规范:` 菜单管理 ` 中,会涉及到按钮的权限配置,此时你配置的权限内容要和页面中` permission ` 属性配置内容保持一致,命名规则最好按我这样:` 业务名:包名:作用 ` ,同样以` app_user_level ` 表为例,` 新增按钮 ` 权限命名为:` app:user_level:add ` ;` 删除按钮 ` 权限命名为:` app:user_level:del``更新按钮 ` 权限命名为:` app:user_level:edit ` ;` 查询 ` 权限命名为:` app:user_level:query ` 。权限这个很灵活,你根据自己实际场景来尝试,比如有时候你可以不用在页面设置` permisson ` ,一样能达到权限控制效果
8789
8890## 4. 部署
8991分为数据库、后端、前端部署
@@ -149,8 +151,21 @@ npm run build:prod
149151 3 . 你生成代码后,会自动产生个` user ` 目录,该目录下的` router ` 目录中会有个` router.go.bk ` 文件,这时,你把` .bk ` 后缀去掉
150152 4 . 然后回到` app目录 ` 下,在` init.go ` 文件中,按照已有的样例,把自己的业务路由` append ` 加上去,也就是注入路由
151153 5 . 至此你的业务模块就能和项目框架关联上了
152-
153- ## 7. 总结
154+
155+ ## 7. 子账户权限分配功能
156+ 如果你想让某个管理员只能操作指定的菜单,那就需要该功能了,具体这样逻辑:
157+ 1 . 先` 角色管理 ` 菜单中,创建一个角色,并指定该角色能操控哪些菜单
158+ 2 . 给你指定的管理员分配上刚创建的角色
159+ 3 . 这时,那个管理员登录后,就只能看到你刚分配的菜单了
160+ 4 . 你会发现,此时点击菜单会提示无权限,这是因为还没给菜单分配对应的接口,无法获取相应数据
161+ 5 . 为了安全,我后台服务端是需要根据角色判断该管理员是否有权限访问接口的,因此,接口需要和菜单绑定,具体需要这样操作
162+ 1 . 在` 接口管理 ` 中,你点击` 接口数据同步 ` ,此时服务端会通过Handler将所有接口信息录入到表中
163+ 2 . 你在` 菜单管理 ` 中,将接口绑定到对应` 菜单/按钮 ` 上,
164+ 3 . 此时,那个管理员就能访问他的菜单了,而其余菜单,哪怕他跳过页面去调试接口,也会提示无权限的。
165+ 6 . 之所以要点击` 接口数据同步 ` 是因为,新发布的项目,可能程序中新增了接口,但库中没有捕获到;也有可能新部署的程序删掉了某些接口。这时候点击同步,可以自动删除表中无效接口并增加程序新增的接口。这样就方便你绑定菜单了。
166+ 7 . 我没有在程序启动时,自动去录入接口,是因为不喜欢那种方式,总感觉那样耦合度太高,容易出问题。还是直接在页面上操作,不论成功还是失败,一目了然。
167+
168+ ## 8. 总结
154169说实话,这个开源的react前端无论体验和代码实现上,都还有很大提升空间,包括需要使用的技术等等都有很多地方可以替代下,这些更改只能是留给使用者来酌情调整了,我也会抽时间尽量把一些严重的页面问题给完善下。
155170
156171这里只是大概讲了下基本情况,具体更多内容,还是需要大家在使用中一点点去发现。
You can’t perform that action at this time.
0 commit comments