news 2026/9/12 21:34:45

unix-router v0.3.0 发布:params 持久化+插件体系升级

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
unix-router v0.3.0 发布:params 持久化+插件体系升级

发布日期:2026-09-11

unix-router v0.3.0 发布!本次升级完成插件体系(PluginContext)完善,新增params 持久化(跨刷新/重进保留),并修复两项与内部 key 相关的健壮性问题。

核心更新

新增:paramsPersistent— params 持久化

配合ParamsPlugin,新增RouterOptions.paramsPersistent配置(默认false)。开启后,页面参数默认写入storage跨刷新 / 重新进入仍能取回,不再局限于内存(刷新即失效)。

import{createRouter,ParamsPlugin}from'@meng-xi/unix-router'// 开启 params 默认持久化constrouter=createRouter({routes,plugins:[ParamsPlugin],paramsPersistent:true})// params 经 __params__ 内部通道传递,刷新/返回后仍可读取awaitrouter.push({name:'detail',params:newMap([['id','1024']])})

新增:插件体系(PluginContext)完善

PluginContext现提供完整导航 hook,支持编写自定义插件:

  • 七大导航 hook:onEnrichLocation/onAfterResolve/onPrepareNavigation/onCompleteNavigation/onNavigationAbort/onRouteSync/onAppInstall
  • 上下文成员router/paramsManager/hasPlugin
constAnalyticsPlugin:RouterPlugin={name:'analytics',install(context:PluginContext){context.onAfterResolve((location,pluginData)=>{pluginData.set('ts',Date.now())})context.onCompleteNavigation(ctx=>{report(ctx.to.path,ctx.pluginData.get('ts'))})}}

补齐:guardRoute/onRouteChange

  • Router.guardRoute():冷启动(直接 URL 进入)时补跑守卫链,避免 deep link 绕过权限
  • Router.onRouteChange():监听完整导航与状态同步两类路由变化

修复

  • 内部 key 不泄漏:导航成功后写入currentRoute前剔除__params__内部 key(stripInternalKeys),避免暴露给用户
  • params 空值崩溃ParamsPluginafterResolveMap.get未命中时的null返回值做防护,修复其可能中断导航链路的崩溃

安装方式

  • uni_modules(推荐)import { createRouter, ParamsPlugin, InterceptorPlugin } from '@/uni_modules/ux-router/utssdk/index.uts'
  • npmpnpm add @meng-xi/unix-routerpackages/core为 UTS 源分发)

文档

入门到精通的完整文档(🟢 入门 → 🟡 进阶 → 🔴 精通)位于packages/docs,已新增插件系统教程(pluginsgetting-startednavigation),中英文同步。

平台兼容性

  • Web / H5、微信小程序 → 编译为 JS
  • App-Android → 编译为 Kotlin / JS
  • iOS(VDOM)→ 编译为 Swift
  • 底层仅依赖uni.*原生导航 API,双模式兼容 uni-app x

欢迎 Star 与反馈:GitHub · 更新日志

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/12 21:31:40

Anker 首届黑客松挑战赛|9 月 7 日报名启动

AI 时代为什么需要数据底座在生成式 AI 深入业务的过程中,越来越多团队发现:AI 应用落地的难点,不只在模型本身,也在 AI 时代的数据链路建设。业务数据在传统数据库里,向量在独立的向量库里,全文检索又是另…

作者头像 李华
网站建设 2026/9/12 21:24:37

UG NX与MFC对话框交互控制技术详解

1. 项目概述:UG界面与MFC对话框的交互控制在NX二次开发领域,MFC对话框与UG界面的无缝集成是一个常见但颇具挑战性的需求。当我们需要在NX环境中嵌入自定义功能界面时,往往面临两个核心问题:如何准确定位UG主窗口,以及如…

作者头像 李华
网站建设 2026/9/12 21:24:25

VS2017配置OpenGL完整指南:GLFW+GLAD环境搭建与常见报错排查

碰没碰过这种经历:照着教程把GLFW、GLAD下载好,包含目录也加了,附加依赖项也填了,一编译却蹦出来几十个“无法解析的外部符号”。我当时配这套环境的时候,Windows10刚出不久,VS2017也还算新,网上…

作者头像 李华
网站建设 2026/9/12 21:20:24

跨语言开发轻量化!MCP 工具的 npx/uvx 客户端解决80%开发环境痛点

作为搞互联网开发的, 你近来肯定屡次刷到过好些关于 “工具轻量化” 的谈论, 之前某个技术社区开展发起的那个 “2024 开发工具选择的调研” 当中, 有一项数据格外引人注目: 超出 72% 的程序员都去会吧 “给” 如果环境设置配置格外繁杂难操当成是跨语言开发的首要难题, 甚至还…

作者头像 李华