Skip to content

Commit 03ad9e9

Browse files
author
Bitxx
committed
更新文档说明
1 parent 7771cfd commit 03ad9e9

1 file changed

Lines changed: 17 additions & 2 deletions

File tree

README.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,8 @@
8484
3. 主业务项目,以`app_子业务名_xxx`为前缀,后面衔接模块业务名
8585
2. 这里我简单举例说明下,比如`app_user_level`,表示我是要开发自己的业务,需要用`app`标记,而具体的子业务是`user`,具体功能是`level`,直到`子业务`的命名一定要规范,这是为了后续一键生成代码体验更好
8686
2. 尽可能按照已有功能的文件结构和命名方式来开发项目,模板本身就是按照该规则实现的,尽量约束自己的开发范围
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
这里只是大概讲了下基本情况,具体更多内容,还是需要大家在使用中一点点去发现。

0 commit comments

Comments
 (0)