my-uniapp-tools 1.0.10 → 1.0.12
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.
- package/OPTIMIZATION_REPORT.md +278 -278
- package/README.md +477 -477
- package/dist/my-uniapp-tools.cjs.js +76 -39
- package/dist/my-uniapp-tools.cjs.js.map +1 -1
- package/dist/my-uniapp-tools.esm.js +76 -40
- package/dist/my-uniapp-tools.esm.js.map +1 -1
- package/dist/navigation/index.d.ts +14 -0
- package/package.json +73 -65
|
@@ -767,6 +767,42 @@ const navigationManager = NavigationManager.getInstance();
|
|
|
767
767
|
const useBack = async (params = '', options = {}) => {
|
|
768
768
|
return await navigationManager.navigateBack(params, options);
|
|
769
769
|
};
|
|
770
|
+
/**
|
|
771
|
+
* 返回上一页,若没有上一页则重定向到首页
|
|
772
|
+
* @param params 返回上一页时传入的参数
|
|
773
|
+
* @param options 导航选项
|
|
774
|
+
* @returns Promise<boolean> 是否成功
|
|
775
|
+
*/
|
|
776
|
+
const useBackOrHome = async (params = '', options = {}) => {
|
|
777
|
+
const monitor = PerformanceMonitor.getInstance();
|
|
778
|
+
monitor.start('useBackOrHome', 'navigation');
|
|
779
|
+
try {
|
|
780
|
+
// 检查页面栈深度
|
|
781
|
+
const pages = getCurrentPages();
|
|
782
|
+
const delta = options.delta || 1;
|
|
783
|
+
// 如果页面栈深度足够,执行返回操作
|
|
784
|
+
if (pages.length > delta) {
|
|
785
|
+
const success = await navigationManager.navigateBack(params, options);
|
|
786
|
+
monitor.end('useBackOrHome');
|
|
787
|
+
return success;
|
|
788
|
+
}
|
|
789
|
+
// 页面栈深度不足,重定向到首页
|
|
790
|
+
const homePage = options.homePage || 'pages/index/index';
|
|
791
|
+
const homeUrl = homePage.startsWith('/') ? homePage : `/${homePage}`;
|
|
792
|
+
console.info(`页面栈深度不足,重定向到首页: ${homeUrl}`);
|
|
793
|
+
const success = await navigationManager.reLaunch({
|
|
794
|
+
url: homeUrl,
|
|
795
|
+
params: options.homeParams
|
|
796
|
+
});
|
|
797
|
+
monitor.end('useBackOrHome');
|
|
798
|
+
return success;
|
|
799
|
+
}
|
|
800
|
+
catch (error) {
|
|
801
|
+
console.error('useBackOrHome 执行失败:', error);
|
|
802
|
+
monitor.end('useBackOrHome');
|
|
803
|
+
return false;
|
|
804
|
+
}
|
|
805
|
+
};
|
|
770
806
|
/**
|
|
771
807
|
* 防抖版本的返回上一页
|
|
772
808
|
*/
|
|
@@ -1653,45 +1689,45 @@ function batchGetStorage(keys) {
|
|
|
1653
1689
|
return result;
|
|
1654
1690
|
}
|
|
1655
1691
|
|
|
1656
|
-
// 核心功能
|
|
1657
|
-
|
|
1658
|
-
// 版本信息
|
|
1659
|
-
const VERSION = '1.0.8';
|
|
1660
|
-
|
|
1661
|
-
// 初始化函数
|
|
1662
|
-
async function initUniAppTools(config = {}) {
|
|
1663
|
-
const {
|
|
1664
|
-
enablePerformanceMonitor = false,
|
|
1665
|
-
enableErrorHandler = true,
|
|
1666
|
-
logLevel = 'warn'
|
|
1667
|
-
} = config;
|
|
1668
|
-
|
|
1669
|
-
if (enableErrorHandler) {
|
|
1670
|
-
const { ErrorHandler } = await Promise.resolve().then(function () { return errorHandler; });
|
|
1671
|
-
const errorHandler$1 = ErrorHandler.getInstance();
|
|
1672
|
-
|
|
1673
|
-
// 设置全局错误监听
|
|
1674
|
-
if (enablePerformanceMonitor) {
|
|
1675
|
-
errorHandler$1.onError((error) => {
|
|
1676
|
-
console.log(`[UniAppTools] ${error.module} - ${error.code}: ${error.message}`);
|
|
1677
|
-
});
|
|
1678
|
-
}
|
|
1679
|
-
}
|
|
1680
|
-
|
|
1681
|
-
if (enablePerformanceMonitor) {
|
|
1682
|
-
const { PerformanceMonitor } = await Promise.resolve().then(function () { return performance$1; });
|
|
1683
|
-
const monitor = PerformanceMonitor.getInstance();
|
|
1684
|
-
|
|
1685
|
-
// 定期输出性能报告
|
|
1686
|
-
setInterval(() => {
|
|
1687
|
-
const report = monitor.getReport();
|
|
1688
|
-
if (report.slowest.length > 0) {
|
|
1689
|
-
console.log('[UniAppTools] 性能报告:', report);
|
|
1690
|
-
}
|
|
1691
|
-
}, 60000); // 每分钟输出一次
|
|
1692
|
-
}
|
|
1693
|
-
|
|
1694
|
-
console.log(`[UniAppTools] v${VERSION} 初始化完成`);
|
|
1692
|
+
// 核心功能
|
|
1693
|
+
|
|
1694
|
+
// 版本信息
|
|
1695
|
+
const VERSION = '1.0.8';
|
|
1696
|
+
|
|
1697
|
+
// 初始化函数
|
|
1698
|
+
async function initUniAppTools(config = {}) {
|
|
1699
|
+
const {
|
|
1700
|
+
enablePerformanceMonitor = false,
|
|
1701
|
+
enableErrorHandler = true,
|
|
1702
|
+
logLevel = 'warn'
|
|
1703
|
+
} = config;
|
|
1704
|
+
|
|
1705
|
+
if (enableErrorHandler) {
|
|
1706
|
+
const { ErrorHandler } = await Promise.resolve().then(function () { return errorHandler; });
|
|
1707
|
+
const errorHandler$1 = ErrorHandler.getInstance();
|
|
1708
|
+
|
|
1709
|
+
// 设置全局错误监听
|
|
1710
|
+
if (enablePerformanceMonitor) {
|
|
1711
|
+
errorHandler$1.onError((error) => {
|
|
1712
|
+
console.log(`[UniAppTools] ${error.module} - ${error.code}: ${error.message}`);
|
|
1713
|
+
});
|
|
1714
|
+
}
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
if (enablePerformanceMonitor) {
|
|
1718
|
+
const { PerformanceMonitor } = await Promise.resolve().then(function () { return performance$1; });
|
|
1719
|
+
const monitor = PerformanceMonitor.getInstance();
|
|
1720
|
+
|
|
1721
|
+
// 定期输出性能报告
|
|
1722
|
+
setInterval(() => {
|
|
1723
|
+
const report = monitor.getReport();
|
|
1724
|
+
if (report.slowest.length > 0) {
|
|
1725
|
+
console.log('[UniAppTools] 性能报告:', report);
|
|
1726
|
+
}
|
|
1727
|
+
}, 60000); // 每分钟输出一次
|
|
1728
|
+
}
|
|
1729
|
+
|
|
1730
|
+
console.log(`[UniAppTools] v${VERSION} 初始化完成`);
|
|
1695
1731
|
}
|
|
1696
1732
|
|
|
1697
1733
|
exports.ErrorHandler = ErrorHandler;
|
|
@@ -1737,6 +1773,7 @@ exports.switchTab = switchTab;
|
|
|
1737
1773
|
exports.throttle = throttle;
|
|
1738
1774
|
exports.useBack = useBack;
|
|
1739
1775
|
exports.useBackDebounced = useBackDebounced;
|
|
1776
|
+
exports.useBackOrHome = useBackOrHome;
|
|
1740
1777
|
exports.useDeepCopyByObj = useDeepCopyByObj;
|
|
1741
1778
|
exports.useToast = useToast;
|
|
1742
1779
|
exports.useWindowInfo = useWindowInfo;
|