fix:修复密码和电子钥匙文案与时间范围

This commit is contained in:
范鹏 2024-09-27 11:26:36 +08:00
parent 87ee56869c
commit b309a53281
5 changed files with 46 additions and 15 deletions

View File

@ -6,10 +6,10 @@
{{ timeFormat(time, 'yyyy-mm-dd h:M') }} {{ timeFormat(time, 'yyyy-mm-dd h:M') }}
</view> </view>
</view> </view>
<up-datetime-picker :filter="filter" itemHeight="60" :minDate="minDate" :title="placeholder" :show="show" <up-datetime-picker :filter="filter" itemHeight="60" :minDate="minDate" :show="show"
v-model="time" v-model="time" :formatter="formatter" :maxDate="maxDate"
mode="datetime" @confirm="confirm" :closeOnClickOverlay="true" mode="datetime" @confirm="confirm" :closeOnClickOverlay="true"
@close="close"></up-datetime-picker> @close="close" @cancel="close"></up-datetime-picker>
</view> </view>
</template> </template>
@ -22,7 +22,7 @@ export default {
title: String, title: String,
value: Number, value: Number,
minDate: Number, minDate: Number,
placeholder: String, maxDate: Number,
type: { type: {
type: String, type: String,
default: 'datetime' default: 'datetime'
@ -39,6 +39,24 @@ export default {
}, },
methods: { methods: {
timeFormat, timeFormat,
formatter(type, value) {
if (type === 'year') {
return `${value}`;
}
if (type === 'month') {
return `${value}`;
}
if (type === 'day') {
return `${value}`;
}
if (type === 'hour') {
return `${value}`;
}
if (type === 'minute') {
return `${value}`;
}
return value;
},
filter(mode, options) { filter(mode, options) {
if (mode === 'minute' && this.type === 'datehour') { if (mode === 'minute' && this.type === 'datehour') {
return options.filter((option) => option === '00') return options.filter((option) => option === '00')

View File

@ -14,7 +14,8 @@
@changeInput="changePermanentAccountInput"></LockInput> @changeInput="changePermanentAccountInput"></LockInput>
<LockInput :value="permanentName" title="姓名" placeholder="请输入姓名" <LockInput :value="permanentName" title="姓名" placeholder="请输入姓名"
@changeInput="changePermanentNmaeInput"></LockInput> @changeInput="changePermanentNmaeInput"></LockInput>
<view class="text">接收者可使用此小程序开关锁</view> <view class="text" style="margin-top: 40rpx;">接收者可使用此小程序开关锁</view>
<view class="text" style="margin-bottom: 50rpx;">小程序暂不支持邮箱登录若接收者账号为邮箱可先使用星星锁APP登录绑定手机号后可使用小程序登录</view>
<view class="button" @click="createKey('permanent')">发送</view> <view class="button" @click="createKey('permanent')">发送</view>
</swiper-item> </swiper-item>
<swiper-item :style="{height: deviceInfo.windowHeight - 44 + 'px'}"> <swiper-item :style="{height: deviceInfo.windowHeight - 44 + 'px'}">
@ -24,11 +25,12 @@
@changeInput="changeTemporaryNameInput"></LockInput> @changeInput="changeTemporaryNameInput"></LockInput>
<view style="margin-top: 20rpx"> <view style="margin-top: 20rpx">
<LockDatetimePicker title="生效时间" :value="temporaryValidTime" :minDate="minDate" <LockDatetimePicker title="生效时间" :value="temporaryValidTime" :minDate="minDate"
placeholder="请选择失效时间" @changeTime="changeTemporaryValidTime"></LockDatetimePicker> @changeTime="changeTemporaryValidTime" :maxDate="maxDate"></LockDatetimePicker>
<LockDatetimePicker title="失效时间" :value="temporaryInvalidTime" :minDate="minDate" <LockDatetimePicker title="失效时间" :value="temporaryInvalidTime" :minDate="minDate"
placeholder="请选择失效时间" @changeTime="changeTemporaryInvalidTime"></LockDatetimePicker> @changeTime="changeTemporaryInvalidTime" :maxDate="maxDate"></LockDatetimePicker>
</view> </view>
<view class="text">接收者在有效期内可以不限次数使用</view> <view class="text" style="margin-top: 40rpx;">接收者在有效期内可以不限次数使用</view>
<view class="text" style="margin-bottom: 50rpx;">小程序暂不支持邮箱登录若接收者账号为邮箱可先使用星星锁APP登录绑定手机号后可使用小程序登录</view>
<view class="button" @click="createKey('temporary')">发送</view> <view class="button" @click="createKey('temporary')">发送</view>
</swiper-item> </swiper-item>
</swiper> </swiper>
@ -62,6 +64,7 @@ export default {
temporaryValidTime: Number(new Date()), temporaryValidTime: Number(new Date()),
temporaryInvalidTime: Number(new Date()), temporaryInvalidTime: Number(new Date()),
minDate: Number(new Date()), minDate: Number(new Date()),
maxDate: Number(4133951940000),
currnetIndex: 0, currnetIndex: 0,
deviceInfo: null, deviceInfo: null,
pending: false pending: false
@ -212,8 +215,6 @@ page {
} }
.text { .text {
margin-top: 40rpx;
margin-bottom: 50rpx;
color: #262626; color: #262626;
font-size: 26rpx; font-size: 26rpx;
padding: 0 32rpx; padding: 0 32rpx;

View File

@ -16,11 +16,11 @@
<view class="button" @click="createPassword('permanent')">获取密码</view> <view class="button" @click="createPassword('permanent')">获取密码</view>
</swiper-item> </swiper-item>
<swiper-item :style="{height: deviceInfo.windowHeight - 44 + 'px'}"> <swiper-item :style="{height: deviceInfo.windowHeight - 44 + 'px'}">
<LockInput :value="temporaryName" title="" placeholder="请给密码命名" <LockInput :value="temporaryName" title="名" placeholder="请给密码命名"
@changeInput="changeTemporaryInput"></LockInput> @changeInput="changeTemporaryInput"></LockInput>
<view style="margin-top: 20rpx"> <view style="margin-top: 20rpx">
<LockDatetimePicker title="失效时间" :value="temporaryTime" :minDate="minDate" type="datehour" <LockDatetimePicker title="失效时间" :value="temporaryTime" :minDate="minDate" :maxDate="maxDate" type="datehour"
placeholder="请选择失效时间" @changeTime="changeTemporaryTime"></LockDatetimePicker> @changeTime="changeTemporaryTime"></LockDatetimePicker>
</view> </view>
<view class="text">{{ text }}</view> <view class="text">{{ text }}</view>
<view class="button" @click="createPassword('temporary')">获取密码</view> <view class="button" @click="createPassword('temporary')">获取密码</view>
@ -51,6 +51,7 @@ export default {
temporaryName: '', temporaryName: '',
temporaryTime: Number(new Date()), temporaryTime: Number(new Date()),
minDate: Number(new Date()), minDate: Number(new Date()),
maxDate: Number(4133951940000),
currnetIndex: 0, currnetIndex: 0,
deviceInfo: null, deviceInfo: null,
pending: false, pending: false,
@ -69,6 +70,7 @@ export default {
this.deviceInfo = await this.getDeviceInfo() this.deviceInfo = await this.getDeviceInfo()
this.temporaryTime = this.setTime() this.temporaryTime = this.setTime()
this.minDate = Number(this.getNextFullHour()) this.minDate = Number(this.getNextFullHour())
this.maxDate = Number(this.getFutureTimestamp())
}, },
methods: { methods: {
...mapActions(useBasicStore, ['getDeviceInfo', 'backAndToast', 'getNetworkType']), ...mapActions(useBasicStore, ['getDeviceInfo', 'backAndToast', 'getNetworkType']),
@ -84,6 +86,17 @@ export default {
return now; return now;
}, },
getFutureTimestamp() {
const currentDate = new Date();
const year = currentDate.getFullYear();
const month = currentDate.getMonth();
const day = currentDate.getDate();
const futureDate = new Date(year + 3, month, day, 23, 0, 0);
return futureDate.getTime();
},
setTime() { setTime() {
const now = new Date() const now = new Date()
now.setMinutes(0, 0, 0) now.setMinutes(0, 0, 0)

View File

@ -27,7 +27,6 @@
<view class="item-title">发送时间</view> <view class="item-title">发送时间</view>
<view class="item-content">{{ timeFormat(currentPasswordInfo.sendDate, 'yyyy-mm-dd h:M') }}</view> <view class="item-content">{{ timeFormat(currentPasswordInfo.sendDate, 'yyyy-mm-dd h:M') }}</view>
</view> </view>
<view class="tips">密码生成后请在当日2359前使用一次进行激活否则过0点后未激活则失效</view>
<view class="button" @click="deletePassword">删除</view> <view class="button" @click="deletePassword">删除</view>
</view> </view>
</template> </template>

View File

@ -213,7 +213,7 @@ export const useLockStore = defineStore('lock', {
} else if(data.list[i].keyboardPwdType === 14) { } else if(data.list[i].keyboardPwdType === 14) {
text = '周日' text = '周日'
} }
data.list[i].timeText = `${text} ${data.list[i].hoursStart}:00-${data.list[i].hoursEnd}:00 循环` data.list[i].timeText = `${text} ${data.list[i].hoursStart}:00-${data.list[i].hoursEnd}:00`
} }
if(data.list[i].isCustom === 1) { if(data.list[i].isCustom === 1) {
data.list[i].timeText += ' 自定义' data.list[i].timeText += ' 自定义'