diff --git a/frontend/src/renderer/src/assets/svg/avatar.svg b/frontend/src/renderer/src/assets/svg/avatar.svg
new file mode 100644
index 00000000..7d6550a6
--- /dev/null
+++ b/frontend/src/renderer/src/assets/svg/avatar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/frontend/src/renderer/src/services/api.js b/frontend/src/renderer/src/services/api.js
index 8f00445b..c0070b67 100644
--- a/frontend/src/renderer/src/services/api.js
+++ b/frontend/src/renderer/src/services/api.js
@@ -607,7 +607,7 @@ export const getBackendUrl = () => {
if (window.electronAPI) {
return window.electronAPI.getBackendUrl()
} else {
- return 'http://localhost:5000'
+ return 'http://192.168.1.58:5000'
}
}
diff --git a/frontend/src/renderer/src/views/Dashboard.vue b/frontend/src/renderer/src/views/Dashboard.vue
index 77de7db6..a992a941 100644
--- a/frontend/src/renderer/src/views/Dashboard.vue
+++ b/frontend/src/renderer/src/views/Dashboard.vue
@@ -62,7 +62,7 @@
基础信息
-
+
diff --git a/frontend/src/renderer/src/views/Detection.vue b/frontend/src/renderer/src/views/Detection.vue
index 793b190d..7ac8b691 100644
--- a/frontend/src/renderer/src/views/Detection.vue
+++ b/frontend/src/renderer/src/views/Detection.vue
@@ -12,7 +12,7 @@
实时检测
-
@@ -67,7 +67,7 @@
![深度相机视频流]()
+ style="width: 100%;height: calc(100% - 40px);object-fit:contain;background:#323232;">
足部相机
-
- 0
- 1
- 2
- 3
- 4
- 5
+
+ 0
+ 1
+ 2
+ 3
+ 4
+ 5
深度相机
-
-
-
-
-
-
-
-
-
+
-
+
到
-
+
头部IMU
-
+
@@ -660,11 +652,17 @@ const diagnosticForm = ref({
suggestion_info: ''
})
const cameraForm = ref({ // 相机参数
- device_index: '', // 序号
- depth_mode: '', // 相机模式
- depth_range_min: '', // 距离范围最小值
- depth_range_max: '', // 距离范围最大值
- imu_port: '', // IMU串口号
+ camera:{
+ device_index: '', // 序号
+ },
+ femtobolt:{
+ depth_mode: '', // 相机模式
+ depth_range_min: '', // 距离范围最小值
+ depth_range_max: '', // 距离范围最大值
+ },
+ imu:{
+ port: '', // IMU串口号
+ }
})
const calculatedAge = ref(null)
//修改
@@ -870,7 +868,22 @@ function routeTo(path) {
router.push(`/`)
}
function cameraUpdate() { // 相机设置数据更新弹框
- cameraDialogVisible.value = true
+ cameraForm.value = { // 相机参数
+ camera:{
+ device_index: '', // 序号
+ },
+ femtobolt:{
+ depth_mode: '', // 相机模式
+ depth_range_min: '', // 距离范围最小值
+ depth_range_max: '', // 距离范围最大值
+ },
+ imu:{
+ port: '', // IMU串口号
+ }
+ }
+ // 加载相机参数信息
+ getDevicesInit()
+
}
const calculateAge = (birthDate) => {
if (!birthDate) return '-'
@@ -2245,8 +2258,15 @@ const calibrationClick = async () => {
const cameraSubmit = async () => {
-
- const response = await fetch(`${BACKEND_URL}/api/devices/calibrate/imu`, {
+// let data = {
+// "imu": {"device_type": "real", "port": "COM7", "baudrate": 9600},
+// "pressure": {"device_type": "real", "port": "COM8", "baudrate": 115200},
+// "camera": {"device_index": 0, "width": 1280, "height": 720, "fps": 30},
+// "femtobolt": {"color_resolution": "1080P", "depth_mode": "NFOV_UNBINNED", "fps": 15}
+// }
+
+//
+ const response = await fetch(`${BACKEND_URL}/api/config/devices/all`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
@@ -2257,13 +2277,36 @@ const cameraSubmit = async () => {
const result = await response.json()
if (result.success) {
ElMessage.success(result.message)
+ cameraDialogVisible.value = false
} else {
ElMessage.error(result.message)
}
}
}
-
+// 加载相机参数信息
+const getDevicesInit = async () => {
+ try {
+ // 调用API获取患者信息
+ const response = await fetch(`${BACKEND_URL}/api/config/devices`)
+ if (response.ok) {
+ const result = await response.json()
+ if (result.success) {
+ console.log('相机参数加载成功:', result.data)
+ cameraForm.value = result.data
+ cameraDialogVisible.value = true
+ // console.log('相机参数加载成功:', patientInfo.value)
+ } else {
+ throw new Error(result.message)
+ }
+ } else {
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`)
+ }
+ } catch (error) {
+ console.error('加载相机参数失败:', error)
+ ElMessage.warning('加载相机参数失败,请检查网络连接')
+ }
+}
onMounted(() => {
// 加载患者信息
diff --git a/frontend/src/renderer/src/views/Header.vue b/frontend/src/renderer/src/views/Header.vue
index fbc36a73..069f5cc3 100644
--- a/frontend/src/renderer/src/views/Header.vue
+++ b/frontend/src/renderer/src/views/Header.vue
@@ -12,11 +12,12 @@
登录时间:{{ time }}
-
+
+
{{ userInfo.username }}
@@ -104,7 +105,7 @@
// 从认证状态管理中加载用户信息
if (authStore.currentUser) {
Object.assign(userInfo, {
- username: authStore.currentUser.username,
+ username: authStore.currentUser.name,
avatar: authStore.currentUser.avatar || ''
})
}
diff --git a/frontend/src/renderer/src/views/Login.vue b/frontend/src/renderer/src/views/Login.vue
index dbe0fd71..2b3b04e6 100644
--- a/frontend/src/renderer/src/views/Login.vue
+++ b/frontend/src/renderer/src/views/Login.vue
@@ -217,7 +217,8 @@ import { useAuthStore } from '../stores'
import { User, Lock, View, Hide, Phone } from '@element-plus/icons-vue'
import bg from '@/assets/bg.png'
-
+import { getBackendUrl } from '../services/api.js'
+const BACKEND_URL = getBackendUrl()
const router = useRouter()
const authStore = useAuthStore()
@@ -487,7 +488,7 @@ const handleForgotPasswordSubmit = async () => {
try {
// 调用后端API验证用户信息并获取密码
- const response = await fetch('http://127.0.0.1:5000/api/auth/forgot-password', {
+ const response = await fetch( `${BACKEND_URL}/api/auth/forgot-password`, {
method: 'POST',
headers: {
'Content-Type': 'application/json'