whistle.mock-plugins 1.2.2-beta.4 → 1.2.2-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,6 +7,7 @@ const { Title, Text, Paragraph } = Typography;
7
7
 
8
8
  const Settings = () => {
9
9
  const [displayMode, setDisplayMode] = useState('modal');
10
+ const [interfaceFormDisplayMode, setInterfaceFormDisplayMode] = useState('modal');
10
11
 
11
12
  useEffect(() => {
12
13
  // 从 localStorage 读取配置
@@ -14,6 +15,11 @@ const Settings = () => {
14
15
  if (savedMode) {
15
16
  setDisplayMode(savedMode);
16
17
  }
18
+
19
+ const savedInterfaceFormMode = localStorage.getItem('interfaceFormDisplayMode');
20
+ if (savedInterfaceFormMode) {
21
+ setInterfaceFormDisplayMode(savedInterfaceFormMode);
22
+ }
17
23
  }, []);
18
24
 
19
25
  const handleDisplayModeChange = (checked) => {
@@ -25,6 +31,15 @@ const Settings = () => {
25
31
  window.dispatchEvent(new Event('storage'));
26
32
  };
27
33
 
34
+ const handleInterfaceFormDisplayModeChange = (checked) => {
35
+ const newMode = checked ? 'drawer' : 'modal';
36
+ setInterfaceFormDisplayMode(newMode);
37
+ localStorage.setItem('interfaceFormDisplayMode', newMode);
38
+
39
+ // 触发 storage 事件,通知其他页面
40
+ window.dispatchEvent(new Event('storage'));
41
+ };
42
+
28
43
  return (
29
44
  <AppLayout>
30
45
  <div className="page-container">
@@ -57,6 +72,26 @@ const Settings = () => {
57
72
  </Space>
58
73
  </div>
59
74
  </div>
75
+
76
+ <div className="settings-item">
77
+ <div className="settings-item-header">
78
+ <div>
79
+ <div className="settings-item-title">接口表单交互</div>
80
+ <div className="settings-item-description">
81
+ 选择添加/编辑接口的显示方式
82
+ </div>
83
+ </div>
84
+ <Space>
85
+ <Text type="secondary">
86
+ {interfaceFormDisplayMode === 'drawer' ? '抽屉模式' : '弹窗模式'}
87
+ </Text>
88
+ <Switch
89
+ checked={interfaceFormDisplayMode === 'drawer'}
90
+ onChange={handleInterfaceFormDisplayModeChange}
91
+ />
92
+ </Space>
93
+ </div>
94
+ </div>
60
95
  </Card>
61
96
  </div>
62
97
  </AppLayout>