写个密码管理工具吧(基于flutter)

一,背景

数字时代,需要记住的密码太多,但是人一上了岁数记忆力难免下降,不得不借助第三方工具,不过第三方的工具又信不过,没办法自己开发一个吧。

 

二,功能规划

好的软件一定要简单,初步规划一共三个页面,登陆验证页面,密码展示列表,修改及创建页面。

登陆验证当前采用手势,可以扩展到指纹和人脸等。

密码记录留有名称、账号、密码、邮箱、手机、备注 等信息,基本够用了。

设置验证信息,包括手势,密码,指纹等。

导入或者导出也或者直接同步到云端。

可以搜索。

主流程就是:登陆-》展示当前已有密码-》(可以新建,可以修改,可以删除)

 

 

写个密码管理工具吧(基于flutter)_第1张图片

三,实现

使用flutter框架

1,手势识别 使用  gesture_recognition 这个插件,也是初始页面

写个密码管理工具吧(基于flutter)_第2张图片

2,验证成功 路由跳转到主界面

写个密码管理工具吧(基于flutter)_第3张图片

 3,主界面 初始状态 从数据库读取所有密码

写个密码管理工具吧(基于flutter)_第4张图片

4,新建,修改,删除 共用同一个页面。根据初始时的type来 隐藏和显示按钮。

写个密码管理工具吧(基于flutter)_第5张图片

5,事件传递 使用  event_bus 这个插件,因为其它的不会

eventBus.on().listen((event) {
      setState(() {
        _eventInfo = event.info;
        List cmd = _eventInfo.split('_');
        if (cmd.length != 2) return;
        if (cmd.contains('get')) {
          //查询
          print('command get ' + cmd[1]);
          _getItem(int.parse(cmd[1]));
        } else if (cmd.contains('insert')) {
          //新建
          Navigator.push(context, MaterialPageRoute(builder: (context) {
            return PwdInfoPage(
              type: 1,
            );
          }));
        } else if (cmd.contains('update')) {
          //刷新
          _getDataFromDb();
        }
      });
    });

6,密码存储 使用sqlite 数据库 ,好像当前flutter 也就支持这个 

7,密码直接存数据库,那岂不是很危险,使用AES 加个密

写个密码管理工具吧(基于flutter)_第6张图片

四,最终效果(只完成了主要功能)

 

写个密码管理工具吧(基于flutter)_第7张图片

写个密码管理工具吧(基于flutter)_第8张图片

 

写个密码管理工具吧(基于flutter)_第9张图片

写个密码管理工具吧(基于flutter)_第10张图片

 

扫码有惊喜:

你可能感兴趣的:(其它)