LiLongLong 5 months ago
parent
commit
d17ae28343
  1. 2
      src/components/Header.tsx
  2. 4
      src/pages/measure/components/MeasureConfig.tsx
  3. 7
      src/services/wsTypes.ts
  4. 13
      src/store/features/contextSlice.ts

2
src/components/Header.tsx

@ -136,7 +136,7 @@ export default function Header() {
<Dropdown menu={{ items }} trigger={["click"]}>
<section className="flex items-center">
<img src={icon_avatar} alt="" className="h-8" />
<p className="text-base ml-2">{context.loginFlag ? context.loginUser.nickname : "未登录"}</p>
<p className="text-base ml-2">{context.user.loginFlag ? context.user.loginUser.nickname : "未登录"}</p>
</section>
</Dropdown>
</div>

4
src/pages/measure/components/MeasureConfig.tsx

@ -28,9 +28,9 @@ export default function MeasureConfig() {
const [form] = Form.useForm();
useEffect(() => {
form.setFieldsValue({
username: context.loginUser.nickname || "",
username: context.user.loginUser.nickname || "",
});
}, [context.loginUser.nickname, form]);
}, [context.user.loginUser.nickname, form]);
return (
<>
{contextHolder}

7
src/services/wsTypes.ts

@ -7,7 +7,7 @@ export type TaskState = {
path: "/measurement-task/get-task-state";
};
// 连上报坐标点
// 连上报坐标点
export type TrackRecordSig = {
messageType: "EVENT";
data: {
@ -26,9 +26,9 @@ export const defaultContext: ContextMessage["data"] = {
userRole: "User", //用户角色,可用值:User,Admin,Dev
isBuiltInUser: false, //是否内置用户(内置用户不可删除)
},
newMeasureAfterSave: false,
};
// 上下文状态
export type ContextMessage = {
messageType: "DeviceContext";
data: {
@ -41,7 +41,6 @@ export type ContextMessage = {
userRole: "Admin" | "User" | "Dev";
isBuiltInUser: boolean;
}>;
newMeasureAfterSave: boolean;
};
path: "/deviceContext";
};
@ -52,7 +51,7 @@ export const taskStatusDescMap: { [k in MeasureState["data"]["taskStatus"]]: str
WAITING_FOR_MEASURING: "等待测量",
FINISHED: "测量完成",
};
// 测量任务状态
export type MeasureState = {
messageType: "STATE";
data: {

13
src/store/features/contextSlice.ts

@ -3,9 +3,12 @@
import { createSlice, PayloadAction } from "@reduxjs/toolkit";
import { ContextMessage } from "../../services/wsTypes";
const initialState: ContextMessage["data"] = {
loginFlag: false,
loginUser: {},
interface ContextSlice {
user: ContextMessage["data"];
newMeasureAfterSave: boolean;
}
const initialState: ContextSlice = {
user: { loginFlag: false, loginUser: {} },
newMeasureAfterSave: false,
};
@ -15,8 +18,8 @@ export const contextSlice = createSlice({
reducers: {
updateUser: (state, action: PayloadAction<ContextMessage["data"]>) => {
state.loginFlag = action.payload.loginFlag;
state.loginUser = action.payload.loginUser;
state.user.loginFlag = action.payload.loginFlag;
state.user.loginUser = action.payload.loginUser;
},
switchMeasureAfterSave: (state, action: PayloadAction<boolean>) => {
state.newMeasureAfterSave = action.payload;

Loading…
Cancel
Save