From e4bc100e00845f62b6c83dd28fc216ff78c62031 Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Thu, 16 Jan 2025 10:04:46 +0800
Subject: [PATCH] 下拉选择,移除URL调整的代码

---
 /dev/null                |   82 -----------------------------------------
 forms/select/CSelect.vue |   37 ++++--------------
 2 files changed, 9 insertions(+), 110 deletions(-)

diff --git a/common/PagePoster.js b/common/PagePoster.js
deleted file mode 100644
index ec7267c..0000000
--- a/common/PagePoster.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/**
- * 页面间通讯
- * @author Tevin
- */
-
-import Taro from '@tarojs/taro';
-import { Tools } from '@components/common/Tools';
-
-export class PagePoster {
-
-    constructor() {
-        this._data = {
-            eventors: {},
-            events: {},
-        };
-    }
-
-    save(data) {
-        const guid = Tools.createGUID();
-        Taro.setStorageSync(guid, JSON.stringify(data));
-        return guid;
-    }
-
-    read(id) {
-        const data = Taro.getStorageSync(id);
-        Taro.removeStorage({ key: id });
-        return JSON.parse(data);
-    }
-
-    createEventor() {
-        const that = this;
-        const guid = Tools.createGUID();
-        this._data.eventors[guid] = {
-            id: guid,
-            events: new Taro.Events(),
-            on(name, callback) {
-                if (!this.events) {
-                    return;
-                }
-                this.events.on(name, callback);
-            },
-            emit(name, data) {
-                if (!this.events) {
-                    return;
-                }
-                this.events.trigger(name, data);
-            },
-            destroy() {
-                if (!this.events) {
-                    return;
-                }
-                // 移除所有监听
-                this.events.off();
-                this.events = null;
-                // 解除 link 的绑定
-                if (this.linkCB) {
-                    this.linkCB(null);
-                }
-                // 解除引用
-                delete that._data.eventors[this.id];
-            },
-            linkCB: null,
-        };
-        return this._data.eventors[guid];
-    }
-
-    linkEventor(guid, linkCB) {
-        if (typeof this._data.eventors[guid] === 'undefined') {
-            linkCB(null);
-        } else {
-            const eventor = this._data.eventors[guid];
-            eventor.linkCB = linkCB;
-            linkCB(eventor);
-            setTimeout(() => {
-                eventor.emit('@linked');
-            }, 0);
-        }
-    }
-
-}
-
-export const $pagePoster = new PagePoster();
\ No newline at end of file
diff --git a/forms/select/CSelect.vue b/forms/select/CSelect.vue
index 9c7a349..5183bb9 100644
--- a/forms/select/CSelect.vue
+++ b/forms/select/CSelect.vue
@@ -67,7 +67,6 @@
 <script>
 import Taro from '@tarojs/taro';
 import { AtInput } from 'taro-ui-vue';
-import { $pagePoster } from '@components/common/PagePoster';
 import './cSelect.scss';
 
 export default {
@@ -87,11 +86,8 @@
             type: Boolean,
             default: false,
         },
-        // 开启选择菜单跳转选择页面模式,并指定功能页面,url or 'on'
-        //   url 模式已经废弃,即将删除代码,请勿再使用
+        // 开启选择菜单跳转选择页面模式,值为 'on'
         selectByPage: String,
-        // 页面跳转URL模式下,选择完成后的回调
-        onSelectFromPage: Function,
         // 页面跳转on模式下,发起选择的回调
         onOpenSelectorPage: Function,
     },
@@ -140,30 +136,15 @@
                 this.onOpenSelectorPage && this.onOpenSelectorPage();
                 return;
             }
-            // 页面跳转URL模式,已废弃,即将删除代码
-            console.warn('CSelect:警告,url跳转已废弃,即将删除代码,请勿使用!');
-            let url = this.selectByPage;
-            if (this.selectByPage.indexOf('?') > 0) {
-                url += '&mode=CSelect';
-            } else {
-                url += '?mode=CSelect';
-            }
-            if (this._eventor) {
-                // 销毁上次事件收发器
-                this._eventor.destroy();
-            }
-            this._eventor = $pagePoster.createEventor();
-            this._eventor.on('@linked', () => {
-                this._eventor.emit('lastValue', this.choose.value);
-            });
-            this._eventor.on('selected', data => {
-                this.choose.name = data.name;
-                this.choose.value = data.value;
-                this.itemRes.onChange(data.value);
-                this.onSelectFromPage && this.onSelectFromPage(data.value);
-            });
-            Taro.navigateTo({ url: url + '&eventorId=' + this._eventor.id });
+            // 页面跳转URL模式已废弃
+            console.warn('CSelect:警告,url跳转已废弃,无法再使用!');
         },
     },
+    mounted() {
+        if (this.selectByPage && this.selectByPage !== 'on') {
+            // 页面跳转URL模式已废弃
+            console.warn('CSelect:警告,url跳转已废弃,无法再使用!');
+        }
+    },
 };
 </script>
\ No newline at end of file

--
Gitblit v1.9.1