@weitutech/by-components 1.1.101 → 1.1.102

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.
@@ -79022,8 +79022,8 @@ var ByCascaderPanel_component = normalizeComponent(
79022
79022
  )
79023
79023
 
79024
79024
  /* harmony default export */ var ByCascaderPanel = (ByCascaderPanel_component.exports);
79025
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=template&id=4d9e17ff
79026
- var ByFloatingMenuvue_type_template_id_4d9e17ff_render = function render() {
79025
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=template&id=08613879
79026
+ var ByFloatingMenuvue_type_template_id_08613879_render = function render() {
79027
79027
  var _vm = this,
79028
79028
  _c = _vm._self._c;
79029
79029
  return _c('div', {
@@ -79148,7 +79148,7 @@ var ByFloatingMenuvue_type_template_id_4d9e17ff_render = function render() {
79148
79148
  }, [_vm._v(_vm._s(item.text))])]);
79149
79149
  }), 0)])], 1);
79150
79150
  };
79151
- var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
79151
+ var ByFloatingMenuvue_type_template_id_08613879_staticRenderFns = [];
79152
79152
 
79153
79153
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=script&lang=js
79154
79154
  /* harmony default export */ var ByFloatingMenuvue_type_script_lang_js = ({
@@ -79222,9 +79222,11 @@ var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
79222
79222
  mounted() {
79223
79223
  this.initPosition();
79224
79224
  this.bindEvents();
79225
+ this.bindPageEvents();
79225
79226
  },
79226
79227
  beforeDestroy() {
79227
79228
  this.unbindEvents();
79229
+ this.unbindPageEvents();
79228
79230
  this.removeShowButton();
79229
79231
  // 清理菜单项拖动事件监听器
79230
79232
  document.removeEventListener('mousemove', this.onMenuItemDrag);
@@ -79271,8 +79273,10 @@ var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
79271
79273
  transition: 'right 0.3s ease',
79272
79274
  opacity: '0'
79273
79275
  };
79274
- // 创建显示按钮,使用当前纵向位置
79275
- this.createShowButton();
79276
+ // 只有在页面可见时才创建显示按钮
79277
+ if (!document.hidden) {
79278
+ this.createShowButton();
79279
+ }
79276
79280
  } else {
79277
79281
  // 显示主菜单,保持当前位置
79278
79282
  this.menuStyle = {
@@ -79415,11 +79419,50 @@ var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
79415
79419
  document.removeEventListener('mousemove', this.onDrag);
79416
79420
  document.removeEventListener('mouseup', this.endDrag);
79417
79421
  },
79422
+ // 绑定页面相关事件
79423
+ bindPageEvents() {
79424
+ // 监听页面可见性变化(切换 tab)
79425
+ document.addEventListener('visibilitychange', this.onVisibilityChange);
79426
+
79427
+ // 监听页面卸载事件
79428
+ window.addEventListener('beforeunload', this.onPageUnload);
79429
+
79430
+ // 监听路由变化(如果使用了 Vue Router)
79431
+ if (this.$router) {
79432
+ this.$router.beforeEach((to, from, next) => {
79433
+ // 在路由切换前移除显示按钮
79434
+ this.removeShowButton();
79435
+ next();
79436
+ });
79437
+ }
79438
+ },
79439
+ // 解绑页面相关事件
79440
+ unbindPageEvents() {
79441
+ document.removeEventListener('visibilitychange', this.onVisibilityChange);
79442
+ window.removeEventListener('beforeunload', this.onPageUnload);
79443
+ },
79444
+ // 页面可见性变化处理
79445
+ onVisibilityChange() {
79446
+ if (document.hidden) {
79447
+ // 页面变为隐藏状态(切换 tab 或最小化),移除显示按钮
79448
+ this.removeShowButton();
79449
+ }
79450
+ },
79451
+ // 页面卸载处理
79452
+ onPageUnload() {
79453
+ // 页面卸载前移除显示按钮
79454
+ this.removeShowButton();
79455
+ },
79418
79456
  // 创建显示按钮
79419
79457
  createShowButton() {
79420
79458
  // 先移除可能存在的显示按钮
79421
79459
  this.removeShowButton();
79422
79460
 
79461
+ // 如果页面不可见,不创建显示按钮
79462
+ if (document.hidden) {
79463
+ return;
79464
+ }
79465
+
79423
79466
  // 计算当前主按钮的纵向位置
79424
79467
  let topPosition = '50%';
79425
79468
  if (this.menuStyle.top) {
@@ -79511,8 +79554,8 @@ var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
79511
79554
  ;
79512
79555
  var ByFloatingMenu_component = normalizeComponent(
79513
79556
  floating_menu_ByFloatingMenuvue_type_script_lang_js,
79514
- ByFloatingMenuvue_type_template_id_4d9e17ff_render,
79515
- ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns,
79557
+ ByFloatingMenuvue_type_template_id_08613879_render,
79558
+ ByFloatingMenuvue_type_template_id_08613879_staticRenderFns,
79516
79559
  false,
79517
79560
  null,
79518
79561
  null,
@@ -79032,8 +79032,8 @@ var ByCascaderPanel_component = normalizeComponent(
79032
79032
  )
79033
79033
 
79034
79034
  /* harmony default export */ var ByCascaderPanel = (ByCascaderPanel_component.exports);
79035
- ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=template&id=4d9e17ff
79036
- var ByFloatingMenuvue_type_template_id_4d9e17ff_render = function render() {
79035
+ ;// ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"ffbc40de-vue-loader-template"}!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=template&id=08613879
79036
+ var ByFloatingMenuvue_type_template_id_08613879_render = function render() {
79037
79037
  var _vm = this,
79038
79038
  _c = _vm._self._c;
79039
79039
  return _c('div', {
@@ -79158,7 +79158,7 @@ var ByFloatingMenuvue_type_template_id_4d9e17ff_render = function render() {
79158
79158
  }, [_vm._v(_vm._s(item.text))])]);
79159
79159
  }), 0)])], 1);
79160
79160
  };
79161
- var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
79161
+ var ByFloatingMenuvue_type_template_id_08613879_staticRenderFns = [];
79162
79162
 
79163
79163
  ;// ./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib/index.js??clonedRuleSet-82.use[1]!./node_modules/cache-loader/dist/cjs.js??ruleSet[0].use[0]!./node_modules/@vue/cli-service/node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/floating-menu/ByFloatingMenu.vue?vue&type=script&lang=js
79164
79164
  /* harmony default export */ var ByFloatingMenuvue_type_script_lang_js = ({
@@ -79232,9 +79232,11 @@ var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
79232
79232
  mounted() {
79233
79233
  this.initPosition();
79234
79234
  this.bindEvents();
79235
+ this.bindPageEvents();
79235
79236
  },
79236
79237
  beforeDestroy() {
79237
79238
  this.unbindEvents();
79239
+ this.unbindPageEvents();
79238
79240
  this.removeShowButton();
79239
79241
  // 清理菜单项拖动事件监听器
79240
79242
  document.removeEventListener('mousemove', this.onMenuItemDrag);
@@ -79281,8 +79283,10 @@ var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
79281
79283
  transition: 'right 0.3s ease',
79282
79284
  opacity: '0'
79283
79285
  };
79284
- // 创建显示按钮,使用当前纵向位置
79285
- this.createShowButton();
79286
+ // 只有在页面可见时才创建显示按钮
79287
+ if (!document.hidden) {
79288
+ this.createShowButton();
79289
+ }
79286
79290
  } else {
79287
79291
  // 显示主菜单,保持当前位置
79288
79292
  this.menuStyle = {
@@ -79425,11 +79429,50 @@ var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
79425
79429
  document.removeEventListener('mousemove', this.onDrag);
79426
79430
  document.removeEventListener('mouseup', this.endDrag);
79427
79431
  },
79432
+ // 绑定页面相关事件
79433
+ bindPageEvents() {
79434
+ // 监听页面可见性变化(切换 tab)
79435
+ document.addEventListener('visibilitychange', this.onVisibilityChange);
79436
+
79437
+ // 监听页面卸载事件
79438
+ window.addEventListener('beforeunload', this.onPageUnload);
79439
+
79440
+ // 监听路由变化(如果使用了 Vue Router)
79441
+ if (this.$router) {
79442
+ this.$router.beforeEach((to, from, next) => {
79443
+ // 在路由切换前移除显示按钮
79444
+ this.removeShowButton();
79445
+ next();
79446
+ });
79447
+ }
79448
+ },
79449
+ // 解绑页面相关事件
79450
+ unbindPageEvents() {
79451
+ document.removeEventListener('visibilitychange', this.onVisibilityChange);
79452
+ window.removeEventListener('beforeunload', this.onPageUnload);
79453
+ },
79454
+ // 页面可见性变化处理
79455
+ onVisibilityChange() {
79456
+ if (document.hidden) {
79457
+ // 页面变为隐藏状态(切换 tab 或最小化),移除显示按钮
79458
+ this.removeShowButton();
79459
+ }
79460
+ },
79461
+ // 页面卸载处理
79462
+ onPageUnload() {
79463
+ // 页面卸载前移除显示按钮
79464
+ this.removeShowButton();
79465
+ },
79428
79466
  // 创建显示按钮
79429
79467
  createShowButton() {
79430
79468
  // 先移除可能存在的显示按钮
79431
79469
  this.removeShowButton();
79432
79470
 
79471
+ // 如果页面不可见,不创建显示按钮
79472
+ if (document.hidden) {
79473
+ return;
79474
+ }
79475
+
79433
79476
  // 计算当前主按钮的纵向位置
79434
79477
  let topPosition = '50%';
79435
79478
  if (this.menuStyle.top) {
@@ -79521,8 +79564,8 @@ var ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns = [];
79521
79564
  ;
79522
79565
  var ByFloatingMenu_component = normalizeComponent(
79523
79566
  floating_menu_ByFloatingMenuvue_type_script_lang_js,
79524
- ByFloatingMenuvue_type_template_id_4d9e17ff_render,
79525
- ByFloatingMenuvue_type_template_id_4d9e17ff_staticRenderFns,
79567
+ ByFloatingMenuvue_type_template_id_08613879_render,
79568
+ ByFloatingMenuvue_type_template_id_08613879_staticRenderFns,
79526
79569
  false,
79527
79570
  null,
79528
79571
  null,