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
package/lib/page.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/pagination.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,
@@ -4574,7 +4619,7 @@ module.exports = require("axios");
4574
4619
  // ESM COMPAT FLAG
4575
4620
  __webpack_require__.r(__webpack_exports__);
4576
4621
 
4577
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/pagination/src/main.vue?vue&type=template&id=bd31c1ba&
4622
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/pagination/src/main.vue?vue&type=template&id=08cc1cfe&
4578
4623
  var render = function () {
4579
4624
  var _vm = this
4580
4625
  var _h = _vm.$createElement
@@ -4614,7 +4659,7 @@ var staticRenderFns = []
4614
4659
  render._withStripped = true
4615
4660
 
4616
4661
 
4617
- // CONCATENATED MODULE: ./packages/pagination/src/main.vue?vue&type=template&id=bd31c1ba&
4662
+ // CONCATENATED MODULE: ./packages/pagination/src/main.vue?vue&type=template&id=08cc1cfe&
4618
4663
 
4619
4664
  // EXTERNAL MODULE: ./src/utils/util.js + 1 modules
4620
4665
  var util = __webpack_require__(0);
@@ -4642,7 +4687,7 @@ var util = __webpack_require__(0);
4642
4687
  //
4643
4688
 
4644
4689
 
4645
- var paginationLayout = util["a" /* default */].getWinTop().tableLayout || util["a" /* default */].win.tableLayout || 'prev, pager, next, sizes, total';
4690
+ var paginationLayout = util["a" /* default */].getWinTopProperty('tableLayout', 'prev, pager, next, sizes, total');
4646
4691
  /* harmony default export */ var mainvue_type_script_lang_js_ = ({
4647
4692
  name: 'EsPagination',
4648
4693
  inheritAttrs: false,
package/lib/player.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/qr-code.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,
@@ -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,
@@ -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,
@@ -4574,7 +4619,7 @@ module.exports = require("axios");
4574
4619
  // ESM COMPAT FLAG
4575
4620
  __webpack_require__.r(__webpack_exports__);
4576
4621
 
4577
- // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/retrial-auth/src/main.vue?vue&type=template&id=61086a74&
4622
+ // CONCATENATED MODULE: ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./packages/retrial-auth/src/main.vue?vue&type=template&id=5c480ddc&
4578
4623
  var render = function () {
4579
4624
  var _vm = this
4580
4625
  var _h = _vm.$createElement
@@ -4728,7 +4773,7 @@ var staticRenderFns = []
4728
4773
  render._withStripped = true
4729
4774
 
4730
4775
 
4731
- // CONCATENATED MODULE: ./packages/retrial-auth/src/main.vue?vue&type=template&id=61086a74&
4776
+ // CONCATENATED MODULE: ./packages/retrial-auth/src/main.vue?vue&type=template&id=5c480ddc&
4732
4777
 
4733
4778
  // EXTERNAL MODULE: ./src/utils/util.js + 1 modules
4734
4779
  var util = __webpack_require__(0);
@@ -4911,10 +4956,18 @@ var api = __webpack_require__(1);
4911
4956
  type: 'success'
4912
4957
  });
4913
4958
  _this3.msgBox.handleClose();
4959
+ var topWin = util["a" /* default */].getWinTop();
4914
4960
  try {
4915
- _this3.reload && util["a" /* default */].getWinTop().location.reload();
4961
+ if (_this3.reload) {
4962
+ topWin.location.reload();
4963
+ }
4916
4964
  } catch (error) {
4917
- _this3.reload && util["a" /* default */].getWinTop().postMessage({ type: 3 }, '*');
4965
+ console.warn('Failed to reload page:', error);
4966
+ try {
4967
+ _this3.reload && topWin.postMessage({ type: 3 }, '*');
4968
+ } catch (postMessageError) {
4969
+ console.warn('Failed to send postMessage:', postMessageError);
4970
+ }
4918
4971
  }
4919
4972
  } else {
4920
4973
  _this3.$message({
@@ -4991,10 +5044,18 @@ var api = __webpack_require__(1);
4991
5044
  type: 'success'
4992
5045
  });
4993
5046
  _this5.msgBox.handleClose();
5047
+ var topWin = util["a" /* default */].getWinTop();
4994
5048
  try {
4995
- _this5.reload && util["a" /* default */].getWinTop().location.reload();
5049
+ if (_this5.reload) {
5050
+ topWin.location.reload();
5051
+ }
4996
5052
  } catch (error) {
4997
- _this5.reload && util["a" /* default */].getWinTop().postMessage({ type: 3 }, '*');
5053
+ console.warn('Failed to reload page:', error);
5054
+ try {
5055
+ _this5.reload && topWin.postMessage({ type: 3 }, '*');
5056
+ } catch (postMessageError) {
5057
+ console.warn('Failed to send postMessage:', postMessageError);
5058
+ }
4998
5059
  }
4999
5060
  } else {
5000
5061
  _this5.scanCode = setTimeout(function () {
@@ -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/select.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,
@@ -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,