eoss-ui 0.7.91 → 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 (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 +57 -7
  7. package/lib/date-picker.js +45 -0
  8. package/lib/dialog.js +52 -11
  9. package/lib/eoss-ui.common.js +289 -174
  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 +7 -3
  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
package/lib/selector.js CHANGED
@@ -2138,6 +2138,10 @@ var getWeekday = function getWeekday(date) {
2138
2138
  var getWinTop = function getWinTop(wind) {
2139
2139
  wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
2140
2140
  try {
2141
+ // 检查是否已经是顶层窗口,避免无限递归
2142
+ if (wind === wind.parent) {
2143
+ return wind;
2144
+ }
2141
2145
  wind.parent.document;
2142
2146
  return getWinTop(wind.parent);
2143
2147
  } catch (error) {
@@ -2145,6 +2149,46 @@ var getWinTop = function getWinTop(wind) {
2145
2149
  }
2146
2150
  };
2147
2151
 
2152
+ /**
2153
+ * getWinTopProperty
2154
+ * @desc 安全获取顶层窗口的属性,避免跨域访问错误
2155
+ * @param {string} propertyName - 要获取的属性名
2156
+ * @param {any} defaultValue - 默认值,当属性获取失败时返回
2157
+ * @return {any} 属性值或默认值
2158
+ **/
2159
+ var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
2160
+ // 1. 先尝试获取 window.top 的属性
2161
+ try {
2162
+ if (window.top && window.top[propertyName] !== undefined) {
2163
+ return window.top[propertyName];
2164
+ }
2165
+ } catch (topError) {}
2166
+ // window.top 跨域,继续尝试
2167
+
2168
+
2169
+ // 2. 尝试获取同源的最上层窗口的属性
2170
+ try {
2171
+ var sameOriginTop = getWinTop();
2172
+ if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
2173
+ return sameOriginTop[propertyName];
2174
+ }
2175
+ } catch (sameOriginError) {}
2176
+ // 同源最上层窗口获取失败,继续尝试
2177
+
2178
+
2179
+ // 3. 尝试获取当前窗口的属性
2180
+ try {
2181
+ if (window[propertyName] !== undefined) {
2182
+ return window[propertyName];
2183
+ }
2184
+ } catch (currentWinError) {}
2185
+ // 当前窗口获取失败,返回默认值
2186
+
2187
+
2188
+ // 4. 所有尝试都失败,返回默认值
2189
+ return defaultValue;
2190
+ };
2191
+
2148
2192
  /**
2149
2193
  * getZoom
2150
2194
  * @desc 获取缩放比
@@ -3890,6 +3934,7 @@ var winTopOpen = function winTopOpen(config) {
3890
3934
  getValues: getValues,
3891
3935
  getWeekday: getWeekday,
3892
3936
  getWinTop: getWinTop,
3937
+ getWinTopProperty: getWinTopProperty,
3893
3938
  handlerUrl: handlerUrl,
3894
3939
  hasChars: hasChars,
3895
3940
  hasClass: hasClass,
package/lib/sizer.js CHANGED
@@ -2138,6 +2138,10 @@ var getWeekday = function getWeekday(date) {
2138
2138
  var getWinTop = function getWinTop(wind) {
2139
2139
  wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
2140
2140
  try {
2141
+ // 检查是否已经是顶层窗口,避免无限递归
2142
+ if (wind === wind.parent) {
2143
+ return wind;
2144
+ }
2141
2145
  wind.parent.document;
2142
2146
  return getWinTop(wind.parent);
2143
2147
  } catch (error) {
@@ -2145,6 +2149,46 @@ var getWinTop = function getWinTop(wind) {
2145
2149
  }
2146
2150
  };
2147
2151
 
2152
+ /**
2153
+ * getWinTopProperty
2154
+ * @desc 安全获取顶层窗口的属性,避免跨域访问错误
2155
+ * @param {string} propertyName - 要获取的属性名
2156
+ * @param {any} defaultValue - 默认值,当属性获取失败时返回
2157
+ * @return {any} 属性值或默认值
2158
+ **/
2159
+ var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
2160
+ // 1. 先尝试获取 window.top 的属性
2161
+ try {
2162
+ if (window.top && window.top[propertyName] !== undefined) {
2163
+ return window.top[propertyName];
2164
+ }
2165
+ } catch (topError) {}
2166
+ // window.top 跨域,继续尝试
2167
+
2168
+
2169
+ // 2. 尝试获取同源的最上层窗口的属性
2170
+ try {
2171
+ var sameOriginTop = getWinTop();
2172
+ if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
2173
+ return sameOriginTop[propertyName];
2174
+ }
2175
+ } catch (sameOriginError) {}
2176
+ // 同源最上层窗口获取失败,继续尝试
2177
+
2178
+
2179
+ // 3. 尝试获取当前窗口的属性
2180
+ try {
2181
+ if (window[propertyName] !== undefined) {
2182
+ return window[propertyName];
2183
+ }
2184
+ } catch (currentWinError) {}
2185
+ // 当前窗口获取失败,返回默认值
2186
+
2187
+
2188
+ // 4. 所有尝试都失败,返回默认值
2189
+ return defaultValue;
2190
+ };
2191
+
2148
2192
  /**
2149
2193
  * getZoom
2150
2194
  * @desc 获取缩放比
@@ -3890,6 +3934,7 @@ var winTopOpen = function winTopOpen(config) {
3890
3934
  getValues: getValues,
3891
3935
  getWeekday: getWeekday,
3892
3936
  getWinTop: getWinTop,
3937
+ getWinTopProperty: getWinTopProperty,
3893
3938
  handlerUrl: handlerUrl,
3894
3939
  hasChars: hasChars,
3895
3940
  hasClass: hasClass,
package/lib/steps.js CHANGED
@@ -2138,6 +2138,10 @@ var getWeekday = function getWeekday(date) {
2138
2138
  var getWinTop = function getWinTop(wind) {
2139
2139
  wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
2140
2140
  try {
2141
+ // 检查是否已经是顶层窗口,避免无限递归
2142
+ if (wind === wind.parent) {
2143
+ return wind;
2144
+ }
2141
2145
  wind.parent.document;
2142
2146
  return getWinTop(wind.parent);
2143
2147
  } catch (error) {
@@ -2145,6 +2149,46 @@ var getWinTop = function getWinTop(wind) {
2145
2149
  }
2146
2150
  };
2147
2151
 
2152
+ /**
2153
+ * getWinTopProperty
2154
+ * @desc 安全获取顶层窗口的属性,避免跨域访问错误
2155
+ * @param {string} propertyName - 要获取的属性名
2156
+ * @param {any} defaultValue - 默认值,当属性获取失败时返回
2157
+ * @return {any} 属性值或默认值
2158
+ **/
2159
+ var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
2160
+ // 1. 先尝试获取 window.top 的属性
2161
+ try {
2162
+ if (window.top && window.top[propertyName] !== undefined) {
2163
+ return window.top[propertyName];
2164
+ }
2165
+ } catch (topError) {}
2166
+ // window.top 跨域,继续尝试
2167
+
2168
+
2169
+ // 2. 尝试获取同源的最上层窗口的属性
2170
+ try {
2171
+ var sameOriginTop = getWinTop();
2172
+ if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
2173
+ return sameOriginTop[propertyName];
2174
+ }
2175
+ } catch (sameOriginError) {}
2176
+ // 同源最上层窗口获取失败,继续尝试
2177
+
2178
+
2179
+ // 3. 尝试获取当前窗口的属性
2180
+ try {
2181
+ if (window[propertyName] !== undefined) {
2182
+ return window[propertyName];
2183
+ }
2184
+ } catch (currentWinError) {}
2185
+ // 当前窗口获取失败,返回默认值
2186
+
2187
+
2188
+ // 4. 所有尝试都失败,返回默认值
2189
+ return defaultValue;
2190
+ };
2191
+
2148
2192
  /**
2149
2193
  * getZoom
2150
2194
  * @desc 获取缩放比
@@ -3890,6 +3934,7 @@ var winTopOpen = function winTopOpen(config) {
3890
3934
  getValues: getValues,
3891
3935
  getWeekday: getWeekday,
3892
3936
  getWinTop: getWinTop,
3937
+ getWinTopProperty: getWinTopProperty,
3893
3938
  handlerUrl: handlerUrl,
3894
3939
  hasChars: hasChars,
3895
3940
  hasClass: hasClass,
package/lib/switch.js CHANGED
@@ -2138,6 +2138,10 @@ var getWeekday = function getWeekday(date) {
2138
2138
  var getWinTop = function getWinTop(wind) {
2139
2139
  wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
2140
2140
  try {
2141
+ // 检查是否已经是顶层窗口,避免无限递归
2142
+ if (wind === wind.parent) {
2143
+ return wind;
2144
+ }
2141
2145
  wind.parent.document;
2142
2146
  return getWinTop(wind.parent);
2143
2147
  } catch (error) {
@@ -2145,6 +2149,46 @@ var getWinTop = function getWinTop(wind) {
2145
2149
  }
2146
2150
  };
2147
2151
 
2152
+ /**
2153
+ * getWinTopProperty
2154
+ * @desc 安全获取顶层窗口的属性,避免跨域访问错误
2155
+ * @param {string} propertyName - 要获取的属性名
2156
+ * @param {any} defaultValue - 默认值,当属性获取失败时返回
2157
+ * @return {any} 属性值或默认值
2158
+ **/
2159
+ var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
2160
+ // 1. 先尝试获取 window.top 的属性
2161
+ try {
2162
+ if (window.top && window.top[propertyName] !== undefined) {
2163
+ return window.top[propertyName];
2164
+ }
2165
+ } catch (topError) {}
2166
+ // window.top 跨域,继续尝试
2167
+
2168
+
2169
+ // 2. 尝试获取同源的最上层窗口的属性
2170
+ try {
2171
+ var sameOriginTop = getWinTop();
2172
+ if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
2173
+ return sameOriginTop[propertyName];
2174
+ }
2175
+ } catch (sameOriginError) {}
2176
+ // 同源最上层窗口获取失败,继续尝试
2177
+
2178
+
2179
+ // 3. 尝试获取当前窗口的属性
2180
+ try {
2181
+ if (window[propertyName] !== undefined) {
2182
+ return window[propertyName];
2183
+ }
2184
+ } catch (currentWinError) {}
2185
+ // 当前窗口获取失败,返回默认值
2186
+
2187
+
2188
+ // 4. 所有尝试都失败,返回默认值
2189
+ return defaultValue;
2190
+ };
2191
+
2148
2192
  /**
2149
2193
  * getZoom
2150
2194
  * @desc 获取缩放比
@@ -3890,6 +3934,7 @@ var winTopOpen = function winTopOpen(config) {
3890
3934
  getValues: getValues,
3891
3935
  getWeekday: getWeekday,
3892
3936
  getWinTop: getWinTop,
3937
+ getWinTopProperty: getWinTopProperty,
3893
3938
  handlerUrl: handlerUrl,
3894
3939
  hasChars: hasChars,
3895
3940
  hasClass: hasClass,
package/lib/table-form.js CHANGED
@@ -2138,6 +2138,10 @@ var getWeekday = function getWeekday(date) {
2138
2138
  var getWinTop = function getWinTop(wind) {
2139
2139
  wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
2140
2140
  try {
2141
+ // 检查是否已经是顶层窗口,避免无限递归
2142
+ if (wind === wind.parent) {
2143
+ return wind;
2144
+ }
2141
2145
  wind.parent.document;
2142
2146
  return getWinTop(wind.parent);
2143
2147
  } catch (error) {
@@ -2145,6 +2149,46 @@ var getWinTop = function getWinTop(wind) {
2145
2149
  }
2146
2150
  };
2147
2151
 
2152
+ /**
2153
+ * getWinTopProperty
2154
+ * @desc 安全获取顶层窗口的属性,避免跨域访问错误
2155
+ * @param {string} propertyName - 要获取的属性名
2156
+ * @param {any} defaultValue - 默认值,当属性获取失败时返回
2157
+ * @return {any} 属性值或默认值
2158
+ **/
2159
+ var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
2160
+ // 1. 先尝试获取 window.top 的属性
2161
+ try {
2162
+ if (window.top && window.top[propertyName] !== undefined) {
2163
+ return window.top[propertyName];
2164
+ }
2165
+ } catch (topError) {}
2166
+ // window.top 跨域,继续尝试
2167
+
2168
+
2169
+ // 2. 尝试获取同源的最上层窗口的属性
2170
+ try {
2171
+ var sameOriginTop = getWinTop();
2172
+ if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
2173
+ return sameOriginTop[propertyName];
2174
+ }
2175
+ } catch (sameOriginError) {}
2176
+ // 同源最上层窗口获取失败,继续尝试
2177
+
2178
+
2179
+ // 3. 尝试获取当前窗口的属性
2180
+ try {
2181
+ if (window[propertyName] !== undefined) {
2182
+ return window[propertyName];
2183
+ }
2184
+ } catch (currentWinError) {}
2185
+ // 当前窗口获取失败,返回默认值
2186
+
2187
+
2188
+ // 4. 所有尝试都失败,返回默认值
2189
+ return defaultValue;
2190
+ };
2191
+
2148
2192
  /**
2149
2193
  * getZoom
2150
2194
  * @desc 获取缩放比
@@ -3890,6 +3934,7 @@ var winTopOpen = function winTopOpen(config) {
3890
3934
  getValues: getValues,
3891
3935
  getWeekday: getWeekday,
3892
3936
  getWinTop: getWinTop,
3937
+ getWinTopProperty: getWinTopProperty,
3893
3938
  handlerUrl: handlerUrl,
3894
3939
  hasChars: hasChars,
3895
3940
  hasClass: hasClass,
package/lib/tabs.js CHANGED
@@ -2138,6 +2138,10 @@ var getWeekday = function getWeekday(date) {
2138
2138
  var getWinTop = function getWinTop(wind) {
2139
2139
  wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
2140
2140
  try {
2141
+ // 检查是否已经是顶层窗口,避免无限递归
2142
+ if (wind === wind.parent) {
2143
+ return wind;
2144
+ }
2141
2145
  wind.parent.document;
2142
2146
  return getWinTop(wind.parent);
2143
2147
  } catch (error) {
@@ -2145,6 +2149,46 @@ var getWinTop = function getWinTop(wind) {
2145
2149
  }
2146
2150
  };
2147
2151
 
2152
+ /**
2153
+ * getWinTopProperty
2154
+ * @desc 安全获取顶层窗口的属性,避免跨域访问错误
2155
+ * @param {string} propertyName - 要获取的属性名
2156
+ * @param {any} defaultValue - 默认值,当属性获取失败时返回
2157
+ * @return {any} 属性值或默认值
2158
+ **/
2159
+ var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
2160
+ // 1. 先尝试获取 window.top 的属性
2161
+ try {
2162
+ if (window.top && window.top[propertyName] !== undefined) {
2163
+ return window.top[propertyName];
2164
+ }
2165
+ } catch (topError) {}
2166
+ // window.top 跨域,继续尝试
2167
+
2168
+
2169
+ // 2. 尝试获取同源的最上层窗口的属性
2170
+ try {
2171
+ var sameOriginTop = getWinTop();
2172
+ if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
2173
+ return sameOriginTop[propertyName];
2174
+ }
2175
+ } catch (sameOriginError) {}
2176
+ // 同源最上层窗口获取失败,继续尝试
2177
+
2178
+
2179
+ // 3. 尝试获取当前窗口的属性
2180
+ try {
2181
+ if (window[propertyName] !== undefined) {
2182
+ return window[propertyName];
2183
+ }
2184
+ } catch (currentWinError) {}
2185
+ // 当前窗口获取失败,返回默认值
2186
+
2187
+
2188
+ // 4. 所有尝试都失败,返回默认值
2189
+ return defaultValue;
2190
+ };
2191
+
2148
2192
  /**
2149
2193
  * getZoom
2150
2194
  * @desc 获取缩放比
@@ -3890,6 +3934,7 @@ var winTopOpen = function winTopOpen(config) {
3890
3934
  getValues: getValues,
3891
3935
  getWeekday: getWeekday,
3892
3936
  getWinTop: getWinTop,
3937
+ getWinTopProperty: getWinTopProperty,
3893
3938
  handlerUrl: handlerUrl,
3894
3939
  hasChars: hasChars,
3895
3940
  hasClass: hasClass,
package/lib/tips.js CHANGED
@@ -2138,6 +2138,10 @@ var getWeekday = function getWeekday(date) {
2138
2138
  var getWinTop = function getWinTop(wind) {
2139
2139
  wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
2140
2140
  try {
2141
+ // 检查是否已经是顶层窗口,避免无限递归
2142
+ if (wind === wind.parent) {
2143
+ return wind;
2144
+ }
2141
2145
  wind.parent.document;
2142
2146
  return getWinTop(wind.parent);
2143
2147
  } catch (error) {
@@ -2145,6 +2149,46 @@ var getWinTop = function getWinTop(wind) {
2145
2149
  }
2146
2150
  };
2147
2151
 
2152
+ /**
2153
+ * getWinTopProperty
2154
+ * @desc 安全获取顶层窗口的属性,避免跨域访问错误
2155
+ * @param {string} propertyName - 要获取的属性名
2156
+ * @param {any} defaultValue - 默认值,当属性获取失败时返回
2157
+ * @return {any} 属性值或默认值
2158
+ **/
2159
+ var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
2160
+ // 1. 先尝试获取 window.top 的属性
2161
+ try {
2162
+ if (window.top && window.top[propertyName] !== undefined) {
2163
+ return window.top[propertyName];
2164
+ }
2165
+ } catch (topError) {}
2166
+ // window.top 跨域,继续尝试
2167
+
2168
+
2169
+ // 2. 尝试获取同源的最上层窗口的属性
2170
+ try {
2171
+ var sameOriginTop = getWinTop();
2172
+ if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
2173
+ return sameOriginTop[propertyName];
2174
+ }
2175
+ } catch (sameOriginError) {}
2176
+ // 同源最上层窗口获取失败,继续尝试
2177
+
2178
+
2179
+ // 3. 尝试获取当前窗口的属性
2180
+ try {
2181
+ if (window[propertyName] !== undefined) {
2182
+ return window[propertyName];
2183
+ }
2184
+ } catch (currentWinError) {}
2185
+ // 当前窗口获取失败,返回默认值
2186
+
2187
+
2188
+ // 4. 所有尝试都失败,返回默认值
2189
+ return defaultValue;
2190
+ };
2191
+
2148
2192
  /**
2149
2193
  * getZoom
2150
2194
  * @desc 获取缩放比
@@ -3890,6 +3934,7 @@ var winTopOpen = function winTopOpen(config) {
3890
3934
  getValues: getValues,
3891
3935
  getWeekday: getWeekday,
3892
3936
  getWinTop: getWinTop,
3937
+ getWinTopProperty: getWinTopProperty,
3893
3938
  handlerUrl: handlerUrl,
3894
3939
  hasChars: hasChars,
3895
3940
  hasClass: hasClass,
package/lib/tree-group.js CHANGED
@@ -2138,6 +2138,10 @@ var getWeekday = function getWeekday(date) {
2138
2138
  var getWinTop = function getWinTop(wind) {
2139
2139
  wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
2140
2140
  try {
2141
+ // 检查是否已经是顶层窗口,避免无限递归
2142
+ if (wind === wind.parent) {
2143
+ return wind;
2144
+ }
2141
2145
  wind.parent.document;
2142
2146
  return getWinTop(wind.parent);
2143
2147
  } catch (error) {
@@ -2145,6 +2149,46 @@ var getWinTop = function getWinTop(wind) {
2145
2149
  }
2146
2150
  };
2147
2151
 
2152
+ /**
2153
+ * getWinTopProperty
2154
+ * @desc 安全获取顶层窗口的属性,避免跨域访问错误
2155
+ * @param {string} propertyName - 要获取的属性名
2156
+ * @param {any} defaultValue - 默认值,当属性获取失败时返回
2157
+ * @return {any} 属性值或默认值
2158
+ **/
2159
+ var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
2160
+ // 1. 先尝试获取 window.top 的属性
2161
+ try {
2162
+ if (window.top && window.top[propertyName] !== undefined) {
2163
+ return window.top[propertyName];
2164
+ }
2165
+ } catch (topError) {}
2166
+ // window.top 跨域,继续尝试
2167
+
2168
+
2169
+ // 2. 尝试获取同源的最上层窗口的属性
2170
+ try {
2171
+ var sameOriginTop = getWinTop();
2172
+ if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
2173
+ return sameOriginTop[propertyName];
2174
+ }
2175
+ } catch (sameOriginError) {}
2176
+ // 同源最上层窗口获取失败,继续尝试
2177
+
2178
+
2179
+ // 3. 尝试获取当前窗口的属性
2180
+ try {
2181
+ if (window[propertyName] !== undefined) {
2182
+ return window[propertyName];
2183
+ }
2184
+ } catch (currentWinError) {}
2185
+ // 当前窗口获取失败,返回默认值
2186
+
2187
+
2188
+ // 4. 所有尝试都失败,返回默认值
2189
+ return defaultValue;
2190
+ };
2191
+
2148
2192
  /**
2149
2193
  * getZoom
2150
2194
  * @desc 获取缩放比
@@ -3890,6 +3934,7 @@ var winTopOpen = function winTopOpen(config) {
3890
3934
  getValues: getValues,
3891
3935
  getWeekday: getWeekday,
3892
3936
  getWinTop: getWinTop,
3937
+ getWinTopProperty: getWinTopProperty,
3893
3938
  handlerUrl: handlerUrl,
3894
3939
  hasChars: hasChars,
3895
3940
  hasClass: hasClass,
@@ -4581,7 +4626,7 @@ module.exports = require("json-bigint");
4581
4626
  // ESM COMPAT FLAG
4582
4627
  __webpack_require__.r(__webpack_exports__);
4583
4628
 
4584
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree-group/src/main.vue?vue&type=template&id=6cbe8105&
4629
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/tree-group/src/main.vue?vue&type=template&id=340aa9f8&
4585
4630
  var render = function () {
4586
4631
  var _vm = this
4587
4632
  var _h = _vm.$createElement
@@ -4949,7 +4994,7 @@ var staticRenderFns = []
4949
4994
  render._withStripped = true
4950
4995
 
4951
4996
 
4952
- // CONCATENATED MODULE: ./packages/tree-group/src/main.vue?vue&type=template&id=6cbe8105&
4997
+ // CONCATENATED MODULE: ./packages/tree-group/src/main.vue?vue&type=template&id=340aa9f8&
4953
4998
 
4954
4999
  // EXTERNAL MODULE: ./src/utils/util.js + 1 modules
4955
5000
  var util = __webpack_require__(0);
@@ -5143,7 +5188,7 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
5143
5188
  //
5144
5189
 
5145
5190
 
5146
- var systemMode = util["a" /* default */].getWinTop().systemMode || util["a" /* default */].win.systemMode || 'default';
5191
+ var systemMode = util["a" /* default */].getWinTopProperty('systemMode', 'default');
5147
5192
  /* harmony default export */ var mainvue_type_script_lang_js_ = ({
5148
5193
  name: 'EsTreeGroup',
5149
5194
  inheritAttrs: false,
package/lib/tree.js CHANGED
@@ -2138,6 +2138,10 @@ var getWeekday = function getWeekday(date) {
2138
2138
  var getWinTop = function getWinTop(wind) {
2139
2139
  wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
2140
2140
  try {
2141
+ // 检查是否已经是顶层窗口,避免无限递归
2142
+ if (wind === wind.parent) {
2143
+ return wind;
2144
+ }
2141
2145
  wind.parent.document;
2142
2146
  return getWinTop(wind.parent);
2143
2147
  } catch (error) {
@@ -2145,6 +2149,46 @@ var getWinTop = function getWinTop(wind) {
2145
2149
  }
2146
2150
  };
2147
2151
 
2152
+ /**
2153
+ * getWinTopProperty
2154
+ * @desc 安全获取顶层窗口的属性,避免跨域访问错误
2155
+ * @param {string} propertyName - 要获取的属性名
2156
+ * @param {any} defaultValue - 默认值,当属性获取失败时返回
2157
+ * @return {any} 属性值或默认值
2158
+ **/
2159
+ var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
2160
+ // 1. 先尝试获取 window.top 的属性
2161
+ try {
2162
+ if (window.top && window.top[propertyName] !== undefined) {
2163
+ return window.top[propertyName];
2164
+ }
2165
+ } catch (topError) {}
2166
+ // window.top 跨域,继续尝试
2167
+
2168
+
2169
+ // 2. 尝试获取同源的最上层窗口的属性
2170
+ try {
2171
+ var sameOriginTop = getWinTop();
2172
+ if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
2173
+ return sameOriginTop[propertyName];
2174
+ }
2175
+ } catch (sameOriginError) {}
2176
+ // 同源最上层窗口获取失败,继续尝试
2177
+
2178
+
2179
+ // 3. 尝试获取当前窗口的属性
2180
+ try {
2181
+ if (window[propertyName] !== undefined) {
2182
+ return window[propertyName];
2183
+ }
2184
+ } catch (currentWinError) {}
2185
+ // 当前窗口获取失败,返回默认值
2186
+
2187
+
2188
+ // 4. 所有尝试都失败,返回默认值
2189
+ return defaultValue;
2190
+ };
2191
+
2148
2192
  /**
2149
2193
  * getZoom
2150
2194
  * @desc 获取缩放比
@@ -3890,6 +3934,7 @@ var winTopOpen = function winTopOpen(config) {
3890
3934
  getValues: getValues,
3891
3935
  getWeekday: getWeekday,
3892
3936
  getWinTop: getWinTop,
3937
+ getWinTopProperty: getWinTopProperty,
3893
3938
  handlerUrl: handlerUrl,
3894
3939
  hasChars: hasChars,
3895
3940
  hasClass: hasClass,
package/lib/upload.js CHANGED
@@ -2137,6 +2137,10 @@ var getWeekday = function getWeekday(date) {
2137
2137
  var getWinTop = function getWinTop(wind) {
2138
2138
  wind = wind ? wind : window.__WUJIE_RAW_WINDOW__ ? window.__WUJIE_RAW_WINDOW__ : window;
2139
2139
  try {
2140
+ // 检查是否已经是顶层窗口,避免无限递归
2141
+ if (wind === wind.parent) {
2142
+ return wind;
2143
+ }
2140
2144
  wind.parent.document;
2141
2145
  return getWinTop(wind.parent);
2142
2146
  } catch (error) {
@@ -2144,6 +2148,46 @@ var getWinTop = function getWinTop(wind) {
2144
2148
  }
2145
2149
  };
2146
2150
 
2151
+ /**
2152
+ * getWinTopProperty
2153
+ * @desc 安全获取顶层窗口的属性,避免跨域访问错误
2154
+ * @param {string} propertyName - 要获取的属性名
2155
+ * @param {any} defaultValue - 默认值,当属性获取失败时返回
2156
+ * @return {any} 属性值或默认值
2157
+ **/
2158
+ var getWinTopProperty = function getWinTopProperty(propertyName, defaultValue) {
2159
+ // 1. 先尝试获取 window.top 的属性
2160
+ try {
2161
+ if (window.top && window.top[propertyName] !== undefined) {
2162
+ return window.top[propertyName];
2163
+ }
2164
+ } catch (topError) {}
2165
+ // window.top 跨域,继续尝试
2166
+
2167
+
2168
+ // 2. 尝试获取同源的最上层窗口的属性
2169
+ try {
2170
+ var sameOriginTop = getWinTop();
2171
+ if (sameOriginTop && sameOriginTop[propertyName] !== undefined) {
2172
+ return sameOriginTop[propertyName];
2173
+ }
2174
+ } catch (sameOriginError) {}
2175
+ // 同源最上层窗口获取失败,继续尝试
2176
+
2177
+
2178
+ // 3. 尝试获取当前窗口的属性
2179
+ try {
2180
+ if (window[propertyName] !== undefined) {
2181
+ return window[propertyName];
2182
+ }
2183
+ } catch (currentWinError) {}
2184
+ // 当前窗口获取失败,返回默认值
2185
+
2186
+
2187
+ // 4. 所有尝试都失败,返回默认值
2188
+ return defaultValue;
2189
+ };
2190
+
2147
2191
  /**
2148
2192
  * getZoom
2149
2193
  * @desc 获取缩放比
@@ -3889,6 +3933,7 @@ var winTopOpen = function winTopOpen(config) {
3889
3933
  getValues: getValues,
3890
3934
  getWeekday: getWeekday,
3891
3935
  getWinTop: getWinTop,
3936
+ getWinTopProperty: getWinTopProperty,
3892
3937
  handlerUrl: handlerUrl,
3893
3938
  hasChars: hasChars,
3894
3939
  hasClass: hasClass,