From 0809fce7c43a94c40f0b355e359221477facc51b Mon Sep 17 00:00:00 2001 From: chensiAb <chenchenco03@163.com> Date: Thu, 16 May 2024 11:01:32 +0800 Subject: [PATCH] fix:'格式化大写PX变小写' --- bases/BridgeCenterBase.js | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 51 insertions(+), 8 deletions(-) diff --git a/bases/BridgeCenterBase.js b/bases/BridgeCenterBase.js index 118676f..746a4e8 100644 --- a/bases/BridgeCenterBase.js +++ b/bases/BridgeCenterBase.js @@ -26,15 +26,28 @@ }); } + /** + * 获取当前页面 + * @return {Taro.Page} + */ $getCurrentPage() { const pages = Taro.getCurrentPages(); return pages[pages.length - 1]; } + /** + * 获取当前页面路径 + * @return {String} + */ $getCurrentPagePath() { return this.$getCurrentPage().path.split('?')[0]; } + /** + * 判断地址是否为当前页面 + * @param {String} url + * @return {Taro.Page|null} + */ $isCurrentPage(url) { const pages = Taro.getCurrentPages(); const curPage = pages[pages.length - 1]; @@ -45,32 +58,62 @@ } } - _checkPage(url, callback) { + /** + * 判断当前页面是否在列表中 + * @param {Array} allows=[] + * @return {boolean} + */ + $isCurPageInside(allows = []) { + const url = this.$getCurrentPagePath(); + return allows.indexOf(url) >= 0; + } + + _waitCurPage(url, callback) { let curPage = this.$isCurrentPage(url); if (curPage) { callback(curPage); } else { setTimeout(() => { - this._checkPage(url, callback); + this._waitCurPage(url, callback); }, 100); } } + /** + * 打开指定页面 + * @param {String} url + * @param {Function} callback + */ $openPage(url, callback) { const curPage = this.$isCurrentPage(url); // 需打开的是当前页面 if (curPage) { callback(curPage); } else { - Taro.navigateTo({ - url, - success: () => { - this._checkPage(url, callback); - }, - }); + Taro.navigateTo({ url }); + setTimeout(() => { + this._waitCurPage(url, callback); + }, 100); } } + /** + * 当前页下发通讯 + * @param {String} method + * @param {Object} res + * @param {Function} [callback] + */ + $curPageBridge(method, res, callback) { + this.$pageBridge(this.$getCurrentPage(), method, res, callback); + } + + /** + * 对某个页面下发通知 + * @param {Taro.Page} page + * @param {String} method + * @param {Object} res + * @param {Function} [callback] + */ $pageBridge(page, method, res, callback) { if (!page.$component || !page.$component.$onBridge) { return; -- Gitblit v1.9.1