eoss-ui 0.7.91 → 0.7.93

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 (67) hide show
  1. package/lib/button-group.js +45 -0
  2. package/lib/button.js +45 -0
  3. package/lib/calogin.js +45 -0
  4. package/lib/checkbox-group.js +45 -0
  5. package/lib/data-table-form.js +45 -0
  6. package/lib/data-table.js +58 -8
  7. package/lib/date-picker.js +45 -0
  8. package/lib/dialog.js +52 -11
  9. package/lib/eoss-ui.common.js +290 -175
  10. package/lib/flow-group.js +81 -12
  11. package/lib/flow-list.js +45 -0
  12. package/lib/flow.js +45 -0
  13. package/lib/form.js +45 -0
  14. package/lib/handle-user.js +45 -0
  15. package/lib/handler.js +45 -0
  16. package/lib/icon.js +45 -0
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +45 -0
  19. package/lib/input.js +45 -0
  20. package/lib/login.js +52 -6
  21. package/lib/main.js +160 -87
  22. package/lib/nav.js +45 -0
  23. package/lib/page.js +45 -0
  24. package/lib/pagination.js +48 -3
  25. package/lib/player.js +45 -0
  26. package/lib/qr-code.js +45 -0
  27. package/lib/radio-group.js +45 -0
  28. package/lib/retrial-auth.js +67 -6
  29. package/lib/select-ganged.js +45 -0
  30. package/lib/select.js +45 -0
  31. package/lib/selector-panel.js +45 -0
  32. package/lib/selector.js +45 -0
  33. package/lib/sizer.js +45 -0
  34. package/lib/steps.js +45 -0
  35. package/lib/switch.js +45 -0
  36. package/lib/table-form.js +45 -0
  37. package/lib/tabs.js +45 -0
  38. package/lib/tips.js +45 -0
  39. package/lib/tree-group.js +48 -3
  40. package/lib/tree.js +45 -0
  41. package/lib/upload.js +45 -0
  42. package/lib/utils/util.js +45 -0
  43. package/lib/wujie.js +45 -0
  44. package/lib/wxlogin.js +45 -0
  45. package/package.json +1 -1
  46. package/packages/.DS_Store +0 -0
  47. package/packages/data-table/src/main.vue +8 -4
  48. package/packages/dialog/.DS_Store +0 -0
  49. package/packages/dialog/src/main.vue +5 -11
  50. package/packages/flow/.DS_Store +0 -0
  51. package/packages/flow-group/src/main.vue +34 -12
  52. package/packages/flow-list/.DS_Store +0 -0
  53. package/packages/login/src/main.vue +2 -1
  54. package/packages/main/.DS_Store +0 -0
  55. package/packages/main/src/default/userinfo.vue +22 -14
  56. package/packages/main/src/main.vue +11 -12
  57. package/packages/main/src/simplicity/index.vue +19 -14
  58. package/packages/main/src/simplicity/userinfo.vue +18 -13
  59. package/packages/main/src/simplicityTop/index.vue +1 -1
  60. package/packages/main/src/simplicityTop/userinfo.vue +18 -13
  61. package/packages/pagination/src/main.vue +4 -4
  62. package/packages/retrial-auth/src/main.vue +23 -4
  63. package/packages/select/.DS_Store +0 -0
  64. package/packages/tree-group/src/main.vue +1 -2
  65. package/src/.DS_Store +0 -0
  66. package/src/index.js +1 -1
  67. package/src/utils/util.js +45 -0
@@ -20,10 +20,10 @@
20
20
  </template>
21
21
  <script>
22
22
  import util from 'eoss-ui/src/utils/util';
23
- const paginationLayout =
24
- util.getWinTop().tableLayout ||
25
- util.win.tableLayout ||
26
- 'prev, pager, next, sizes, total';
23
+ const paginationLayout = util.getWinTopProperty(
24
+ 'tableLayout',
25
+ 'prev, pager, next, sizes, total'
26
+ );
27
27
  export default {
28
28
  name: 'EsPagination',
29
29
  inheritAttrs: false,
@@ -171,10 +171,21 @@ export default {
171
171
  type: 'success'
172
172
  });
173
173
  this.msgBox.handleClose();
174
+ const topWin = util.getWinTop();
174
175
  try {
175
- this.reload && util.getWinTop().location.reload();
176
+ if (this.reload) {
177
+ topWin.location.reload();
178
+ }
176
179
  } catch (error) {
177
- this.reload && util.getWinTop().postMessage({ type: 3 }, '*');
180
+ console.warn('Failed to reload page:', error);
181
+ try {
182
+ this.reload && topWin.postMessage({ type: 3 }, '*');
183
+ } catch (postMessageError) {
184
+ console.warn(
185
+ 'Failed to send postMessage:',
186
+ postMessageError
187
+ );
188
+ }
178
189
  }
179
190
  } else {
180
191
  this.$message({
@@ -253,10 +264,18 @@ export default {
253
264
  type: 'success'
254
265
  });
255
266
  this.msgBox.handleClose();
267
+ const topWin = util.getWinTop();
256
268
  try {
257
- this.reload && util.getWinTop().location.reload();
269
+ if (this.reload) {
270
+ topWin.location.reload();
271
+ }
258
272
  } catch (error) {
259
- this.reload && util.getWinTop().postMessage({ type: 3 }, '*');
273
+ console.warn('Failed to reload page:', error);
274
+ try {
275
+ this.reload && topWin.postMessage({ type: 3 }, '*');
276
+ } catch (postMessageError) {
277
+ console.warn('Failed to send postMessage:', postMessageError);
278
+ }
260
279
  }
261
280
  } else {
262
281
  this.scanCode = setTimeout(() => {
Binary file
@@ -184,8 +184,7 @@
184
184
 
185
185
  <script>
186
186
  import util from 'eoss-ui/src/utils/util';
187
- const systemMode =
188
- util.getWinTop().systemMode || util.win.systemMode || 'default';
187
+ const systemMode = util.getWinTopProperty('systemMode', 'default');
189
188
  export default {
190
189
  name: 'EsTreeGroup',
191
190
  inheritAttrs: false,
package/src/.DS_Store CHANGED
Binary file
package/src/index.js CHANGED
@@ -125,7 +125,7 @@ if (typeof window !== 'undefined' && window.Vue) {
125
125
  }
126
126
 
127
127
  export default {
128
- version: '0.7.91',
128
+ version: '0.7.93',
129
129
  install,
130
130
  Button,
131
131
  ButtonGroup,
package/src/utils/util.js CHANGED
@@ -1963,6 +1963,10 @@ const getWeekday = function (date, type = 0) {
1963
1963
  const getWinTop = function (wind) {
1964
1964
  wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
1965
1965
  try {
1966
+ // 检查是否已经是顶层窗口,避免无限递归
1967
+ if (wind === wind.parent) {
1968
+ return wind;
1969
+ }
1966
1970
  wind.parent.document;
1967
1971
  return getWinTop(wind.parent);
1968
1972
  } catch (error) {
@@ -1970,6 +1974,46 @@ const getWinTop = function (wind) {
1970
1974
  }
1971
1975
  };
1972
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
+ };
2016
+
1973
2017
  /**
1974
2018
  * getZoom
1975
2019
  * @desc 获取缩放比
@@ -3811,6 +3855,7 @@ export default {
3811
3855
  getValues,
3812
3856
  getWeekday,
3813
3857
  getWinTop,
3858
+ getWinTopProperty,
3814
3859
  handlerUrl,
3815
3860
  hasChars,
3816
3861
  hasClass,