Giter Club home page Giter Club logo

weapp-password's Introduction

运维密码微信小程序

license WeApp

运维密码是一款为用户提供方便快捷的动态密码的微信小程序。

我们还开设了“运维密码”小程序体验群,欢迎大家到群内发表意见,以及寻求帮助。加入本群也可以及时体验我们发布前的体验版本,第一时刻尝鲜。

扫描识别添加上面的好友,验证信息:“运维密码”,可获得入群邀请。

特性

  1. 本地计算动态口令,无需联网
  2. 本地备份动态口令,安全放心
  3. 每30秒更新一次动态口令,低占用

依赖

  • 微信小程序开发工具

安装

  1. 使用 Git 或通过 Zip 的方式下载源代码
git clone https://github.com/LCTT/WeApp-Password.git
  1. 使用微信小程序开发工具打开本目录。

变更日志

参见 变更日志

贡献

参见 贡献说明

版权说明

代码基于AGPL V3 开放源代码 文档基于CC-BY-ND协议共享

weapp-password's People

Contributors

bestony avatar wxy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

weapp-password's Issues

返回问题

点击左下角 “获取密码” 进入二维码扫描界面后,点击一次返回依然还在扫描的界面,需要点两次返回才行。

新增场景的表单信息

应该获取 OTP 链接中所有信息:

  • 场景名称 (可修改)
  • 账户名 (可修改)
  • 密钥 (只读显示)
  • 签发人 (只读显示)
    然后是一个增加备注的框。
    将来如果支持地理位置,应该还显示个经纬度或者地点?

云服务

云服务主要解决问题

  • 手机丢失问题
  • 换机问题

规划路径:
进入小程序 -> 设置页面 -> 进入云端备份页面 -> 展示云端数据条数和本地数据条数。
-> 选择_本地同步至云端_或_云端同步至本地_

高优先级

UI参考QQ同步助手。
p-2-s

用获取密码错误的扫描了场景创建二维码

情景:用“获取密码”来扫添加场景的二维码,会显示错误(扫码失败或不是你创建的场景),这时我觉得应该提示该二维码是创建场景二维码,并跳转到创建场景页面。

初次进入的引导页

内容如下:

首屏

运维密码

         [LOGO]

每一位运维人员都需要的 OTP 管理工具。

次屏

特点

  • 安全:支持 SSH、网站等 TOTP 密码验证
  • 亮点:支持本地备份和恢复
  • 轻量:有微信就能用
  • 可靠:关联到你的微信号身份
  • 方便:扫一扫就能查看 OTP

末屏

简明使用方式

  • 添加场景:扫描种子二维码,并保存;输入当即生成的 OTP 密码,完成对码。
  • 查看场景:打开“运维密码”,找到所需场景即可。
  • 扫描场景:或将场景的二维码图片打印并贴在附近,微信扫一扫即可。
  • 离线备份:不定期备份所有种子,以备恢复。

术语:

  • OTP :按照 TOTP 草案生成的基于时间的验证密码,通常用于双因子验证。
  • 种子:支持 OTP 的验证系统所提供的二维码,包含了 OTP 密码生成的相关信息。
  • 场景:指某个登录系统/环境,比如某个服务器、某个网站等等。

场景二维码需增加一些信息

在二维码上方,增加如下信息:

  • 第一行:场景名 (大号黑色字体)
  • 第二行:场景备注 (小号灰色字体)
  • 第三行:账号名(小号黑色字体)

不需要”返回场景管理“的按钮,上方有返回导航,这样确保整页截屏打印,没有无关信息。

目录管理功能

场景较多时,提供目录管理功能。

帮助整理场景

优先级低。

扫描失败后的取消动作

情景:用“获取密码”来扫添加场景的二维码,会显示错误(扫码失败或不是你创建的场景),这时如采取取消动作,应该返回“获取密码”页面,而不是显示空的“场景详情”页面。

小程序分享

1、只允许分享场景列表和场景详情页面
2、从分享出去的图片看,各个页面的头部(页面标题和说明)占位比较高,建议缩短高度。

不能删除最后一个场景?

不小心添加场景,添加了两个一样的。结果删除一个之后。另外一个不能删除?点击显示数据错误,但是刷新场景管理,还在。

邮件提醒

添加一个场景,发送一封邮件告知用户。

邮件中包含对应二维码

优先级中。

点按复制Code

点击Code,将Code置剪贴板的功能

优先级中
等待官方增加接口

新增场景的 URL 解码

场景名称、签发人等信息如果有 URLEncode 的话,需要解码。没事,如果自动解码的了,再次解码无非是原状罢了。

获取密码页面的 UI

应该直接显示扫描界面,而不需要点击“扫码获取密码”,一个是该链接不直观,不像是可以点击的,二来不必多一次点击。

OTP 口令的自动更新

在场景详情和场景管理的列表中,都应没30秒钟更新一次 OTP 密码。自动更新。并且最好有一个可以显示有效时间的进度(比如一个类似时钟的 GIF)

搜索功能

对于场景较多用户,提供搜索功能。

考虑借助云端实现。
本地端实现压力较大。需要对本地数据进行循环对比。

优先级中。

PIN/指纹验证

提供进入验证。对于安全需求较高的用户。可能需要PIN验证。以免手机被别人拿去。

优先级低。

全局底部菜单

除了二维码扫描界面外,其它的页面也都应该有全局的底部菜单,便于导航

引导页需求

提供一个引导页,引导用户使用。

判断用户是否是初次进入。

优先级中
要求:在风格确定后进行。

种子备份

1、评估使用 gzip 压缩生成二进制,并生成二维码的可行性(大小、二维码是否支持二进制数据,解码速度)
2、导出备份二维码要采用 JSON 格式,请包含元数据:

  • 导出数据格式的版本
  • 导出时间
  • 导出人的微信openID
  • 导出设备名
  • crc 校验和

3、导出后,在二维码下方加上该备份的标签信息,以备恢复时不会搞混:

  • 导出时间
  • 备份的种子数量

4、导出的备份是否需要和微信 ID 绑定,这个似乎是一个可选项,有时候需要,有时候不需要。

5、将来看了导出二维码的密码保护,即采用简单的 3des 密码保护数据。导出时输入密码,导入是询问密码。

分享文字

采用如下文字:“每一位运维人员都需要的 OTP 管理工具”

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.