uniapp微信小程序-项目实战修改密码

这篇具有很好参考价值的文章主要介绍了uniapp微信小程序-项目实战修改密码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

uniapp微信小程序-项目实战修改密码,uniapp微信小程序相关,uni-app,微信小程序,小程序

 图标是使用uview里面的图标,icfont也可以文章来源地址https://www.toymoban.com/news/detail-836085.html

以下是所有代码 

<template>
	<view>
		<!-- 密码三个 -->
		<view class="password" v-for="(item,index) in userList">
			<view class="contentuser">
				<view class="user">
					{{item.user}}
				</view>
				<view class="contentuserText">
					<!-- 两个框和两个眼睛 -->
					<input v-model="passwords[index]"  maxlength=20 type="password" v-show="eyeVisible[index]" @blur="validatePassword" class="input" placeholder="请输入密码"/>
					<input v-model="passwords[index]"   maxlength=20 type="text" v-show="!eyeVisible[index]" @blur="validatePassword" class="input" placeholder="请输入密码"/>
					<u-icon name="eye-fill" v-if="!eyeVisible[index]" size="28"
						@click="togglePasswordVisibility(index)"></u-icon>
					<u-icon name="eye-off" size="28" v-if="eyeVisible[index]"
						@click="togglePasswordVisibility(index)"></u-icon>
				</view>
			</view>
			<view class="border"></view>
		</view>
		<view class="signPut" @click="signPut">
			更改密码
		</view>
	</view>
</template>
<script>
	import {
		mapState
	} from 'vuex';
	import {putPassword}from "@/pages/utils/api.js"
	export default {
		data() {
			return {
				password:false,
				eyeVisible: [true, true, true], // 控制眼睛图标显示状态的数组
				eyefill: true,
				eyeoff: false,
				yuanmima: "12345",
				passwords: ["", '', ''], // 三个 input 的值分别保存在数组中,
				userList: [{
					user: "原密码",
				}, {
					user: "新密码",
				}, {
					user: "确认新密码",
				}]
			};
		},
		mounted() {
		
		},
		computed: {
			...mapState(['userExt','userPwd']),
		},
		methods: {
			// 密码长度要求示例:6-20位
			validatePassword(event) {
				const password = event.detail.value;
				if (password.length < 6 || password.length > 20) {
					this.password = false
					uni.showToast({
						title: '密码长度应为6-20位',
						icon: 'none',
						duration: 2000
					});
					return;
				}
				this.password = true
			},
			togglePasswordVisibility(index) {
				// 使用 $set手动更新
				this.$set(this.eyeVisible, index, !this.eyeVisible[index]);
			},
		async signPut() {
				// 检查新密码和确认新密码是否匹配
			 if (this.passwords[1] !== this.passwords[2]) {
					uni.showToast({
						title: "新密码和确认新密码不匹配",
						icon: "none",
						duration: 2000,
					});
					return;
				}
				else if(this.userPwd==this.passwords[1]){
					uni.showToast({
						title: '原密码和新密码相同无需修改',
						icon: 'none',
						duration: 2000
					});
					return
				}
				else if(this.passwords[1] == this.passwords[2]&&this.password){
					try{
						// 修改密码接口
					 const passwordRes=await putPassword({
							action:"SetUpPassword",
							userId:this.userExt.code,
							OldPassword:this.passwords[0],
							newPassword:this.passwords[1]
						});
						if(passwordRes.Status==true){
							uni.showToast({
								title: passwordRes.Message,
								icon: "success",
								duration: 2000,
							});
							uni.reLaunch({
								url:"/pages/login/login"
							})
						}
						else{
							uni.showToast({
								title: passwordRes.Message,
								icon: "success",
								duration: 2000,
							});
						}
					}
					catch(err){
						console.log(err);
					}
				}
				else{
					uni.showToast({
						title: '密码长度应为6-20位',
						icon: 'none',
						duration: 2000
					});
				}
			
			},
		}

	}
</script>

<style lang="less">
	.input{
		// background-color: red;
		height: 100rpx;
	}
	.user {
		font-size: 32rpx;
		font-family: Inter, Inter;
		font-weight: 400;
		color: #333333;
		padding-left: 10rpx;
	}

	.contentuser {
		display: flex;
		// padding-right: 30rpx;
		box-sizing: border-box;
		justify-content: space-between;
		align-items: center;
		height: 116rpx;
	}

	.contentuserText {
		display: flex;
		width: 400rpx;
		// background-color: aqua;
		font-size: 28rpx;
		font-family: Inter, Inter;
		padding-right: 15rpx;
		font-weight: 400;
		color: #666666;
	}

	.border {
		width: 656rpx;
		height: 1rpx;
		opacity: 1;
		border-bottom: 0.5rpx solid #D2D2D2;

	}

	.password {
		box-sizing: border-box;
		padding-left: 40rpx;
	}

	.signPut {
		width: 90%;
		font-size: 32rpx;
		height: 80rpx;
		color: #FFFFFF;
		border-radius: 68rpx;
		margin-top: 82rpx;
		text-align: center;
		line-height: 80rpx;
		background-color: #F65A02;
		margin-left: auto;
		margin-right: auto;
	}
</style>

到了这里,关于uniapp微信小程序-项目实战修改密码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp自定义输入框,实现验证码输入框、密码输入框、兼容微信小程序

    前言 在移动端或者小程序项目中,验证码输入框、密码输入框也是很常见的,今天我们就来实现一个这样的效果。 图片展示 代码实现 我这里是用uniapp实现的可兼容微信小程序。 大家如果需要微信小程序也可以参考此案例,实现思路都是一样的。 总结 这里遇到一个小小的坑

    2024年02月05日
    浏览(36)
  • uniapp微信小程序(商城项目)

    于是在跟着某站上学着做了一个小程序, 主要是为了学uniapp和vue 。某站黑马优购 完成的功能主要有:首页、搜索、分类和购物车。 有人问了为什么没有登录、和添加订单呢? 问的很好,下次别再问了 其实我也想跟着视频做,但视频是2021年的,一些uniapp的方法早就更新了,

    2024年04月27日
    浏览(29)
  • 解决 uniapp 修改uview样式,h5端生效,在微信小程序不生效。

    /deep/ 的兼容性不好,node-sass支持这个 /deep/ 。但是 node-sass 被 sass 和现代项目抛弃了。 如果项目里装了 sass 和 node-sass sass-loader会优先使用sass,sass只认识 ::v-deep 。 请根据自己的项目选择使用 ::v-deep 还是 /deep/ 。

    2024年02月03日
    浏览(33)
  • uniapp微信小程序项目启动步骤

    如何创建项目就不说了,可以参考该链接: 如何创建开发uniapp微信小程序项目?链接: link 这里主要记录的是,从代码仓库拉取到本地后, 本地启动运行项目,遇到的问题。 1.下载项目 使用git bash 将代码下载到本地 git clone https://gitlab.xx.xxxxx.com/xxxxx/wuhan-cloud-web.git 拖到HBuild

    2024年02月05日
    浏览(28)
  • 怎么将微信小程序项目转为uniapp项目

    将微信小程序项目转换为uni-app项目需要以下几个步骤: 安装uni-app开发工具:HBuilderX 在HBuilderX中创建一个新的uni-app项目 将微信小程序的代码复制到uni-app项目的相应文件夹中 在uni-app中修改相关代码以适配uni-app平台 运行并测试uni-app项目 请注意,由于微信小程序和uni-app的开发

    2024年02月11日
    浏览(33)
  • uniapp微信小程序项目-优购商城

    原网页笔记文档: https://www.escook.cn/docs-uni-shop/ uni-app 是一个使用 Vue.js 开发所有前端应用的框架 。开发者编写一套代码,可发布到 iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。 详细的 uni-app 官方文档,请翻阅 https://uniapp.dcl

    2024年02月09日
    浏览(49)
  • 微信小程序项目实战 微信小程序的事件对象

    目录 小程序前后端交互 自定义组件的使用 语法说明 properties 定义 案例  微信小程序的事件对象 e.target和e.currentTarget  微信小程序的事件传参 传参方式一: data-key=\\\'value\\\' 传参方式二: id=\\\'value\\\' scroll-view 使用  scroll-view 中使用flex布局 scroll-into-view 下拉刷新 上拉加载 微信小程

    2024年02月09日
    浏览(93)
  • uniapp微信小程序实现《优购商城项目》

    目录 一.下载HBuliderX与安装 创建项目 二.搭建项目 目录结构 页面名称  首页效果图  业务逻辑 代码如下:  分类页面效果图 业务逻辑 代码如下: 商品列表效果图  业务逻辑 代码如下: 商品详情页效果图 业务逻辑 代码如下: 购物车页面效果图 业务逻辑 代码如下: 支付页面效果

    2024年02月07日
    浏览(38)
  • uniapp 微信小程序 input详解 带小数点的input、可查看密码的输入框input

    官网文档地址 1、template 2、script 3、温馨提示 当比较输入框内的数值大小时,由于输入的类型为string,所以比较的时候需要转换为数值类型 Number() if(Number(this.num1) Number(this.num2)){ … }

    2024年02月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包