一款Electron开发的密码管理器

779 阅读2分钟

引言

现在琳琅满目的网站都需要建立一个用户,再也不是05年那时候一个QQ号走天下的时候。我一直习惯使用电脑自带的记事本记录各个网站的账号密码,后来随着注册的网站越来越多,需要记录密码越来越多,导致我的记事本存储了很多的账号密码,会有很多的诟病,下面会提,所以这款密码管理器油然而生。

诟病

  1. 每次登录不经常登录的网站时候需要去记事本里面翻找。
  2. 不安全,如果被被媳妇看到你的银行密码,嘿嘿嘿~~~大家都懂。
  3. 市面上的密码管理器使用起来比较复杂,不够简洁。
  4. 市面上的密码管理器都是联网使用,会有被盗用的风险。
  5. ........

框架选项

我是一位前端开发者,首选对前端友好的框架使用:Electron肯定是很好的一个选择,它内置了chrome的v8引擎,当然这也导致它的打包体积比较大,这个作为后期优化的一个内容;渲染层我选择的是React + AntD的组合,当下最热门的组合之一,选择完开干。

项目初始化

  • electron项目搭建解决方案:electron-boilerplate
  • React半家桶:react + react-router
  • UI:antD + pro-from
  • 存储:electron-store
  • 加密:md5
  • 缓存:node-cache
  • 语言:typescript
  • 中文解析:cnchar

目录解析

graph TD
B[主进程]
B --> |events| C[IPC分发]
B --> |interface| D[接口]
D --> |list| D1[列表]
D --> |session| D2[会话]
D --> |user| D3[登录]
B --> |mixins| E[装饰器]
E --> |adaption| E1[装饰适配器]
B --> |main| F[主入口]
B --> |store| G[数据存储]
B --> |preload| H[预加载]
B --> |menu| K[菜单]
B --> |utils| L[工具]
graph TD
A[渲染进程]
A --> |api| B[接口]
A --> |components| C[模板]
A --> |utils| D[工具]
A --> |router| F[路由]
A --> |views| E[视图]
E --> |Home| E1[主页]
E --> |Login| E2[登录]
E --> |Settings| E3[设置]
E --> |OutApp| E4[搜索框]
E --> |App| E5[入口]

项目地址

secret-mission

欢迎大家Star一下,为人点赞手有余香,功能还处于灰度阶段,很多地方不够完善,需要更多的迭代工作,如果大家有兴趣可以一起进行迭代。

声明

项目为开源项目,只能用于交流与学习不能用于商用,如需转发需要注明出处,有任何问题可以提交issues或联系本人,本人会及时修复。

参考文档

electron

electron-boilerplate

electron-store

node-cache

cnchar