Merge branch 'develop_liuyf' into 'develop'

提测bug修复

See merge request StarlockTeam/wx-starlock!30
This commit is contained in:
范鹏 2025-03-07 02:43:55 +00:00
commit fe4d6eab5c
10 changed files with 189 additions and 102 deletions

View File

@ -7,9 +7,9 @@
{{
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0]
? catEyeMode[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0]?.catEyeMode - 1
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0]?.catEyeMode
].name
: ''
: ""
}}
</view>
<up-icon name="arrow-right"></up-icon>
@ -75,7 +75,7 @@
const value = computed(() => {
const list = []
if ($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0]) {
list.push($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode - 1)
list.push($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode)
if ($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 4) {
if (
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeModeConfig

View File

@ -5,7 +5,7 @@
class="flex items-center bg-#ececec py-4 pr-2 pl-1 mx-3 my-6 rounded-2xl"
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 1
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 0
? 'bg-#d9e8fd'
: 'bg-#ececec'
]"
@ -14,7 +14,7 @@
<up-icon
v-if="
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 1
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 0
"
name="checkbox-mark"
color="#2a85ec"
@ -26,7 +26,7 @@
class="text-lg font-bold"
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 1
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 0
? 'text-#2a85ec'
: 'text-black'
]"
@ -35,7 +35,7 @@
<view
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 1
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 0
? 'text-#2a85ec'
: 'text-gray-500'
]"
@ -57,7 +57,7 @@
class="flex items-center bg-#ececec py-4 pr-2 pl-1 mx-3 my-6 rounded-2xl"
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 2
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 1
? 'bg-#d9e8fd'
: 'bg-#ececec'
]"
@ -66,7 +66,7 @@
<up-icon
v-if="
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 2
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 1
"
name="checkbox-mark"
color="#2a85ec"
@ -78,7 +78,7 @@
class="text-lg font-bold"
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 2
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 1
? 'text-#2a85ec'
: 'text-black'
]"
@ -88,7 +88,7 @@
<view
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 2
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 1
? 'text-#2a85ec'
: 'text-gray-500'
]"
@ -109,7 +109,7 @@
class="flex items-center bg-#ececec py-4 pr-2 pl-1 mx-3 my-6 rounded-2xl"
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 3
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 2
? 'bg-#d9e8fd'
: 'bg-#ececec'
]"
@ -118,7 +118,7 @@
<up-icon
v-if="
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 3
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 2
"
name="checkbox-mark"
color="#2a85ec"
@ -130,7 +130,7 @@
class="text-lg font-bold"
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 3
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 2
? 'text-#2a85ec'
: 'text-black'
]"
@ -139,7 +139,7 @@
<view
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 3
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 2
? 'text-#2a85ec'
: 'text-gray-500'
]"
@ -161,7 +161,7 @@
class="flex items-center bg-#ececec py-4 pr-2 pl-1 mx-3 my-6 rounded-2xl"
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 4
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 3
? 'bg-#d9e8fd'
: 'bg-#ececec'
]"
@ -170,7 +170,7 @@
<up-icon
v-if="
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 4
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 3
"
name="checkbox-mark"
color="#2a85ec"
@ -182,7 +182,7 @@
class="text-lg font-bold"
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 4
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 3
? 'text-#2a85ec'
: 'text-black'
]"
@ -191,7 +191,7 @@
<view
:class="[
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 4
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 3
? 'text-#2a85ec'
: 'text-gray-500'
]"
@ -263,7 +263,7 @@
const value = computed(() => {
const list = []
if ($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0]) {
list.push($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode - 1)
list.push($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode)
if ($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 4) {
if (
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeModeConfig
@ -331,7 +331,7 @@
const toCustom = () => {
if (
!$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] ||
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode !== 4
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode !== 3
) {
uni.showToast({
title: '请先选择自定义模式',
@ -352,7 +352,7 @@
const updateCatEyeConfig = index => {
if (
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0] &&
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === index + 1
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === index
) {
return
}
@ -363,7 +363,7 @@
type: 'catEyeConfig',
params: [
{
catEyeMode: index + 1,
catEyeMode: index,
catEyeModeConfig: $bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0]
? $bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeModeConfig
: {

View File

@ -105,8 +105,8 @@
const value = computed(() => {
const list = []
if ($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0]) {
list.push($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode - 1)
if ($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 4) {
list.push($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode)
if ($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 3) {
if (
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeModeConfig
.recordStartTime === 0 &&

View File

@ -60,7 +60,7 @@
const pending = ref(false)
onMounted(() => {
value.value = $bluetooth.currentLockSetting.lockSettingInfo.openDirection
value.value = $bluetooth.currentLockSetting.lockSettingInfo.openDirectionValue
})
const updateValue = async val => {

View File

@ -24,8 +24,8 @@
:class="[weekDays.includes(index + 1) ? 'bg-#5eb7ac text-white' : '']"
@click="changeSelect(index)"
class="rounded-50% border-solid border-3 border-gray-400 flex items-center justify-center w-70 h-70"
>{{ item }}</view
>
>{{ item }}
</view>
</view>
</view>
</view>
@ -116,8 +116,8 @@
const defaultStartTime = ref('')
const defaultEndTime = ref('')
const startTimeText = ref(null)
const endTimeText = ref(null)
const startTimeText = ref('00:00')
const endTimeText = ref('00:00')
const check = ref(false)
const weekDays = ref([])
@ -201,7 +201,7 @@
autoUnlock: autoUnlock.value
}
if (check.value && data.startDate >= data.endDate) {
if (check.value && data.startDate > data.endDate) {
uni.showToast({
title: '开始时间不能大于结束时间',
icon: 'none'

View File

@ -108,7 +108,7 @@
const value = computed(() => {
const list = []
if ($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0]) {
list.push($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode - 1)
list.push($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode)
if ($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 4) {
if (
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeModeConfig

View File

@ -5,7 +5,9 @@
@click="toJump('lockInfo')"
>
<view class="item-title">基本信息</view>
<view><up-icon name="arrow-right"></up-icon></view>
<view>
<up-icon name="arrow-right"></up-icon>
</view>
</view>
<view class="mt-2.5"></view>
<view
@ -128,7 +130,9 @@
@click="toJump('faceSetting')"
>
<view class="item-title">面容开锁</view>
<view><up-icon name="arrow-right"></up-icon></view>
<view>
<up-icon name="arrow-right"></up-icon>
</view>
</view>
<view
v-if="$bluetooth.currentLockSetting.lockBasicInfo.keyRight === 1"
@ -136,7 +140,9 @@
@click="toJump('messageReminder')"
>
<view class="item-title">消息提醒</view>
<view><up-icon name="arrow-right"></up-icon></view>
<view>
<up-icon name="arrow-right"></up-icon>
</view>
</view>
<view
v-if="
@ -147,7 +153,9 @@
@click="toJump('catEye')"
>
<view class="item-title">猫眼设置</view>
<view><up-icon name="arrow-right"></up-icon></view>
<view>
<up-icon name="arrow-right"></up-icon>
</view>
</view>
<view
v-if="
@ -158,7 +166,9 @@
@click="toJump('openDirection')"
>
<view class="item-title">开门方向设置</view>
<view><up-icon name="arrow-right"></up-icon></view>
<view>
<up-icon name="arrow-right"></up-icon>
</view>
</view>
<view
v-if="
@ -169,7 +179,9 @@
@click="toJump('motorTorsion')"
>
<view class="item-title">电机功率设置</view>
<view><up-icon name="arrow-right"></up-icon></view>
<view>
<up-icon name="arrow-right"></up-icon>
</view>
</view>
<view class="mt-2.5"></view>
<view
@ -209,7 +221,9 @@
@click="toJump('lockDate')"
>
<view class="item-title">锁时间</view>
<view><up-icon name="arrow-right"></up-icon></view>
<view>
<up-icon name="arrow-right"></up-icon>
</view>
</view>
<view
v-if="$bluetooth.currentLockSetting.lockBasicInfo.keyRight === 1"
@ -217,7 +231,9 @@
@click="toJump('uploadLockData')"
>
<view class="item-title">上传数据</view>
<view><up-icon name="arrow-right"></up-icon></view>
<view>
<up-icon name="arrow-right"></up-icon>
</view>
</view>
<view
class="py-3 px-4 bg-white flex items-center justify-between text-base mt-4rpx"
@ -225,13 +241,15 @@
@click="upgrade"
>
<view class="item-title">锁升级</view>
<view><up-icon name="arrow-right"></up-icon></view>
<view>
<up-icon name="arrow-right"></up-icon>
</view>
</view>
<view
class="mt-4 rounded-3xl w-600 h-80 line-height-80rpx text-center mx-75rpx bg-#ec433c text-white text-xl font-bold"
@click="deleteLock"
>删除</view
>
>删除
</view>
<up-modal
:show="showModal"
title="是否删除授权管理员钥匙?"
@ -286,6 +304,15 @@
})
uni.hideLoading()
if (code === 0) {
if (data.lockSettingInfo.catEyeConfig[0]) {
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.recordTime = Number(
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.recordTime
)
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.detectionDistance = Number(
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.detectionDistance
)
}
requestFinished.value = true
$bluetooth.updateCurrentLockSetting(data)
} else {
@ -323,6 +350,14 @@
lockId: $bluetooth.currentLockInfo.lockId
})
if (code === 0) {
if (data.lockSettingInfo.catEyeConfig[0]) {
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.recordTime = Number(
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.recordTime
)
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.detectionDistance = Number(
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.detectionDistance
)
}
$bluetooth.updateCurrentLockSetting(data)
}
}

View File

@ -2,7 +2,7 @@
<view>
<view class="mx-4 pt-5 text-base">
<view class="text-sm">
<view> 本操作将上传锁内数据到服务器过程可能需要几分钟请耐心等待 </view>
<view> 本操作将上传锁内数据到服务器过程可能需要几分钟请耐心等待</view>
</view>
<view
@click="asyncData"
@ -19,9 +19,11 @@
import { useBluetoothStore } from '@/stores/bluetooth'
import { useUserStore } from '@/stores/user'
import { getLockSettingRequest, lockDataUploadRequest } from '@/api/setting'
import { useBasicStore } from '@/stores/basic'
const $bluetooth = useBluetoothStore()
const $user = useUserStore()
const $basic = useBasicStore()
const progress = ref(0)
const page = ref(0)
@ -34,6 +36,10 @@
const asyncData = async (flag = false) => {
if (pending.value && !flag) return
const netWork = await $basic.getNetworkType()
if (!netWork) {
return
}
pending.value = true
uni.showLoading({
title: `上传中${progress.value}/7`
@ -45,6 +51,7 @@
uid: $user.userInfo.uid.toString(),
countReq: 10
})
console.log('code value :', code)
if (code === 0) {
if (typeList[progress.value] === 'setting') {
const { code: resultCode } = await lockDataUploadRequest({
@ -60,6 +67,14 @@
lockId: $bluetooth.currentLockInfo.lockId
})
if (code === 0) {
if (data.lockSettingInfo.catEyeConfig[0]) {
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.recordTime = Number(
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.recordTime
)
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.detectionDistance = Number(
data.lockSettingInfo.catEyeConfig[0].catEyeModeConfig.detectionDistance
)
}
$bluetooth.updateCurrentLockSetting(data)
}
uni.showToast({
@ -99,12 +114,16 @@
progress.value++
}
await asyncData(true)
} else if (code === -21) {
pending.value = false
$bluetooth.closeBluetoothConnection()
uni.hideLoading()
} else {
pending.value = false
$bluetooth.closeBluetoothConnection()
uni.hideLoading()
uni.showToast({
title: '上传失败,请重试',
title: '上传失败,请保持在锁附近',
icon: 'none'
})
}

View File

@ -101,7 +101,7 @@
const value = computed(() => {
const list = []
if ($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0]) {
list.push($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode - 1)
list.push($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode)
if ($bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeMode === 4) {
if (
$bluetooth.currentLockSetting.lockSettingInfo.catEyeConfig[0].catEyeModeConfig

View File

@ -551,10 +551,10 @@ export const useBluetoothStore = defineStore('ble', {
})
break
case subCmdIds.updateSetting:
that.updateCurrentLockInfo({
...that.currentLockInfo,
token: decrypted.slice(5, 9)
})
// that.updateCurrentLockInfo({
// ...that.currentLockInfo,
// token: decrypted.slice(5, 9)
// })
characteristicValueCallback({
code: decrypted[2]
})
@ -797,6 +797,9 @@ export const useBluetoothStore = defineStore('ble', {
if (uuid && uuid.slice(2, 8) === '758824' && uuid.slice(30, 32) === '00') {
that.deviceList.push(deviceList[i])
}
if (uuid && uuid.slice(0, 2) === '75' && uuid.slice(4, 6) === '00') {
that.deviceList.push(deviceList[i])
}
}
}
console.log('设备列表', that.deviceList)
@ -1073,6 +1076,11 @@ export const useBluetoothStore = defineStore('ble', {
for (let i = 0; i < deviceList.length; i++) {
if (deviceList[i]?.name === that.currentLockInfo.name) {
const uuid = deviceList[i]?.advertisServiceUUIDs[0]
if (uuid && uuid.slice(2, 8) === '758824') {
console.log('设备UUID', uuid, uuid.slice(2, 8), uuid.slice(30, 32))
} else if (uuid && uuid.slice(0, 2) === '75') {
console.log('设备UUID', uuid, uuid.slice(2, 8), uuid.slice(4, 6))
}
if (
uuid &&
uuid.slice(2, 8) === '758824' &&
@ -1106,6 +1114,30 @@ export const useBluetoothStore = defineStore('ble', {
code: -2
})
break
} else if (uuid && uuid.slice(0, 2) === '75' && uuid.slice(4, 6) === '01') {
uni.stopBluetoothDevicesDiscovery()
clearTimeout(timer2)
clearInterval(timer1)
resolve({
code: 0,
data: {
deviceId: deviceList[i].deviceId
}
})
break
} else if (uuid && uuid.slice(0, 2) === '75' && uuid.slice(4, 6) === '00') {
uni.stopBluetoothDevicesDiscovery()
clearTimeout(timer2)
clearInterval(timer1)
uni.hideLoading()
uni.showToast({
title: '锁已被重置,请重新绑定',
icon: 'none'
})
resolve({
code: -2
})
break
} else {
uni.stopBluetoothDevicesDiscovery()
clearTimeout(timer2)
@ -1475,7 +1507,7 @@ export const useBluetoothStore = defineStore('ble', {
console.log('写入未执行', this.bluetoothStatus)
this.getBluetoothStatus()
return {
code: -21
code: -1
}
}
@ -2900,6 +2932,7 @@ export const useBluetoothStore = defineStore('ble', {
)
contentArray.set(md5Array, withParams ? 71 + params.length : 71)
console.log('加密前:', Array.from(contentArray))
const cebArray = sm4.encrypt(contentArray, this.currentLockInfo.commKey, {
mode: 'ecb',
@ -2919,7 +2952,7 @@ export const useBluetoothStore = defineStore('ble', {
console.log('写入未执行', this.bluetoothStatus)
this.getBluetoothStatus()
return {
code: -21
code: -1
}
}
@ -2997,7 +3030,7 @@ export const useBluetoothStore = defineStore('ble', {
console.log('写入未执行', this.bluetoothStatus)
this.getBluetoothStatus()
return {
code: -1
code: -21
}
}