tiangong-doc tiangong-doc
首页
  • 天宫体系

    • 前端架构
    • 后端架构
    • 扩展功能
    • 打包部署
    • 更新日志
    • 辅助开发平台 (opens new window)
    • 权限平台部署包下载 (opens new window)
  • 基础组件

    • 工作流引擎(待整理)
    • 跨境加签客户端(待整理)
    • 权限平台(待整理)
  • 数字化工具

    • 数字魔方
    • 数据采集
    • 智能导入
    • 数字员工
    • 规则引擎(开发中)
    • 消息引擎(待开发)
    • 智能导出(待开发)
  • 业务算法

    • 南京业务体检(待整理)
    • 智慧长江(待整理)
  • 识别模型

    • 空箱识别(待整理)
    • 智能客服(待整理)
    • OCR识别(待整理)
    • 车牌识别(待整理)
    • 超市停留识别(待整理)
    • 危险品识别(待开发)
    • 超长车识别(待开发)
    • 车辆靠台(待开发)
    • 车辆占用(待开发)
  • 算法模型(待整理)
  • 风控模型(待整理)
  • 海关规则(待整理)
  • 危险品知识(待整理)
  • 组件设计文档(待整理)
  • 数据服务

    • 商品归类服务(待开发)
    • RECP贸易服务(待开发)
    • 商品价格服务(待开发)
    • 业务申报解答(待开发)
    • 报关单状态查询(待开发)
  • 常用开发工具

    • BASE64编解码工具 (opens new window)
    • MD5编码工具 (opens new window)
    • AES/DES加解密 (opens new window)
    • JWT解码工具 (opens new window)
    • ASCII编解码工具 (opens new window)
    • Unicode编解码工具 (opens new window)
    • UTF-8编解码工具 (opens new window)
    • 字符串编解码工具 (opens new window)
    • 通用进制转换工具 (opens new window)
    • 浮点数十进制转换 (opens new window)
    • 在线JSON解析 (opens new window)
    • 在线JS代码格式化工具 (opens new window)
    • CSS可视化工具 (opens new window)
    • XML格式化工具
    • SQL压缩/格式化工具 (opens new window)
    • JSON/XML在线转换 (opens new window)
    • JSON/YAML在线转换 (opens new window)
    • IP地址查询 (opens new window)
    • HTTP在线接口测试 (opens new window)
    • UUID在线生成器 (opens new window)
    • 随机数生成器 (opens new window)
    • 在线文本比对 (opens new window)
  • 研发标准规范(待整理)
  • 国产化适配
首页
  • 天宫体系

    • 前端架构
    • 后端架构
    • 扩展功能
    • 打包部署
    • 更新日志
    • 辅助开发平台 (opens new window)
    • 权限平台部署包下载 (opens new window)
  • 基础组件

    • 工作流引擎(待整理)
    • 跨境加签客户端(待整理)
    • 权限平台(待整理)
  • 数字化工具

    • 数字魔方
    • 数据采集
    • 智能导入
    • 数字员工
    • 规则引擎(开发中)
    • 消息引擎(待开发)
    • 智能导出(待开发)
  • 业务算法

    • 南京业务体检(待整理)
    • 智慧长江(待整理)
  • 识别模型

    • 空箱识别(待整理)
    • 智能客服(待整理)
    • OCR识别(待整理)
    • 车牌识别(待整理)
    • 超市停留识别(待整理)
    • 危险品识别(待开发)
    • 超长车识别(待开发)
    • 车辆靠台(待开发)
    • 车辆占用(待开发)
  • 算法模型(待整理)
  • 风控模型(待整理)
  • 海关规则(待整理)
  • 危险品知识(待整理)
  • 组件设计文档(待整理)
  • 数据服务

    • 商品归类服务(待开发)
    • RECP贸易服务(待开发)
    • 商品价格服务(待开发)
    • 业务申报解答(待开发)
    • 报关单状态查询(待开发)
  • 常用开发工具

    • BASE64编解码工具 (opens new window)
    • MD5编码工具 (opens new window)
    • AES/DES加解密 (opens new window)
    • JWT解码工具 (opens new window)
    • ASCII编解码工具 (opens new window)
    • Unicode编解码工具 (opens new window)
    • UTF-8编解码工具 (opens new window)
    • 字符串编解码工具 (opens new window)
    • 通用进制转换工具 (opens new window)
    • 浮点数十进制转换 (opens new window)
    • 在线JSON解析 (opens new window)
    • 在线JS代码格式化工具 (opens new window)
    • CSS可视化工具 (opens new window)
    • XML格式化工具
    • SQL压缩/格式化工具 (opens new window)
    • JSON/XML在线转换 (opens new window)
    • JSON/YAML在线转换 (opens new window)
    • IP地址查询 (opens new window)
    • HTTP在线接口测试 (opens new window)
    • UUID在线生成器 (opens new window)
    • 随机数生成器 (opens new window)
    • 在线文本比对 (opens new window)
  • 研发标准规范(待整理)
  • 国产化适配
  • 天宫架构

    • 前端架构

      • 前端框架V2.0.0

        • 前端介绍
        • 页面模型

        • 前端组件

        • 全局配置

        • 扩展功能

        • 常见问题

          • 常见问题
          • 天宫框架更新,导致打开的界面,找不到路由的问题
            • 问题
            • 解决方法
              • 1,更新框架文件,在'tiangongCore\utils\common\tg.js' 文件中 添加如下safeImport方法
              • 2,业务系统自定义的路由修改 router.js的文件
              • 自定义的路由如果是固定的
              • 自定义的路由如果是动态的
        • 其他

    • 后端架构

    • 打包部署

    • 扩展功能

    • 业务组件

    • 国际化

    • 迁移助手

    • 历史版本

    • 更新日志

    • 开发手册

    • 权限平台

  • 基础架构
  • 天宫架构
  • 前端架构
  • 前端框架V2.0.0
  • 常见问题
2024-06-12
目录

天宫框架更新,导致打开的界面,找不到路由的问题

# 问题

天宫框架更新,导致打开的界面,找不到路由的问题

# 解决方法

# 1,更新框架文件,在'tiangongCore\utils\common\tg.js' 文件中 添加如下safeImport方法


import {isFunction} from './is'
export default {
    /**
     * 安全引入模块
     * @param {string|promise} path 模块地址,如何是动态模块请不要使用@等alias的方式,静态的是promise
     * @param {function} [handler] 处理方式
     * @param {Array} [modules] 通过import.meta.glob获取到模块集合
     * @returns 如果模块不存在返回空,否则返回执行模块
     */
    safeImport(path, modules, handler) {
    if (!handler || !isFunction(handler)) {
        handler = (component) => component.default
    }
    //path是字符串
    if (modules && typeof path === 'string') {
        if (modules[path] == undefined) {
            // 模块不存在
            // tg.msg.error(tm('tg.page.msg.M00459', '系统已经更新,即将刷新页面'));
            return;
        }
        return modules[path]().catch((e) => {
            if (e.message.includes('Failed to fetch dynamically imported module')) {
                tg.msg.error(tm('tg.page.msg.M00459', '系统已经更新,即将刷新页面'));
                setTimeout(() => {
                    window.location.reload(true); // 强制浏览器刷新页面
                }, 3000);
            }
        }).then(handler);
    } else {
        return path.catch((e) => {
            if (e.message.includes('Failed to fetch dynamically imported module')) {
                tg.msg.error(tm('tg.page.msg.M00459', '系统已经更新,即将刷新页面'));
                setTimeout(() => {
                    window.location.reload(true); // 强制浏览器刷新页面
                }, 3000);
            }
        }).then(handler);
    }
},
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

# 2,业务系统自定义的路由修改 router.js的文件

# 自定义的路由如果是固定的

扩展路由如果是固定的路由,需要用tg.safeImport包一下
const routerWhiteList = [
    {
        path: "/test2",
        name: "测试Log",
        component: () => tg.safeImport(import("@appTiangong/SysOperLog/SysOperLogList.vue")),
    }
]
const routes = []

function setRouteWhiteList() {
    return routerWhiteList
}
function setRoutes() {
    return routes
}
export default {
    setRoutes,
    setRouteWhiteList
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 自定义的路由如果是动态的

需要添加方法safeImport的方法,在导入路由的时候,使用saveImport方法

const modules = import.meta.glob("../../web/**/**.vue");
const safeImport = (path, handler) => {
    return tg.safeImport(path, modules, handler)
}

const routerWhiteList = [
    {
        path: "/login",
        name: "登录",
        component: () =>
            safeImport(`../../web${SettingCore.VITE_TG_LOGIN_URL}.vue`),
    },
]
const routes = [
]

function setRouteWhiteList() {
    return routerWhiteList
}

function setRoutes() {
    return routes
}

export default {
    setRoutes,
    setRouteWhiteList
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
上次更新: 2024/6/12 16:34:27
常见问题
npm源切换到本地

← 常见问题 npm源切换到本地→

最近更新
01
EciReport模板导出_Core
09-10
02
EciReport模板导出
09-09
03
Core权限平台接口
07-25
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式