2025-05-08 09:16:37 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<view class="loginBox">
|
|
|
|
|
|
<view class="title">设置登录密码</view>
|
|
|
|
|
|
<view class="desc">设置密码后,您可以使用密码登录</view>
|
|
|
|
|
|
|
|
|
|
|
|
<view class="twoBox">
|
|
|
|
|
|
<view class="row">
|
|
|
|
|
|
<up-input v-model="password" placeholder="请输入6-16位密码,支持数字及符号" clearable :type="Type1 ? 'password' : 'text'">
|
|
|
|
|
|
<template #suffix>
|
|
|
|
|
|
<view @click="Type1 = !Type1">
|
|
|
|
|
|
<up-icon v-if="Type1" name="eye-off" color="#666" size="20"></up-icon>
|
|
|
|
|
|
<up-icon v-else name="eye-fill" color="#666" size="20"></up-icon>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
</up-input>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="row">
|
|
|
|
|
|
<up-input v-model="password_again" placeholder="请再一次输入密码" clearable :type="Type2 ? 'password' : 'text'">
|
|
|
|
|
|
<template #suffix>
|
|
|
|
|
|
<view @click="Type2 = !Type2">
|
|
|
|
|
|
<up-icon v-if="Type2" name="eye-off" color="#666" size="20"></up-icon>
|
|
|
|
|
|
<up-icon v-else name="eye-fill" color="#666" size="20"></up-icon>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
</up-input>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="btn" @click="toCommit">确认</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
import { ref, reactive, toRefs } from 'vue'
|
|
|
|
|
|
import { post } from '@/api/request.js'
|
|
|
|
|
|
import { showToast } from '@/components/common.js'
|
|
|
|
|
|
|
|
|
|
|
|
export default {
|
|
|
|
|
|
setup() {
|
|
|
|
|
|
const data = reactive({
|
|
|
|
|
|
Color: uni.getStorageSync('theme_color'),
|
|
|
|
|
|
password: '',
|
|
|
|
|
|
password_again: '',
|
|
|
|
|
|
Type1: true,
|
|
|
|
|
|
Type2: true
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
function toCommit() {
|
|
|
|
|
|
if(!data.password) {
|
|
|
|
|
|
return showToast('请输入密码')
|
|
|
|
|
|
} else if(!data.password_again) {
|
|
|
|
|
|
return showToast('请输入确认密码')
|
2025-05-09 19:23:58 +08:00
|
|
|
|
} else if(data.password != data.password_again) {
|
|
|
|
|
|
return showToast('两次密码输入不一致')
|
2025-05-08 09:16:37 +08:00
|
|
|
|
}
|
|
|
|
|
|
uni.showLoading({
|
|
|
|
|
|
title: '加载中...',
|
|
|
|
|
|
mask: true
|
|
|
|
|
|
})
|
|
|
|
|
|
let params = {
|
|
|
|
|
|
password: data.password,
|
2025-05-09 19:23:58 +08:00
|
|
|
|
confirm_password: data.password_again
|
2025-05-08 09:16:37 +08:00
|
|
|
|
}
|
2025-05-09 19:23:58 +08:00
|
|
|
|
post('/api/app/login/mobile/setPassword', params).then(async(res) => {
|
|
|
|
|
|
showToast('设置成功', 'success')
|
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
|
uni.navigateBack({delta:1})
|
|
|
|
|
|
}, 1000)
|
2025-05-08 09:16:37 +08:00
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
|
...toRefs(data),
|
|
|
|
|
|
toCommit
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
async onLoad(options) {
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
.loginBox{
|
|
|
|
|
|
padding: 80rpx 30px 0;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 100vh;
|
|
|
|
|
|
overflow: hidden;
|
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
background-color: #fff;
|
|
|
|
|
|
.title{
|
|
|
|
|
|
font-size: 50rpx;
|
|
|
|
|
|
color: #333;
|
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
|
}
|
|
|
|
|
|
.desc{
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #888;
|
|
|
|
|
|
margin: 20rpx 0 100rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.twoBox{
|
|
|
|
|
|
.row{
|
|
|
|
|
|
margin-bottom: 15px;
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
.btn{
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 80rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
background-color: v-bind('Color');
|
|
|
|
|
|
color: #fff;
|
|
|
|
|
|
border-radius: 80rpx;
|
2025-05-09 19:23:58 +08:00
|
|
|
|
margin: 80rpx auto 0;
|
2025-05-08 09:16:37 +08:00
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|