diff --git a/api/card.js b/api/card.js
new file mode 100644
index 0000000..fea2f8d
--- /dev/null
+++ b/api/card.js
@@ -0,0 +1,12 @@
+import request from '../utils/request'
+
+// card 卡片模块
+
+// 获取卡片列表
+export function getCardList(data) {
+ return request({
+ url: '/identityCard/list',
+ method: 'POST',
+ data
+ })
+}
diff --git a/components/LockSwitch/LockSwitch.vue b/components/LockSwitch/LockSwitch.vue
new file mode 100644
index 0000000..f23e8a1
--- /dev/null
+++ b/components/LockSwitch/LockSwitch.vue
@@ -0,0 +1,48 @@
+
+
+
+ {{ title }}
+
+
+ {{ placeholder }}
+
+
+
+
+
+
diff --git a/pages.json b/pages.json
index 342e554..7e7d55a 100644
--- a/pages.json
+++ b/pages.json
@@ -141,6 +141,48 @@
"navigationBarTitleText": "添加锁",
"disableScroll": true
}
+ },
+ {
+ "path": "pages/cardList/cardList",
+ "style": {
+ "navigationBarTitleText": "卡",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/createCard/createCard",
+ "style": {
+ "navigationBarTitleText": "添加卡",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/cardDetail/cardDetail",
+ "style": {
+ "navigationBarTitleText": "卡详情",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/fingerprintList/fingerprintList",
+ "style": {
+ "navigationBarTitleText": "指纹",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/createFingerprint/createFingerprint",
+ "style": {
+ "navigationBarTitleText": "添加指纹",
+ "disableScroll": true
+ }
+ },
+ {
+ "path": "pages/fingerprintDetail/fingerprintDetail",
+ "style": {
+ "navigationBarTitleText": "指纹详情",
+ "disableScroll": true
+ }
}
],
"globalStyle": {
diff --git a/pages/cardDetail/cardDetail.vue b/pages/cardDetail/cardDetail.vue
new file mode 100644
index 0000000..647f4b3
--- /dev/null
+++ b/pages/cardDetail/cardDetail.vue
@@ -0,0 +1,166 @@
+
+
+
+
+ 卡号
+ {{ info.cardNumber }}
+
+
+ 姓名
+ {{ info.cardName }}
+
+
+ 有效期
+ 永久
+
+ {{ timeFormat(info.startDate, 'yyyy-mm-dd h:M') }}
+ {{ timeFormat(info.endDate, 'yyyy-mm-dd h:M') }}
+
+
+ {{ timeFormat(info.startDate, 'yyyy-mm-dd') }}
+ {{ timeFormat(info.endDate, 'yyyy-mm-dd') }}
+
+
+
+ 有效日
+ {{ $lock.convertWeekDaysToChineseString(info.weekDay) }}
+
+
+ 有效时间
+
+ {{ timeFormat(info.startDate, 'h:M') }} - {{ timeFormat(info.endDate, 'h:M') }}
+
+
+
+ 添加者
+ {{ info.senderUsername }}
+
+
+ 添加时间
+ {{ timeFormat(info.createDate, 'yyyy-mm-dd h:M') }}
+
+
+ 删除
+
+
+
+
+
+
+
+
+
diff --git a/pages/cardList/cardList.vue b/pages/cardList/cardList.vue
new file mode 100644
index 0000000..5bd3812
--- /dev/null
+++ b/pages/cardList/cardList.vue
@@ -0,0 +1,412 @@
+
+
+
+
+
+
+
+
+
+ 暂无数据
+
+
+
+
+
+
+
+
+ {{ item.cardName }}
+
+ {{ item.statusText }}
+
+
+ {{ item.timeText }}
+
+
+
+
+
+
+
+
+
+ 重置卡片
+ 添加卡片
+
+
+
+
+
+
+
+
+
diff --git a/pages/createCard/createCard.vue b/pages/createCard/createCard.vue
new file mode 100644
index 0000000..3f5d288
--- /dev/null
+++ b/pages/createCard/createCard.vue
@@ -0,0 +1,290 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 下一步
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 下一步
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/createFingerprint/createFingerprint.vue b/pages/createFingerprint/createFingerprint.vue
new file mode 100644
index 0000000..6ebc436
--- /dev/null
+++ b/pages/createFingerprint/createFingerprint.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/pages/fingerprintDetail/fingerprintDetail.vue b/pages/fingerprintDetail/fingerprintDetail.vue
new file mode 100644
index 0000000..281e78b
--- /dev/null
+++ b/pages/fingerprintDetail/fingerprintDetail.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/pages/fingerprintList/fingerprintList.vue b/pages/fingerprintList/fingerprintList.vue
new file mode 100644
index 0000000..281e78b
--- /dev/null
+++ b/pages/fingerprintList/fingerprintList.vue
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/pages/lockDetail/lockDetail.vue b/pages/lockDetail/lockDetail.vue
index e587973..e33c018 100644
--- a/pages/lockDetail/lockDetail.vue
+++ b/pages/lockDetail/lockDetail.vue
@@ -68,6 +68,22 @@
密码
+
+
+ 卡
+
+
+
+ 指纹
+
+
+
+ 授权管理员
+
+
+
+ 操作记录
+
@@ -428,7 +444,6 @@
.menu {
margin-top: 32rpx;
margin-left: 32rpx;
- padding-bottom: 32rpx;
width: 686rpx;
background-color: #ffffff;
border-radius: 32rpx;
@@ -449,16 +464,16 @@
.menu-main {
padding-top: 32rpx;
- padding-bottom: 32rpx;
display: flex;
align-items: center;
- font-size: 32rpx;
+ font-size: 28rpx;
flex-wrap: wrap;
text-align: center;
margin-left: 43rpx;
.menu-main-view {
width: 150rpx;
+ margin-bottom: 48rpx;
.menu-main-image {
filter: sepia(100%) saturate(10000%) hue-rotate(180deg) brightness(0.1);
diff --git a/static/images/icon_add_blue.png b/static/images/icon_add_blue.png
new file mode 100644
index 0000000..d08fc12
Binary files /dev/null and b/static/images/icon_add_blue.png differ
diff --git a/static/images/icon_admin_black.png b/static/images/icon_admin_black.png
new file mode 100644
index 0000000..c431086
Binary files /dev/null and b/static/images/icon_admin_black.png differ
diff --git a/static/images/icon_card.png b/static/images/icon_card.png
new file mode 100644
index 0000000..b660629
Binary files /dev/null and b/static/images/icon_card.png differ
diff --git a/static/images/icon_card_white.png b/static/images/icon_card_white.png
new file mode 100755
index 0000000..355b5c0
Binary files /dev/null and b/static/images/icon_card_white.png differ
diff --git a/static/images/icon_fingerprint.png b/static/images/icon_fingerprint.png
new file mode 100644
index 0000000..19e66bd
Binary files /dev/null and b/static/images/icon_fingerprint.png differ
diff --git a/static/images/icon_record.png b/static/images/icon_record.png
new file mode 100644
index 0000000..3050172
Binary files /dev/null and b/static/images/icon_record.png differ
diff --git a/stores/basic.js b/stores/basic.js
index e74af09..d4c6afb 100644
--- a/stores/basic.js
+++ b/stores/basic.js
@@ -111,6 +111,36 @@ const pages = [
name: 'addLockGuid',
path: '/pages/addLockGuid/addLockGuid',
tabBar: false
+ },
+ {
+ name: 'cardList',
+ path: '/pages/cardList/cardList',
+ tabBar: false
+ },
+ {
+ name: 'createCard',
+ path: '/pages/createCard/createCard',
+ tabBar: false
+ },
+ {
+ name: 'cardDetail',
+ path: '/pages/cardDetail/cardDetail',
+ tabBar: false
+ },
+ {
+ name: 'fingerprintList',
+ path: '/pages/fingerprintList/fingerprintList',
+ tabBar: false
+ },
+ {
+ name: 'createFingerprint',
+ path: '/pages/createFingerprint/createFingerprint',
+ tabBar: false
+ },
+ {
+ name: 'fingerprintDetail',
+ path: '/pages/fingerprintDetail/fingerprintDetail',
+ tabBar: false
}
]
diff --git a/stores/bluetooth.js b/stores/bluetooth.js
index 4be5942..8829725 100644
--- a/stores/bluetooth.js
+++ b/stores/bluetooth.js
@@ -102,10 +102,12 @@ export const useBluetoothStore = defineStore('ble', {
// 更新服务端时间戳
async updateServerTimestamp() {
const { code, data, message } = await getServerDatetime({})
+ let timestamp = new Date().getTime()
if (code === 0) {
this.serverTimestamp = parseInt(data.date / 1000, 10)
+ timestamp = data.date
}
- return { code, data, message }
+ return { code, data: { ...data, timestamp }, message }
},
// 关闭全部蓝牙监听并关闭蓝牙模拟
closeAllBluetooth() {