前言
不知不觉中发觉我们竟然开发了好多给运营和产品人员使用的工具。
很多东西都是因为市面上没有与之对应的工具、或者说就是不好用。
比如:二维码生成工具,如果直接在网络上生成,很可能就会被限制扫描次数,更有甚者直接被注入广告。
再比如网页截图工具,找遍了整个 Google Chrome 应用市场尽然没有一个能正常截出整个网站的,而且即使通过手动截图,也还有一个字体版权问题。
正是因为有这样那样的原因,导致不得不自己去开发。
但是呢,这些工具本身是非常分散的。而且很多人根本不知道有这个工具。
就会出现这么一个情况,今天可能有个人问你,然后你发给她,后续其他人问你,你又发给她,再后来人问多了就感觉不能这么做下去。
目标
提供一个平台,同时对接开发人员和使用人员。
- 针对开发者,他可以在这个平台上直接挂载他开发的工具。
- 针对使用者,她只需要登录这个平台搜索她需要的工具,如果没有,她可以在上面提需求。
方案
开发人员接入方式
同时支持两种方式:
- 直接给链接、点击后跳转到他的网站。
- 通过微前端的方式直接作为一个子路由接入。用户直接在当前窗口就能使用而不用跳出。
域名
起名是个大问题。
希望用一个不超过 5 个字母的英语单词。
最开始想的是直接用 tool,但是感觉太直白没有内涵。
又想到说用 planet,但其他系统有用。
再后来就考虑直接用 toolman,工具人,很好,简单、直白、好记。
管理
需要有一个动态管理接入功能的能力,可以实时的进行增加、删除、修改。
这个时候我们需要一个存储这些数据的地方,可以复用现在的 tutor-web-basis 的能力。
实现
整体是一个基于 qiankun 的微前端架构。实际自己的内容就只有一个首页和管理页面。
导航
导航是所有页面都包含的部分。
常驻在页面顶部的横条,直接多级菜单栏功能,通过下拉查看。
考虑到前期工具数量不会太多,暂不提供搜索功能。
首页
首页内容包含:
- 反馈的入口。暂定放到 cms-log 里。
- 接入说明的入口。
- 平铺现在存在的所有工具。
管理页
提供一个动态菜单栏管理的功能。数据存放到 tutor-web-basis。
更新后需要把导航部分也一并更新。
现存工具
- 二维码生成
- 手机端网页截图
- 短地址生成
- 图片压缩上传
- 基地
最后
一个个小工具分散开来什么都不是,但一旦组合起来的那将是另一片天地。可以对照 Linux 的诞生。