yudao-ui-go-view路由同时支持history及hash

yudao-ui-go-view源码只支持hash路由,切换history模式,预览数据报表会报错。

效果如下,地址栏url不一样了:

1、配置路由模式

src\router\index.ts 中导入函数createWebHistory,并配置到router上:

javascript 复制代码
import { createRouter, createWebHashHistory,createWebHistory, RouteRecordRaw } from 'vue-router'


const router = createRouter({
  history: createWebHistory(''),
  // history: createWebHashHistory(''),  // hash 模式
  routes: constantRouter,
  strict: true,
})

2、修改生成预览地址函数

src\utils\router.ts修改 previewPath函数如下:

javascript 复制代码
 export const previewPath = (id?: string | number) => {
  const { origin, pathname } = document.location
  const path = fetchPathByName(PreviewEnum.CHART_PREVIEW_NAME, 'href')
  if(path.startsWith("#")){ // history=hash
    return `${origin}${pathname}${path}/${id || fetchRouteParamsLocation()}`
  } else {
    return `${origin}${path}/${id || fetchRouteParamsLocation()}`
  }
}

3、修改获取url参数

src\utils\router.ts修改 fetchRouteParamsLocation 函数如下:

javascript 复制代码
export const fetchRouteParamsLocation = () => {
  try {
    const route = useRoute()
    if(route.params.id && route.params.id.length){
      return route.params.id[0];
    } else {
      return route.params.id;
    }
    
    // return document.location.hash.split('/').pop() || ''
  } catch (error) {
    window['$message'].warning('查询路由信息失败,请联系管理员!')
    return ''
  }
}
相关推荐
AwesomeCPA13 小时前
Miaoduo MCP 使用指南(VDI内网环境)
前端·ui·ai编程
wechat_Neal14 小时前
Golang的车载应用场景
开发语言·后端·golang
hu556679815 小时前
Photoshop(PS)蓝底和红底照片的CMYK值色值是多少
ui·photoshop
向阳而生,一路生花15 小时前
深入浅出 JDK7 HashMap 源码分析
算法·哈希算法
Wenweno0o16 小时前
Eino-Graph 实战详解
golang·智能体·eino
UXbot16 小时前
AI原型设计工具评测:从创意到交互式Demo,5款产品全面解析
前端·ui·设计模式·ai·ai编程·原型模式
小樱花的樱花17 小时前
打造高效记事本:UI设计到功能实现
开发语言·c++·qt·ui
Bczheng118 小时前
八.账号生成规则 哈希 密钥
算法·哈希算法
小程故事多_8019 小时前
AI Coding 工程化革命,Superpowers 管流程,ui-ux-pro-max 管质感
人工智能·ui·架构·aigc·ai编程·ux·claude code
路过&19 小时前
自制了一款字体点阵生成器
单片机·ui