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)
  • 研发标准规范(待整理)
  • 国产化适配
  • 天宫架构

    • 前端架构

    • 后端架构

    • 打包部署

    • 扩展功能

    • 业务组件

    • 国际化

    • 迁移助手

      • 灵境关务.货物申报系统从 v1.x 升级 v2.x
        • 一. 框架 V2.X 升级源码
        • 二. 升级步骤
          • 前端
          • 1. 删除业务项目中的框架源码文件夹
          • 2. 拷贝框架部分源码文件夹 到 业务项目
          • 3. 修改/更新 内容
          • (1) 文件 public/website.js
          • (2) 文件夹 src/extension
          • src/extension/index.js 文件说明
          • (3) 替换文件夹 main.js
          • (4) 更新文件 App.vue
          • (5) 修改文件 index.html
          • (6) 修改文件 .gitignore
          • (7) 修改文件 package.json
          • (8) 修改文件 vite.config.js
          • (9) 修改文件 .env
          • 4. 国际化升级
          • (1)web/extension/index.js
          • (2)appMain.js 文件
          • 5. 业务代码移出框架
          • (1) 文件夹 tiangong_core/api
          • (2) 文件夹 tiangong_core/assets/less
          • (3) 文件夹 tiangong_core/component
          • (4) 文件夹 tiangong_core/directive
          • (5) 文件夹 tiangong_core/hooks
          • (6) 文件夹 tiangong_core/language
          • (7) 文件夹 tiangong_core/layout
          • (8) 文件夹 tiangong_core/store
          • (9) 文件夹 tiangong_core/utils
          • (10) 文件夹 tiangong_core/setting.js
          • 后端
          • pom依赖
          • RedisUtil弃用
      • 天宫框架 从 v1.x 升级 v2.x
    • 历史版本

    • 更新日志

    • 开发手册

    • 权限平台

  • 基础架构
  • 天宫架构
  • 迁移助手
2024-02-27
目录

灵境关务.货物申报系统从 v1.x 升级 v2.x

# 一. 框架 V2.X 升级源码

框架 V2.X 升级源码下载

升级说明资料 xmind 下载

# 二. 升级步骤

以业务项目为基础,将 天宫前端框架 v2.x 代码升级到业务代码中。

# 前端

# 1. 删除业务项目中的框架源码文件夹

删除业务项目中如下框架源码文件夹

文件夹:public/tiangong_public

文件夹:src/tiangong_core

# 2. 拷贝框架部分源码文件夹 到 业务项目

从框架源码拷贝如下代码到业务项目中

文件夹:deps

文件夹: public/tiangongPublic

文件夹:public/web/lang

文件:public/web/website.js

文件:public/web/businessIndex.js


文件夹:src/tiangongCore

文件夹:src/web/app

文件夹:src/web/appDemo

文件夹:src/web/appTiangong

文件夹:src/web/extension


文件夹:src/web/home 此文件夹内的 homeIndex.vue 为工作台的文件,原路径为 src/tiangong_exn/components/worktable/index.vue。

# 3. 修改/更新 内容

# (1) 文件 public/website.js
window.website = {
	// 如下字段 window.website.appName 的优先级高于 .env 中 VITE_TG_SYS_NAME
	// 如不需要在 window.website.appName 中设置,则将此字段注释
    appName: "修改为业务系统名称",
    appAlias: "修改为业务系统名称",
    
    apiServer: {
    	// 请求基础地址,如下字段  window.website.apiServer.base 的优先级高于 .env.xx 中的 VITE_BASE_URL
    	//  如不需要在 window.website.apiServer.base 中设置,则将此字段注释
    	base:"请求基础地址"
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
# (2) 文件夹 src/extension

注:src/tiangong_exn 不在作为框架管理的文件夹

  1. 文件夹 src/tiangong_exn/svg 移动到 文件夹 src/extension 中
  2. 文件 src/extension/assets/less/theme.less 为框架提供的引入全局样式的入口;
  3. 文件 src/extension/index.js 为框架提供的扩展方法
# src/extension/index.js 文件说明

src/tiangong_exn 中的扩展方法入口优化为 src/extension/index.js ,参考如下

// 系统菜单功能
// import * as menu from './Menu'

// 框架扩展 main.js 功能
// import * as appMain from '业务路径';

// 框架扩展 路由功能
// import * as router from '业务路径';

// 框架扩展 store 功能
// import * as store from '业务路径';

// 框架扩展 登录页面后的全局设置方法等
// import * as useApp from '业务路径';

// 框架扩展 清除缓存的方法
// import * as clearCache from "业务路径";

// 框架扩展 标签页 收藏功能等
// import * as menuTag from "业务路径";

// 框架扩展 主题设置方法
// import * as theme from "业务路径";

export default {
    // menu,
    // appMain,
    // router,
    // store,
    // useApp,
    // clearCache,
    // menuTag,
    // theme
};
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

扩展方法写法可以参考文件夹 web/app/extension,如下为部分示例

menu.js

export {
    menuItemShow,
    menuItemNum,
    beforeMenuClick
}
1
2
3
4
5

appMain.js

export default function(app) {}
1

appRouter.js

const routes = [];
function setRoutes() {
    return routes;
}

export default {
    setRoutes
};
1
2
3
4
5
6
7
8

appStore.js

function setStore() {
    return {
        state,
        getters,
        mutations
    };
}

function setSysParametersStore() {
    return sysParameters;
}

function setLayoutStore() {
    return layout;
}

export default {
     setStore,
    
    // 框架扩展给灵境项目使用的方法,后期会删除
    setSysParametersStore,
    // 框架扩展给灵境项目使用的方法,后期会删除
    setLayoutStore
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

clearCache.js

function clearAllCache() {}

export default {
    clearAllCache
};
1
2
3
4
5
# (3) 替换文件夹 main.js

若 main.js 中存在引入业务功能,优化到 src/extension/index.js 中 引入 appMain.js

# (4) 更新文件 App.vue

修改script

// import useAppCore from '@core/hooks/component/useAppCore';
// 修改为 
import useAppCore from '@core/hooks/app/useAppCore';


// SettingCore.loadUseAppType + '' === '1' ? useAppCore() : useApp();
// 修改为
SettingCore.VITE_TG_LOAD_USE_APP_TYPE + '' === '1' ? useAppCore() : useApp();

// import useAppCoreCommon from '@core/hooks/component/useAppCoreCommon';
// 修改为
import useAppCoreCommon from '@core/hooks/app/useAppCoreCommon';

// import useApp from './tiangong_exn/hooks/app/useApp';
// 修改为 
import {useApp} from "@/web/app/extension/useApp";
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

修改 style

<!-- 去除如下样式 -->
<style lang="less">
@import url('@core/assets/less/APP.less');
</style>
1
2
3
4
# (5) 修改文件 index.html
<!-- 增加如下代码 -->
<script type="text/javascript" src="/web/website.js"></script>
<script type="text/javascript" src="/web/businessIndex.js">
    
<!--  引入文件名优化,文件路径  tiangong_public  优化为 tiangongPublic -->    
<script type="text/javascript" src="/tiangongPublic/config.js"></script>
<link href="/tiangongPublic/font/iconfont.css" rel="stylesheet" />
1
2
3
4
5
6
7
# (6) 修改文件 .gitignore

增加如下代码

!/deps/*.tar.gz
1
# (7) 修改文件 package.json
{
    "dependencies":{
        "@vueuse/core": "^10.7.0",
        // element-plus 优化为 "element-plus": "file:deps/element-plus.tar.gz",
        "element-plus": "file:deps/element-plus.tar.gz",
        "events": "^3.3.0",
        "lodash-es": "^4.17.21", 
        "pouchdb": "^8.0.1",
        "pouchdb-browser": "^8.0.1",
        "pouchdb-find": "^8.0.1",
        "qs": "6.11.1",
        "spark-md5": "^3.0.2",
        "vue-simple-uploader": "^1.0.2",
    	"vue-ueditor-wrap": "^3.0.8",
	},
    "devDependencies":{
        "@types/pouchdb": "^6.4.2",
        "@types/pouchdb-find": "^7.3.3"        
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# (8) 修改文件 vite.config.js

优化 plugins.createSvgIconsPlugin.iconDirs 和 resolve.alias 内容

export default defineConfig({
    plugins:[
        createSvgIconsPlugin({
            // 如下引入路径优化
            iconDirs: [path.resolve(process.cwd(), 'src/tiangong_exn/svg')],
        })
    ],
    resolve:{
        alias:{
           // 如下框架内容更新
            '@': path.resolve(__dirname, './src'),
            // 框架代码文件夹
            '@core': path.resolve(__dirname, './src/tiangongCore'),
            // 框架开发功能
            '@webApp': path.resolve(__dirname, './src/web/app'),
            // 框架页面
            '@appTiangong': path.resolve(__dirname, './src/web/appTiangong'),
            // 公共方法
            '@coreTools': path.resolve(__dirname, './src/tiangongCore/utils/TgMethods'),
            // 请求方法
            '@coreRequest': path.resolve(__dirname, './src/tiangongCore/utils/TgRequest'),
            // 请求方法
            '@coreHttp': path.resolve(__dirname, './src/tiangongCore/utils/TgRequest/TgHttp'),
            // 全局方法
            '@coreTg': path.resolve(__dirname, './src/tiangongCore/utils/TgPublic'),
            // 全局方法 Plus
            '@coreTgPlus': path.resolve(__dirname, './src/tiangongCore/utils/common/tg'),
            // QueryPage模型
            '@coreQueryPage': path.resolve(__dirname, './src/tiangongCore/models/QueryPage/QueryPage'),
            // EditPage模型
            '@coreEditPage': path.resolve(__dirname, './src/tiangongCore/models/EditPage/EditPage'),
            // EditTab模型
            '@coreEditTab': path.resolve(__dirname, './src/tiangongCore/models/EditTab/EditTab'),
            // CommonPage模型
            '@coreCommonPage': path.resolve(__dirname, './src/tiangongCore/models/CommonPage'),
            // componentSetting
            '@componentSetting': path.resolve(__dirname, './src/web/app/setting/componentSetting.js'),
            // 框架组件
            '@coreComponents': path.resolve(__dirname, './src/tiangongCore/components/business'),
            "@i18nHelper": path.resolve(__dirname, './src/tiangongCore/locale/i18nHelper'),
            'vue-i18n': 'vue-i18n/dist/vue-i18n.cjs.js',            
        }
    }
})
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
42
43
44
# (9) 修改文件 .env

src/tiangong_exn/components 里面的插槽优化为 如下配置文件

# layout 布局header 用户信息的插槽
VITE_TG_COMPONENT_HEARDER_DROP_DOWN_DOWN = '业务文件路径,比如 extension/slot/HeaderDropdown/DropDownUp'
VITE_TG_COMPONENT_HEARDER_DROP_DOWN_UP = '业务文件路径'

# layout 布局 header 插槽
VITE_TG_COMPONENT_HEARDER_NOTICE = '业务文件路径'

# layout 布局上的插槽
VITE_TG_COMPONENT_HOME_PAGE_EXTEND = '业务文件路径'

# 快捷工作区插槽
VITE_TG_COMPONENT_QUICK_WORK = '业务文件路径'
1
2
3
4
5
6
7
8
9
10
11
12

其他

# 国际化配置使用业务:灵境  1 框架   2 业务
VITE_TG_LANGUAGE_DEFAULT = '2'

# 路由前置路径
VITE_TG_ROUTER_BASIC_PATH = '路径,例如 /appLj/views'

# 国际化
VITE_TG_LANG_SYS_CODE = 'LJGW'
VITE_TG_LANG_MODE = 'offline'
VITE_TG_LANG_SERVER = 'http://192.168.106.178:9004/eaapi'
# 切换语言功能  开:'true'
VITE_TG_LANG_SWITCHINNAVBAR = 'false'
VITE_TG_LANG_SWITCHINSETTING = 'false'
VITE_TG_LANG_REFRESHWHENSWITCH = 'false'
VITE_TG_LANG_LIST = ''
VITE_TG_LANG_PATH = ''
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 4. 国际化升级

# (1)web/extension/index.js
import * as appMain from "./appMain";

export default {
    appMain
}
1
2
3
4
5
# (2)appMain.js 文件

对应的业务路径/language/i18n: 为业务自定义的内容

import i18n from "对应的业务路径/language/i18n";

export default function (app) {
    i18n(app); // 国际化
}
1
2
3
4
5

# 5. 业务代码移出框架

如下组件,方法移动到业务代码中,请在业务代码中配置对应的使用方法

# (1) 文件夹 tiangong_core/api

language/index.js 文件移除

login/index.js 文件移除如下方法

loginByPwd
logout
getPhoneCode
loginByPwdSso
get7WarnStatus
remember7Warn
loginByTokenAndSys
loginByPhoneCode
sendMessageLogin
1
2
3
4
5
6
7
8
9

user/index.js 文件移除如下方法

getSysCache
getUserProxy
save
deleteById
uploadPolicy
insertLookPlate
userRelexpSelectList
updateBusinessSetting
pendingWindowInsert
getSqlCommandData
getSqlCommandData
myCollectionDelete
myCollectionSelectList
1
2
3
4
5
6
7
8
9
10
11
12
13
# (2) 文件夹 tiangong_core/assets/less

文件 less/base/global-custom.less 去除业务代码

移除文件夹 less/form

文件 less/elementPlus/index.less: 移出 el-select-v2 样式

文件 less/elementPlus/poper.less:移除业务代码

文件 less/layout/header.less:移除业务代码

# (3) 文件夹 tiangong_core/component

文件 components/base/TgTable.vue

文件 components/base/TgSelectV2.vue

文件 components/base/TgUpload.vue

文件 components/base/TgRadio.vue

文件 components/business/TgExport.vue

# (4) 文件夹 tiangong_core/directive

文件 directive/index.js

# (5) 文件夹 tiangong_core/hooks

文件夹 hooks/form


文件 hooks/web/useMyAttention

文件 hooks/web/useUpdateIndexedDB.js

文件 hooks/components/useBaseQuery.js

文件 hooks/components/useButtonRules.js

文件 hooks/components/useCustomParamData.js

文件 hooks/components/useOpenDetail.js

文件 hooks/components/useSelectFilter.js

文件 hooks/components/useSetDefaultTrade.js

# (6) 文件夹 tiangong_core/language
# (7) 文件夹 tiangong_core/layout

文件 layout/header/headNav.js

logout = SettingCore.loadUseAppType +''=== '1' ? logoutCore : logoutWeb
1

文件 layout/header/theme/userConfig.vue:去除业务接口代码

文件 layout/home/index.vue: 去除 websocket 等业务代码

# (8) 文件夹 tiangong_core/store

文件 store/modules/layout.js:

forcedPushData
updateForcedPushData
updateAuickWordAera
1
2
3

文件:store/modules/sysParameters.js

statOperListTqstep
itemBtnList
webSocketType
formdrag
productGrantData
epSettingData
initIndexedDBdata
cacheSaveVuex
userProxyInfo
userBussinessSetting
userBussinessFormSetting
epSettingData
formdragData
globalAllDataSimple
globalAllData
deskSqlCommandData
noticeRegList
getNoticeSelectPageList
getMyCollectionData
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# (9) 文件夹 tiangong_core/utils

文件 utils/TgImportComGlobal

文件 utils/TgIndexedDB

文件 utils/TgSecret

文件 utils/TgTools

文件 utils/TgRequest/axios/index.js

文件 utils/TgWebsocket

文件 utils/TgPrintPage

文件 utils/TgMmethodPlugin

文件 utils/downloadXlsx

# (10) 文件夹 tiangong_core/setting.js

字段:SECOND_LEVEL_CACHE

字段:FIRST_LEVEL_CACHE

字段:isUseWebsocket

字段:isOpenAliyunUpload

字段:isOpenExpiration

字段:ExportTaskTotal

字段:DATA_BASE_NAME



# 后端

# pom依赖

<dependency>
    <groupId>com.eci</groupId>
    <artifactId>tiangong-component</artifactId>
    <version>2.2.0_release</version>
</dependency>
<dependency>
    <groupId>com.eci</groupId>
    <artifactId>tiangong-core</artifactId>
    <version>2.2.0_release</version>
</dependency>

<dependency>
    <groupId>com.eci</groupId>
    <artifactId>tiangong-sso</artifactId>
    <version>2.2.0_release</version>
</dependency>

<dependency>
    <groupId>com.eci</groupId>
    <artifactId>tiangong-system</artifactId>
    <version>2.2.0_release</version>
</dependency>

<dependency>
    <groupId>com.eci</groupId>
    <artifactId>tiangong-third</artifactId>
    <version>2.2.0_release</version>
</dependency>
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

# RedisUtil弃用

原来的使用方式 -> TgCacheHelper

原先
@Autowired
private RedisUtil redisUtil;

现在
直接删掉
    
原来
redisUtil.set(
redisUtil.get(
    
现在
TgCacheHelper.set(
TgCacheHelper.get(
1
2
3
4
5
6
7
8
9
10
11
12
13
14
上次更新: 2024/3/21 08:50:37
后端调用国际化
天宫框架 从 v1.x 升级 v2.x

← 后端调用国际化 天宫框架 从 v1.x 升级 v2.x→

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