eoss-ui 0.7.90 → 0.7.92

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.
Files changed (160) hide show
  1. package/lib/button-group.js +61 -0
  2. package/lib/button.js +63 -2
  3. package/lib/calogin.js +61 -0
  4. package/lib/checkbox-group.js +61 -0
  5. package/lib/data-table-form.js +61 -0
  6. package/lib/data-table.js +74 -8
  7. package/lib/date-picker.js +61 -0
  8. package/lib/dialog.js +67 -5
  9. package/lib/eoss-ui.common.js +888 -758
  10. package/lib/flow-group.js +99 -15
  11. package/lib/flow-list.js +157 -96
  12. package/lib/flow.js +223 -162
  13. package/lib/form.js +61 -0
  14. package/lib/handle-user.js +64 -3
  15. package/lib/handler.js +71 -10
  16. package/lib/icon.js +61 -0
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +61 -0
  19. package/lib/input.js +61 -0
  20. package/lib/login.js +68 -6
  21. package/lib/main.js +475 -391
  22. package/lib/nav.js +61 -0
  23. package/lib/page.js +61 -0
  24. package/lib/pagination.js +64 -3
  25. package/lib/player.js +61 -0
  26. package/lib/qr-code.js +61 -0
  27. package/lib/radio-group.js +61 -0
  28. package/lib/retrial-auth.js +83 -6
  29. package/lib/select-ganged.js +61 -0
  30. package/lib/select.js +61 -0
  31. package/lib/selector-panel.js +61 -0
  32. package/lib/selector.js +61 -0
  33. package/lib/sizer.js +61 -0
  34. package/lib/steps.js +61 -0
  35. package/lib/switch.js +61 -0
  36. package/lib/table-form.js +61 -0
  37. package/lib/tabs.js +61 -0
  38. package/lib/theme-chalk/index.css +1 -1
  39. package/lib/theme-chalk/login.css +1 -1
  40. package/lib/tips.js +61 -0
  41. package/lib/tree-group.js +64 -3
  42. package/lib/tree.js +61 -0
  43. package/lib/upload.js +61 -0
  44. package/lib/utils/util.js +61 -0
  45. package/lib/wujie.js +61 -0
  46. package/lib/wxlogin.js +61 -0
  47. package/package.json +1 -1
  48. package/packages/.DS_Store +0 -0
  49. package/packages/button/src/main.vue +2 -2
  50. package/packages/button-group/src/main.vue +346 -346
  51. package/packages/calogin/.DS_Store +0 -0
  52. package/packages/calogin/src/main.vue +412 -412
  53. package/packages/clients/src/main.vue +151 -151
  54. package/packages/data-table/src/main.vue +8 -3
  55. package/packages/date-picker/.DS_Store +0 -0
  56. package/packages/date-picker/src/.DS_Store +0 -0
  57. package/packages/dialog/.DS_Store +0 -0
  58. package/packages/dialog/src/main.vue +4 -3
  59. package/packages/flow/.DS_Store +0 -0
  60. package/packages/flow/src/.DS_Store +0 -0
  61. package/packages/flow/src/component/Circulate.vue +417 -417
  62. package/packages/flow/src/component/CommonOpinions.vue +376 -376
  63. package/packages/flow/src/component/CustomPreset.vue +324 -324
  64. package/packages/flow/src/component/FileList.vue +97 -97
  65. package/packages/flow/src/component/FreeCirculation.vue +244 -244
  66. package/packages/flow/src/component/Preset.vue +257 -257
  67. package/packages/flow/src/component/SendMsg.vue +242 -242
  68. package/packages/flow/src/component/SortFlow.vue +110 -110
  69. package/packages/flow/src/component/taskUnionExamine.vue +761 -761
  70. package/packages/flow/src/form.vue +123 -123
  71. package/packages/flow/src/freeStartFlow.vue +2855 -2855
  72. package/packages/flow/src/processForm.vue +1680 -1680
  73. package/packages/flow/src/processReject.vue +309 -309
  74. package/packages/flow/src/reset.vue +946 -946
  75. package/packages/flow/src/startTaskRead.vue +695 -695
  76. package/packages/flow/src/supervise.vue +159 -159
  77. package/packages/flow/src/table.vue +58 -58
  78. package/packages/flow-group/src/main.vue +750 -727
  79. package/packages/flow-list/.DS_Store +0 -0
  80. package/packages/flow-list/src/main.vue +2337 -2337
  81. package/packages/form/.DS_Store +0 -0
  82. package/packages/form/src/main.vue +3901 -3901
  83. package/packages/form/src/table.vue +1512 -1512
  84. package/packages/handle-user/src/main.vue +137 -137
  85. package/packages/handler/src/main.vue +10 -8
  86. package/packages/icon/.DS_Store +0 -0
  87. package/packages/icon/src/main.vue +104 -104
  88. package/packages/login/.DS_Store +0 -0
  89. package/packages/login/src/main.vue +2088 -2087
  90. package/packages/login/src/resetPassword.vue +557 -557
  91. package/packages/main/.DS_Store +0 -0
  92. package/packages/main/src/.DS_Store +0 -0
  93. package/packages/main/src/default/userinfo.vue +513 -503
  94. package/packages/main/src/main.vue +13 -19
  95. package/packages/main/src/public/online.vue +89 -89
  96. package/packages/main/src/public/search.vue +464 -464
  97. package/packages/main/src/public/settings.vue +273 -273
  98. package/packages/main/src/simplicity/apps.vue +388 -388
  99. package/packages/main/src/simplicity/avatar.vue +82 -82
  100. package/packages/main/src/simplicity/handler.vue +158 -158
  101. package/packages/main/src/simplicity/index.vue +2335 -2328
  102. package/packages/main/src/simplicity/menu-list.vue +135 -135
  103. package/packages/main/src/simplicity/message.vue +293 -293
  104. package/packages/main/src/simplicity/notice.vue +222 -222
  105. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  106. package/packages/main/src/simplicity/user.vue +259 -259
  107. package/packages/main/src/simplicity/userinfo.vue +408 -401
  108. package/packages/main/src/simplicityTop/apps.vue +388 -388
  109. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  110. package/packages/main/src/simplicityTop/handler.vue +215 -215
  111. package/packages/main/src/simplicityTop/index.vue +2620 -2618
  112. package/packages/main/src/simplicityTop/lists.vue +84 -84
  113. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  114. package/packages/main/src/simplicityTop/message.vue +293 -293
  115. package/packages/main/src/simplicityTop/notice.vue +222 -222
  116. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  117. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  118. package/packages/main/src/simplicityTop/user.vue +259 -259
  119. package/packages/main/src/simplicityTop/userinfo.vue +408 -401
  120. package/packages/menu/.DS_Store +0 -0
  121. package/packages/menu/src/main.vue +595 -595
  122. package/packages/nav/src/main.vue +351 -351
  123. package/packages/pagination/src/main.vue +4 -4
  124. package/packages/retrial-auth/src/main.vue +23 -4
  125. package/packages/select/.DS_Store +0 -0
  126. package/packages/selector/.DS_Store +0 -0
  127. package/packages/selector/src/main.vue +761 -761
  128. package/packages/selector-panel/.DS_Store +0 -0
  129. package/packages/selector-panel/src/main.vue +1036 -1036
  130. package/packages/selector-panel/src/selection.vue +174 -174
  131. package/packages/switch/src/main.vue +170 -170
  132. package/packages/theme-chalk/lib/index.css +1 -1
  133. package/packages/theme-chalk/lib/login.css +1 -1
  134. package/packages/theme-chalk/src/.DS_Store +0 -0
  135. package/packages/theme-chalk/src/data-table.scss +297 -297
  136. package/packages/theme-chalk/src/flow-list.scss +55 -55
  137. package/packages/theme-chalk/src/flow.scss +373 -373
  138. package/packages/theme-chalk/src/form.scss +501 -501
  139. package/packages/theme-chalk/src/handler.scss +148 -148
  140. package/packages/theme-chalk/src/icon.scss +3452 -3452
  141. package/packages/theme-chalk/src/login.scss +1006 -1006
  142. package/packages/theme-chalk/src/main.scss +664 -664
  143. package/packages/theme-chalk/src/menu.scss +224 -224
  144. package/packages/theme-chalk/src/selector.scss +114 -114
  145. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  146. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  147. package/packages/theme-chalk/src/tree.scss +165 -165
  148. package/packages/theme-chalk/src/upload.scss +172 -172
  149. package/packages/tips/src/main.vue +141 -141
  150. package/packages/toolbar/src/main.vue +430 -430
  151. package/packages/tree-group/src/main.vue +1 -1
  152. package/packages/upload/.DS_Store +0 -0
  153. package/packages/upload/src/main.vue +1344 -1344
  154. package/packages/wujie/src/main.vue +146 -146
  155. package/src/.DS_Store +0 -0
  156. package/src/config/api.js +348 -348
  157. package/src/index.js +163 -163
  158. package/src/utils/.DS_Store +0 -0
  159. package/src/utils/rules.js +18 -18
  160. package/src/utils/util.js +61 -0
package/src/index.js CHANGED
@@ -1,116 +1,116 @@
1
1
  /* Automatically generated by './build/bin/build-entry.js' */
2
2
 
3
- import Button from '../packages/button/index.js';
4
- import ButtonGroup from '../packages/button-group/index.js';
5
- import Calendar from '../packages/calendar/index.js';
6
- import Calogin from '../packages/calogin/index.js';
7
- import Card from '../packages/card/index.js';
8
- import Cascader from '../packages/cascader/index.js';
9
- import CheckboxGroup from '../packages/checkbox-group/index.js';
10
- import Clients from '../packages/clients/index.js';
11
- import DataTable from '../packages/data-table/index.js';
12
- import DataTableForm from '../packages/data-table-form/index.js';
13
- import DatePicker from '../packages/date-picker/index.js';
14
- import Dialog from '../packages/dialog/index.js';
15
- import EnableDrag from '../packages/enable-drag/index.js';
16
- import Enterprise from '../packages/enterprise/index.js';
17
- import ErrorPage from '../packages/error-page/index.js';
18
- import Form from '../packages/form/index.js';
19
- import Flow from '../packages/flow/index.js';
20
- import FlowGroup from '../packages/flow-group/index.js';
21
- import FlowList from '../packages/flow-list/index.js';
22
- import HandleUser from '../packages/handle-user/index.js';
23
- import Handler from '../packages/handler/index.js';
24
- import Icon from '../packages/icon/index.js';
25
- import Icons from '../packages/icons/index.js';
26
- import Input from '../packages/input/index.js';
27
- import InputNumber from '../packages/input-number/index.js';
28
- import Label from '../packages/label/index.js';
29
- import Layout from '../packages/layout/index.js';
30
- import Login from '../packages/login/index.js';
31
- import Main from '../packages/main/index.js';
32
- import Menu from '../packages/menu/index.js';
33
- import Nav from '../packages/nav/index.js';
34
- import Notify from '../packages/notify/index.js';
35
- import Pagination from '../packages/pagination/index.js';
36
- import Page from '../packages/page/index.js';
37
- import Player from '../packages/player/index.js';
38
- import QrCode from '../packages/qr-code/index.js';
39
- import RadioGroup from '../packages/radio-group/index.js';
40
- import RetrialAuth from '../packages/retrial-auth/index.js';
41
- import Select from '../packages/select/index.js';
42
- import SelectGanged from '../packages/select-ganged/index.js';
43
- import Selector from '../packages/selector/index.js';
44
- import SelectorPanel from '../packages/selector-panel/index.js';
45
- import Sizer from '../packages/sizer/index.js';
46
- import Steps from '../packages/steps/index.js';
47
- import Switch from '../packages/switch/index.js';
48
- import Tabs from '../packages/tabs/index.js';
49
- import TabsPanel from '../packages/tabs-panel/index.js';
50
- import Tips from '../packages/tips/index.js';
51
- import Tree from '../packages/tree/index.js';
52
- import TreeGroup from '../packages/tree-group/index.js';
53
- import Toolbar from '../packages/toolbar/index.js';
54
- import TableForm from '../packages/table-form/index.js';
55
- import Upload from '../packages/upload/index.js';
56
- import Wujie from '../packages/wujie/index.js';
3
+ import Button from '../packages/button/index.js';
4
+ import ButtonGroup from '../packages/button-group/index.js';
5
+ import Calendar from '../packages/calendar/index.js';
6
+ import Calogin from '../packages/calogin/index.js';
7
+ import Card from '../packages/card/index.js';
8
+ import Cascader from '../packages/cascader/index.js';
9
+ import CheckboxGroup from '../packages/checkbox-group/index.js';
10
+ import Clients from '../packages/clients/index.js';
11
+ import DataTable from '../packages/data-table/index.js';
12
+ import DataTableForm from '../packages/data-table-form/index.js';
13
+ import DatePicker from '../packages/date-picker/index.js';
14
+ import Dialog from '../packages/dialog/index.js';
15
+ import EnableDrag from '../packages/enable-drag/index.js';
16
+ import Enterprise from '../packages/enterprise/index.js';
17
+ import ErrorPage from '../packages/error-page/index.js';
18
+ import Form from '../packages/form/index.js';
19
+ import Flow from '../packages/flow/index.js';
20
+ import FlowGroup from '../packages/flow-group/index.js';
21
+ import FlowList from '../packages/flow-list/index.js';
22
+ import HandleUser from '../packages/handle-user/index.js';
23
+ import Handler from '../packages/handler/index.js';
24
+ import Icon from '../packages/icon/index.js';
25
+ import Icons from '../packages/icons/index.js';
26
+ import Input from '../packages/input/index.js';
27
+ import InputNumber from '../packages/input-number/index.js';
28
+ import Label from '../packages/label/index.js';
29
+ import Layout from '../packages/layout/index.js';
30
+ import Login from '../packages/login/index.js';
31
+ import Main from '../packages/main/index.js';
32
+ import Menu from '../packages/menu/index.js';
33
+ import Nav from '../packages/nav/index.js';
34
+ import Notify from '../packages/notify/index.js';
35
+ import Pagination from '../packages/pagination/index.js';
36
+ import Page from '../packages/page/index.js';
37
+ import Player from '../packages/player/index.js';
38
+ import QrCode from '../packages/qr-code/index.js';
39
+ import RadioGroup from '../packages/radio-group/index.js';
40
+ import RetrialAuth from '../packages/retrial-auth/index.js';
41
+ import Select from '../packages/select/index.js';
42
+ import SelectGanged from '../packages/select-ganged/index.js';
43
+ import Selector from '../packages/selector/index.js';
44
+ import SelectorPanel from '../packages/selector-panel/index.js';
45
+ import Sizer from '../packages/sizer/index.js';
46
+ import Steps from '../packages/steps/index.js';
47
+ import Switch from '../packages/switch/index.js';
48
+ import Tabs from '../packages/tabs/index.js';
49
+ import TabsPanel from '../packages/tabs-panel/index.js';
50
+ import Tips from '../packages/tips/index.js';
51
+ import Tree from '../packages/tree/index.js';
52
+ import TreeGroup from '../packages/tree-group/index.js';
53
+ import Toolbar from '../packages/toolbar/index.js';
54
+ import TableForm from '../packages/table-form/index.js';
55
+ import Upload from '../packages/upload/index.js';
56
+ import Wujie from '../packages/wujie/index.js';
57
57
  import Wxlogin from '../packages/wxlogin/index.js';
58
58
 
59
59
  const components = [
60
- Button,
61
- ButtonGroup,
62
- Calendar,
63
- Calogin,
64
- Card,
65
- Cascader,
66
- CheckboxGroup,
67
- Clients,
68
- DataTable,
69
- DataTableForm,
70
- DatePicker,
71
- Dialog,
72
- EnableDrag,
73
- Enterprise,
74
- ErrorPage,
75
- Form,
76
- Flow,
77
- FlowGroup,
78
- FlowList,
79
- HandleUser,
80
- Handler,
81
- Icon,
82
- Icons,
83
- Input,
84
- InputNumber,
85
- Label,
86
- Layout,
87
- Login,
88
- Main,
89
- Menu,
90
- Nav,
91
- Notify,
92
- Pagination,
93
- Page,
94
- Player,
95
- QrCode,
96
- RadioGroup,
97
- RetrialAuth,
98
- Select,
99
- SelectGanged,
100
- Selector,
101
- SelectorPanel,
102
- Sizer,
103
- Steps,
104
- Switch,
105
- Tabs,
106
- TabsPanel,
107
- Tips,
108
- Tree,
109
- TreeGroup,
110
- Toolbar,
111
- TableForm,
112
- Upload,
113
- Wujie,
60
+ Button,
61
+ ButtonGroup,
62
+ Calendar,
63
+ Calogin,
64
+ Card,
65
+ Cascader,
66
+ CheckboxGroup,
67
+ Clients,
68
+ DataTable,
69
+ DataTableForm,
70
+ DatePicker,
71
+ Dialog,
72
+ EnableDrag,
73
+ Enterprise,
74
+ ErrorPage,
75
+ Form,
76
+ Flow,
77
+ FlowGroup,
78
+ FlowList,
79
+ HandleUser,
80
+ Handler,
81
+ Icon,
82
+ Icons,
83
+ Input,
84
+ InputNumber,
85
+ Label,
86
+ Layout,
87
+ Login,
88
+ Main,
89
+ Menu,
90
+ Nav,
91
+ Notify,
92
+ Pagination,
93
+ Page,
94
+ Player,
95
+ QrCode,
96
+ RadioGroup,
97
+ RetrialAuth,
98
+ Select,
99
+ SelectGanged,
100
+ Selector,
101
+ SelectorPanel,
102
+ Sizer,
103
+ Steps,
104
+ Switch,
105
+ Tabs,
106
+ TabsPanel,
107
+ Tips,
108
+ Tree,
109
+ TreeGroup,
110
+ Toolbar,
111
+ TableForm,
112
+ Upload,
113
+ Wujie,
114
114
  Wxlogin
115
115
  ];
116
116
 
@@ -125,61 +125,61 @@ if (typeof window !== 'undefined' && window.Vue) {
125
125
  }
126
126
 
127
127
  export default {
128
- version: '0.7.90',
128
+ version: '0.7.92',
129
129
  install,
130
- Button,
131
- ButtonGroup,
132
- Calendar,
133
- Calogin,
134
- Card,
135
- Cascader,
136
- CheckboxGroup,
137
- Clients,
138
- DataTable,
139
- DataTableForm,
140
- DatePicker,
141
- Dialog,
142
- EnableDrag,
143
- Enterprise,
144
- ErrorPage,
145
- Form,
146
- Flow,
147
- FlowGroup,
148
- FlowList,
149
- HandleUser,
150
- Handler,
151
- Icon,
152
- Icons,
153
- Input,
154
- InputNumber,
155
- Label,
156
- Layout,
157
- Login,
158
- Main,
159
- Menu,
160
- Nav,
161
- Notify,
162
- Pagination,
163
- Page,
164
- Player,
165
- QrCode,
166
- RadioGroup,
167
- RetrialAuth,
168
- Select,
169
- SelectGanged,
170
- Selector,
171
- SelectorPanel,
172
- Sizer,
173
- Steps,
174
- Switch,
175
- Tabs,
176
- TabsPanel,
177
- Tips,
178
- Tree,
179
- TreeGroup,
180
- Toolbar,
181
- TableForm,
182
- Upload,
183
- Wujie,
130
+ Button,
131
+ ButtonGroup,
132
+ Calendar,
133
+ Calogin,
134
+ Card,
135
+ Cascader,
136
+ CheckboxGroup,
137
+ Clients,
138
+ DataTable,
139
+ DataTableForm,
140
+ DatePicker,
141
+ Dialog,
142
+ EnableDrag,
143
+ Enterprise,
144
+ ErrorPage,
145
+ Form,
146
+ Flow,
147
+ FlowGroup,
148
+ FlowList,
149
+ HandleUser,
150
+ Handler,
151
+ Icon,
152
+ Icons,
153
+ Input,
154
+ InputNumber,
155
+ Label,
156
+ Layout,
157
+ Login,
158
+ Main,
159
+ Menu,
160
+ Nav,
161
+ Notify,
162
+ Pagination,
163
+ Page,
164
+ Player,
165
+ QrCode,
166
+ RadioGroup,
167
+ RetrialAuth,
168
+ Select,
169
+ SelectGanged,
170
+ Selector,
171
+ SelectorPanel,
172
+ Sizer,
173
+ Steps,
174
+ Switch,
175
+ Tabs,
176
+ TabsPanel,
177
+ Tips,
178
+ Tree,
179
+ TreeGroup,
180
+ Toolbar,
181
+ TableForm,
182
+ Upload,
183
+ Wujie,
184
184
  Wxlogin
185
185
  };
Binary file
@@ -1,18 +1,18 @@
1
- // 手机号
2
- const phone = {pattern: new RegExp('^[1][3, 4, 5, 6, 7, 8, 9][0-9]{9}$'), message: '手机号不合法'};
3
- // 身份证
4
- const idCard = {pattern: new RegExp('(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)'), message: '身份证号不合法'};
5
- // 座机号
6
- const telephone = {pattern: new RegExp('^(?:\\(?0([1-9]\\d{1,2})\\)?[- ]?)?([2-9]\\d{6,7})$'), message: '座机号不合法'};
7
- // IP
8
- const ip = {pattern: new RegExp('^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$'), message: 'IP地址不合法'};
9
- // 银行卡号
10
- const bankCard = {pattern: new RegExp('^([1-9]{1})(\\d{14}|\\d{18})$'), message: '银行卡号不合法'};
11
-
12
- export default {
13
- phone,
14
- idCard,
15
- telephone,
16
- ip,
17
- bankCard
18
- };
1
+ // 手机号
2
+ const phone = {pattern: new RegExp('^[1][3, 4, 5, 6, 7, 8, 9][0-9]{9}$'), message: '手机号不合法'};
3
+ // 身份证
4
+ const idCard = {pattern: new RegExp('(^\\d{15}$)|(^\\d{18}$)|(^\\d{17}(\\d|X|x)$)'), message: '身份证号不合法'};
5
+ // 座机号
6
+ const telephone = {pattern: new RegExp('^(?:\\(?0([1-9]\\d{1,2})\\)?[- ]?)?([2-9]\\d{6,7})$'), message: '座机号不合法'};
7
+ // IP
8
+ const ip = {pattern: new RegExp('^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$'), message: 'IP地址不合法'};
9
+ // 银行卡号
10
+ const bankCard = {pattern: new RegExp('^([1-9]{1})(\\d{14}|\\d{18})$'), message: '银行卡号不合法'};
11
+
12
+ export default {
13
+ phone,
14
+ idCard,
15
+ telephone,
16
+ ip,
17
+ bankCard
18
+ };
package/src/utils/util.js CHANGED
@@ -1954,6 +1954,65 @@ const getWeekday = function (date, type = 0) {
1954
1954
  // Adjust for JavaScript's day numbering (0 is Sunday, 1 is Monday, etc.)
1955
1955
  return adjustedDay === 0 ? 7 : adjustedDay;
1956
1956
  };
1957
+ /**
1958
+ * getWinTop
1959
+ * @desc 获取同域的top窗口
1960
+ * @param {object} [wind] - window对象
1961
+ * @return {Window} 同域的top窗口
1962
+ **/
1963
+ const getWinTop = function (wind) {
1964
+ wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
1965
+ try {
1966
+ // 检查是否已经是顶层窗口,避免无限递归
1967
+ if (wind === wind.parent) {
1968
+ return wind;
1969
+ }
1970
+ wind.parent.document;
1971
+ return getWinTop(wind.parent);
1972
+ } catch (error) {
1973
+ return wind;
1974
+ }
1975
+ };
1976
+
1977
+ /**
1978
+ * getWinTopProperty
1979
+ * @desc 安全获取顶层窗口的属性,避免跨域访问错误
1980
+ * @param {string} propertyName - 要获取的属性名
1981
+ * @param {any} defaultValue - 默认值,当属性获取失败时返回
1982
+ * @return {any} 属性值或默认值
1983
+ **/
1984
+ const getWinTopProperty = function (propertyName, defaultValue) {
1985
+ // 1. 先尝试获取 window.top 的属性
1986
+ try {
1987
+ if (window.top && window.top[propertyName] !== undefined) {
1988
+ return window.top[propertyName];
1989
+ }
1990
+ } catch (topError) {
1991
+ // window.top 跨域,继续尝试
1992
+ }
1993
+
1994
+ // 2. 尝试获取同源的最上层窗口的属性
1995
+ try {
1996
+ const sameOriginTop = getWinTop();
1997
+ if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
1998
+ return sameOriginTop[propertyName];
1999
+ }
2000
+ } catch (sameOriginError) {
2001
+ // 同源最上层窗口获取失败,继续尝试
2002
+ }
2003
+
2004
+ // 3. 尝试获取当前窗口的属性
2005
+ try {
2006
+ if (window[propertyName] !== undefined) {
2007
+ return window[propertyName];
2008
+ }
2009
+ } catch (currentWinError) {
2010
+ // 当前窗口获取失败,返回默认值
2011
+ }
2012
+
2013
+ // 4. 所有尝试都失败,返回默认值
2014
+ return defaultValue;
2015
+ };
1957
2016
 
1958
2017
  /**
1959
2018
  * getZoom
@@ -3795,6 +3854,8 @@ export default {
3795
3854
  getTypeName,
3796
3855
  getValues,
3797
3856
  getWeekday,
3857
+ getWinTop,
3858
+ getWinTopProperty,
3798
3859
  handlerUrl,
3799
3860
  hasChars,
3800
3861
  hasClass,