uniapp 开发一个密码管理app

news2024/11/27 13:29:23

密码管理app

介绍

最近发现自己的账号密码真的是太多了,各种网站,系统,公司内网的,很多站点在登陆的时候都要重新设置密码或者通过短信或者邮箱重新设置密码,真的很麻烦

所以准备开发一个app用来记录这些站好和密码

uniapp

经过初步筛选,准备使用uniapp,比较简单,

开发步骤

  1. 注册dcloud账号
  2. 下载开发工具hbuilderx
  3. 创建项目
  4. 云打包
  5. 安装到手机

这就完事了,是不是很简单

下面分享下核心代码

路由
{
	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
		{
			"path" : "pages/tab/home/home",
			"style" : 
			{
				"navigationBarTitleText" : "密码管理",
				"enablePullDownRefresh" : false
			}
		},
		{
			"path" : "pages/tab/my/my",
			"style" : 
			{
				"navigationBarTitleText" : "我的",
				"enablePullDownRefresh" : false
			}
		},
		{
			"path" : "pages/tab/home/add",
			"style" : 
			{
				"navigationBarTitleText" : "添加内容",
				"enablePullDownRefresh" : false
			}
		},
		{
			"path" : "pages/tab/home/show",
			"style" : 
			{
				"navigationBarTitleText" : "查看内容",
				"enablePullDownRefresh" : false
			}
		}
	
	],
	"tabBar": {
		"color": "#CCC",
		"selectedColor": "#3cc51f",
		"borderStyle": "black",
		"backgroundColor": "#ffffff",
		"list": [{
			"pagePath": "pages/tab/home/home",
			"iconPath": "static/image/shouye.png",
			"selectedIconPath": "static/image/shouye_1.png",
			"text": "管理"
		}, {
			"pagePath": "pages/tab/my/my",
			"iconPath": "static/image/wode.png",
			"selectedIconPath": "static/image/wode_1.png",
			"text": "我的"
		}]
	},
	"globalStyle": {
		"navigationBarTextStyle": "#FFFFFF",
		"navigationBarTitleText": "密码管理",
		"navigationBarBackgroundColor": "#32CD32",
		"backgroundColor": "#32CD32"
	},
	"uniIdRouter": {}
}

主页
<template>
	<view class="content">
		<view class="allNum">
			总数量{{list.length}}
		</view>
		<view class="list">
			<view class="list-item"  v-for="(item,index) in list">
				<view class="item-text" @click="show(item)">
					{{item.name}}
				</view>
				<view class="time">
					时间:{{item.time}}
				</view>
				<view class="deleteBtn" @click="deleteById(index)">
					删除
				</view>
			</view>
		</view>
	</view>
	<view class="bottom">
		<view class="addBtn" @click="add">+</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				list: []
			}
		},
		onLoad() {
			this.read()
		},
		onShow() {
			this.read()
		},
		methods: {
			read() {
				var _that = this
				uni.getStorage({
					key:"datajson",
					success(res) {
						var _list = res.data
						_list.sort((e1,e2)=>e2.id - e1.id)
						_that.list = _list
					},fail(err) {
					}
				})

		},
		add() {
			uni.navigateTo({
				url: 'add'
			})
		},
		show(item) {
			var param = ''
			param += '?name=' + item.name
			param += '&id=' + item.id
			param += '&account=' + item.account
			param += '&password=' + item.password
			param += '&remark=' + item.remark
			uni.navigateTo({
				url: 'show' + param
			})
		},
		deleteById(index){
			this.list.splice(index,1)
			var _that = this
			uni.setStorage({
				key: 'datajson',
				data: _that.list
			})
		}

	}
	}
</script>

<style>
	.content {
		height: 100%;
		background-color: #ccc;
	}

	.list-item {
		width: 100%;
		background-color: #fff;
		box-shadow: 5px 5px 5px #c3c3c3;
		margin: 0.5rem 0rem;
		padding: 0.5rem 1rem;
		position: relative;
	}

	.item-text {
		padding: 1rem 0rem;
	}

	.time {
		font-size: 15px;
		color: #ccc;
	}

	.allNum {
		background-color: coral;
		font-size: 26px;
		width: auto;
		padding: 15px;
		text-align: center;
		margin: 5px;
	}

	.bottom {
		position: fixed;
		bottom: 0px;
		left: 0px;
		height: 50px;
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.addBtn {
		color: #fff;
		font-size: 40px;
		width: 50px;
		height: 50px;
		background-color: green;
		border-radius: 50%;
		text-align: center;
	}
	.deleteBtn{
		position: absolute;
		top: 30%;
		right: 15%;
		color: red;
		font-size: 18px;
		background-color: #c3c3c3;
		padding: 3% 5%;
		
	}
</style>

代码仓库

pass-mgr: 密码管理app (gitee.com)

app 预览

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1450822.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

每日一题——LeetCode1436.旅行终点站

方法一 个人方法 两次遍历set 终点站不通往其他任何城市&#xff0c;那么终点站只会出现在[cityA,cityB]的第二位&#xff0c;利用set第一次遍历保存所有站点&#xff0c;第二次遍历去除所有在第一位出现的站点&#xff0c;剩下的站点就是不通往任何站点的终点站&#xff1a; …

Java中的String类的常用方法(对于字符串的常用操作)

目录 一、获取指定索引的字符 二、 获取指定字符或者字符串的索引位置 三、判断字符串是否以指定内容开头或结尾 四、替换指定的字符或者是字符串 五、获取字符串的子串 六、将字符串转换为字符数组 七、比较字符串的内容是否相等 八、连接字符串 九、比较两个字符串的大…

[CTF]-PWN:C++文件更换libc方法(WSL)

C文件与C文件更换libc有很多不一样的地方&#xff0c;我是在写buu的ciscn_2019_final_3才意识到这个问题&#xff0c;C文件只需要更换libc和ld就可以了&#xff0c;但是C文件不同&#xff0c;除了更换libc和ld&#xff0c;它还需要更换libstdc.so.6和libgcc_s.so.1 更换libc和…

指针习题回顾(C语言)

目录 数组指针和指针数组 编程题&#xff1a; 字符串逆序 字符串左旋 题目1概述&#xff1a; 代码实现&#xff1a; 题目2概述&#xff1a; 代码实现&#xff1a; 调整奇偶顺序 题目概述&#xff1a; 代码实现&#xff1a; 冒泡排序 二级指针 代码解读&#xff1a; …

力扣---通配符匹配

题目描述&#xff1a; 给你一个输入字符串 (s) 和一个字符模式 (p) &#xff0c;请你实现一个支持 ? 和 * 匹配规则的通配符匹配&#xff1a; ? 可以匹配任何单个字符。 * 可以匹配任意字符序列&#xff08;包括空字符序列&#xff09;。 判定匹配成功的充要条件是&#xff…

lazarus:LCL 嵌入 fpwebview 组件,做一个简单浏览器

从 https://github.com/PierceNg/fpwebview 下载 fpwebview-master.zip 简单易用。 先请看 \fpwebview-master\README.md cd \lazarus\projects\fpwebview-master\demo\lclembed 修改 lclembed.lpr 如下&#xff0c;将 fphttpapp. 注释掉&#xff0c;因为我用不上。 progr…

【STM32 CubeMX】I2C层次结构、I2C协议

文章目录 前言一、I2C的结构层次1.1 怎样在两个设备之间传输数据1.2 I2C如何传输数据1.3 硬件框图1.4 软件层次 二、IIC协议2.1 硬件连接2.2 I2C 总线的概念2.3 传输数据类比2.3 I2C信号2.4 I2C数据的含义 总结 前言 在STM32 CubeMX环境中&#xff0c;I2C&#xff08;Inter-In…

相机图像质量研究(24)常见问题总结:CMOS期间对成像的影响--摩尔纹

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

红队学习笔记Day5 --->总结

今天先不讲新知识&#xff0c;来小小的复习一下 1.8888&#xff1f;隧道端口你怎么回事 在做隧道和端口转发的时候&#xff0c;我们常见的是通过一台跳板机&#xff0c;让外网的机器去远程连接到内网的一些机器&#xff0c;这时候就常见一些这样的命令 以防忘了&#xff0c;先…

面试突击1

1.当线程没有拿到资源时&#xff0c;用户态和内核态的一个切换 在操作系统中&#xff0c;进程和线程是执行程序的基本单位。为了管理这些单位&#xff0c;操作系统使用了一种称为“进程状态”的机制&#xff0c;其中包括用户态和内核态两种状态。这两种状态代表了进程或线程在…

ubuntu屏幕小的解决办法

1. 安装vmware tools , 再点自适应客户机 执行里面的vmware-install.pl这个文件 &#xff1a;sudo ./vmware-install.pl 执行不了可以放到家目录&#xff0c;我放在了/home/book 里面 最后点这个自适应客户机 然后我这里点不了是因为我点了控制台视图和拉伸客户机&#xff0c…

[word] word怎么取消隐藏文字 #职场发展#微信

word怎么取消隐藏文字 Word有很多实用的技巧&#xff0c;学会了可以节省大量的时间在编辑上。今天就给大家分享下word怎么取消隐藏文字这个小技能。 1.选中内容设置 首先先显示段落符号标记(快捷鍵Ctrl Shift8)&#xff0c;之后选中文本内容。 2.设置取消隐藏的文字 点击开始…

unreal engine5.1中设置convex decomposition凸包分解

UE5系列文章目录 文章目录 UE5系列文章目录前言一、convex decomposition是什么&#xff1f;二、convex decomposition属性设置 前言 今天使用ue5根据网上教程制作可操控直升机&#xff0c;找属性convex decomposition凸包分解&#xff0c;默认的碰撞如下图 如果想使用精细化…

回溯题中借助哈希法来巧妙去重的操作

今天总结一下回溯法以来做过的这些题&#xff0c;我又发现一个困扰了我的问题&#xff0c;就是在491. 非递减子序列、46. 全排列、47. 全排列 II中都有涉及到用哈希法&#xff0c;去记录曾经用过的元素&#xff0c;下面来总结一下吧。 首先得知道&#xff0c;为什么会用到哈希法…

OpenAI 最新发布的从文本生成视频模型 Sora 炸裂登场,它能根据文字指令创造逼真且富有想象力的场景

文章目录 一、前言二、主要内容三、总结 &#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、前言 此页面上的所有视频均由 Sora 直接生成&#xff0c;未经修改。 OpenAI - Sora is an AI model that can create realistic and imaginative scenes f…

poetry,一个好用的Python项目依赖管理库

🏷️个人主页:鼠鼠我捏,要死了捏的主页 🏷️付费专栏:Python专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 前言 在 Python 开发领域,项目依赖管理是一个至关重要的问题。Python Poetry 是一个现代化的项目依赖管理工具,旨在简化 Python 项目的依赖管理和打包…

图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化

图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化 卷积神经网络的一些基本概念&#xff1a;图像卷积、步长、填充、特征图、多通道卷积、权重共享、感受野、池化 1.图像卷积、步长、填充 图像卷积&#xff1a;卷积核矩阵在一个原始图像矩阵上 “从上往下、…

C++ STL: list使用及源码剖析

list使用 list常用函数及使用&#xff08;1&#xff09; #include <iostream> #include <list> #include <algorithm>int main() {// 创建liststd::list<int> myList {5, 2, 9, 1, 5, 6};// 打印liststd::cout << "Original list: &quo…

记录一次涩涩情侣飞行棋密码破解

注本公众号&#xff0c;长期推送技术文章 知攻善防实验室 红蓝对抗&#xff0c;Web渗透测试&#xff0c;红队攻击&#xff0c;蓝队防守&#xff0c;内网渗透&#xff0c;漏洞分析&#xff0c;漏洞原理&#xff0c;开源 工具&#xff0c;社工钓鱼&#xff0c;网络安全。 81篇原…

算法-----高精度2(高精度乘法,高精度除法,高精度斐波那锲数列)

高精度乘法 对于高精度乘法来说似乎不像高精度加减法那样简单了&#xff0c;我们似乎得一个一个加了&#xff0c;因为我们都知道 abaaaaa…a(b个a)。如果真要这要的话那1e9*1e9不得超时啊&#xff0c;所以不能这样&#xff0c;我们还是得从乘法竖式入手 这样看似乎看不出来什…