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"]}> <Dropdown menu={{ items }} trigger={["click"]}>
<section className="flex items-center"> <section className="flex items-center">
<img src={icon_avatar} alt="" className="h-8" /> <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> </section>
</Dropdown> </Dropdown>
</div> </div>

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

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

7
src/services/wsTypes.ts

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

13
src/store/features/contextSlice.ts

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

Loading…
Cancel
Save