请教大家一个 web 功能设计问题

2023-03-02 16:22:09 +08:00
 unt

同一个逻辑页面,需要给不同的用户(每个用户都有若干子用户)显示不同的 UI (区别很大,应该要做组件级隔离),目前姑且算是有五种 UI 。怎么设计呢:

  1. 直接建不同的路由,权限里分配路由权限;

  2. 配置路由参数,权限里配置路由参数,再配合路由守卫鉴权;

  3. 将页面 ui 部分进行有效的拆分,直接在组件里进行判断显示

1047 次点击
所在节点    程序员
6 条回复
yunye
2023-03-02 16:28:50 +08:00
3
kop1989smurf
2023-03-02 16:29:49 +08:00
1 和 2 暂且理解为一种设计的两种技术解决方案。
3 是单独的一种设计形态。

然后个人理解这还取决于:
1 、你的业务确定封顶在 5 类 UI 么,会不会再次蔓延?如果会,建议选 3 ,否则 1 或 2
2 、这个业务 UI 不同,逻辑相同么?如果逻辑相同,有选 3 的可能性(不推荐),否则 1 或 2.
unt
2023-03-02 18:20:33 +08:00
@kop1989smurf 数据和逻辑目前是一样的,但是不排除以后需要根据客户需求调整。

然后 UI 种类是根据业务发展来的,目前是 3 种,不排除以后业务好的话有 20 种。也有可能今年业务不佳,业务整体裁掉。
duan602728596
2023-03-02 20:04:18 +08:00
感觉和我以前做过的新闻平台发文的需求很像,我们当时有好多新闻类型。我当时的做法是:
每个类型一种 UI 。
像叠积木一样,将 UI 需要的组件进行拆分,每个组件只负责一种功能。组件之前如果有通信,用 Event 监听。这样可以减少组件间的互相依赖。不同的类型就将组件根据不同的需求组合起来。
数据和逻辑统一处理,数据只有一个入口和出口。当时在浏览器环境内使用了 graphql 。不同类型需要获取和处理哪些数据,直接通过 graphql 的查询语句组合起来。这样就不必拆分处理逻辑,而且也能精细的获取到想要的数据。
路由处理建议 1 和 2 。
vizards
2023-03-03 11:27:36 +08:00
目前实践下来最简单的方法是给需要权限的 dom 挂上 data-permission-id (你喜欢的名字),然后在整个 app 顶层用 mutationObserver 集中处理权限并按需隐藏所有的权限 dom ,既实现了框架无关也做到了动态化控制权限无需发布前端代码
unt
2023-03-03 12:17:25 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/920549

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX