Files
rcs5.0_new/packages/rcs_5.0/readme.md
T
2025-05-19 17:29:51 +08:00

317 lines
7.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 安装依赖说明
- 切换源,使用http://192.168.30.37:7001/ 此为临时源,如果源有问题请联系楼呈祥
- 全局安装lerna 最新版本,旧版本针对本地依赖引用有问题
- titanOne3.5-core中执行yarn
- 在titanOne3.5-core 目录中执行lerna bootstrap
- titanOne-design-pro-vue 中执行yarn serve
## 菜单和桌面数据配置说明
菜单数据配置在router下的menus.js文件中,桌面数据配置在router下的desktops.js文件中,结构同之前。
## 文件结构说明
## 项目依赖说明
### "core-js": "^3.8.3",
- 它是JavaScript标准库的polyfill
- 它尽可能的进行模块化,让你能选择你需要的功能
- 它可以不污染全局空间
- 它和babel高度集成,可以对core-js的引入进行最大程度的优化
### "element-ui": "^2.15.13",
elementui 库,TODO: 未来替换为公司库
### "js-cookie": "^3.0.1",
设置cookie,使用方式如下
- 设置cookie
```
Cookies.set('name', 'value', { expires: 7, path: '' }); //7天过期
Cookies.set('name', { foo: 'bar' }); //设置一个json
```
- 读取cookie
```
Cookies.get('name'); //获取cookie
Cookies.get(); //读取所有的cookie
```
- 删除cookie
```
Cookies.remove('name'); //删除cookie时必须是同一个路径。
```
### "nprogress": "^0.2.0",
主要用于页面跳转时展示的顶部进度条
### "vue": "^2.6.14",≠
### "vue-router": "^3.5.3",
### "vuedraggable": "^2.24.3",
### "vuex": "^3.6.2",
### "vue-i18n": "8.22.2",
## 集成ecas|egate login
1. 引入titanOne login
```
yarn add @erayt/titanOne3.0-web-login@^3.0.0 --dev
```
2. 引入 titanOne login的依赖包
```
"@erayt/titanOne3.0-web-login": "^3.0.0",
"@erayt/eui3.5-customize-themes":"^1.0.9",
"@erayt/titanOne-dll":"^3.2.33",
"@erayt/eui2-themes":"3.2.32"
```
login跳转为静态页面跳转,依赖不需要在dependency中
3. 引入@erayt/loginSub
```
yarn add @erayt/loginSub --dev
```
这个包主要是为了配置dev环境,登录页需要配置的配置内容
引入后,我们需要将对应的配置内容注入到vue.config.js中
```
devServer: {
port: 9527,
...loginConfig.devServerConfig
},
```
其他依赖配置
```
...
chainWebpack: (config) => {
// 添加login 模块
loginConfig.chainConfig(config);
// 配置sourcemap
const needSourcemap = isDev? 'source-map': false
config.devtool(needSourcemap);
...
```
再次启动yarn serve
## 引入ecas相关api
比如消息盒子,比如自定义存储,ecas权限功能,webnet,通讯加密等
因为相关功能都是以Eui相关api开发的,所以若需要使用上述某一功能,则需要引入Eui底层相关包,
### 引入titanOne-combination
这个包是底层api的封装工具包,主要为一些基础函数做封装
```
yarn add @erayt/titanOne-combination
```
### 引入Observer
如果要实现ipc通讯,那么需要引入observer包
```
yarn add @erayt/titanOne-observer
```
## 多语言配置
文件路径为 src/lang/locale/
需要分别配置en 或者zh里面的index.js 文件
### 框架语言包
若使用框架组件,那么需要引入框架语言包,@erayt/language
### 路径说明
|- lang // 多语言文件夹
|--- index.js // 添加了集成框架语言包代码
|--- locale
|----- en
|------- index.js // 英文翻译文件
|------- message.js // 错误提示的英文文件
|----- zh
|------- index.js // 中文翻译文件
|------- message.js // 错误提示英文文件
### 如何使用框架多语言包
在lang/index.js文件中需要调整如下代码
```
// 如果需要使用框架的多语言文件,则需要引入@erayt/language包
import lang, {mergeToolTip} from '@erayt/language'
Vue.use(VueI18n);
const messages = {
en: {
...lang.en,
...customEN,
},
zh: {
...lang.zh,
...customZH
}
}
// 引入框架的错误码后,需要调用mergeToolTip进行合并数据,此数据会加入到Eui.Messager.messages中
mergeToolTip({
en_US: toolTipEn,
zh_CN: toolTipZh
})
```
还需要调用mergeToolTip 函数,因为框架在后台错误码处理时有特殊的规则,所以错误码需要写在message.js中,如果不引入框架的请求,则全部写在index.js中即可。
### 在Vue中如何使用
多语言使用规则,参照 Vue-i18n的使用规则
- 语法: $t('属性名')
```
<p>{{ $t('message.hello') }}</p>
// 输出 <p>您好!</p>
```
- 可变参数
```
// zh 语言文件中这样配置
{
name: '名字 {0} {1}'
}
```
使用时只要传入参数即可,参数可以是对象也可以是数组
```
// array
$t('name', ['Jack', 'Job'])
// object
$t('name', {'0':'Jack', '1': 'Job'])
```
vue-i18n 还提供了金额格式化:$n,日期格式化 $d ,等功能,这里就不说明了,
- 默认语言设置
如果en语言包中不存在的内容,使用zh中的值
```
const i18n = new VueI18n({
locale: 'en',
fallbackLocale: 'zh',
messages
})
```
- 切换语言
```
// 不使用框架
this.$i18n.local = zh |en
// 使用框架,则只需使用框架的切换语言按钮即可
```
### 框架错误码解析
## 多主题
### 动态换肤
### 多套主题包
本地存放多套主题,两者有不同的命名空间,如写两套主题,一套叫 custom-theme ,一套叫 custom-eui-theme custom-theme 主题都在一个 .custom-theme的命名空间下,我们动态的在 body 上 add .custom-theme ; remove .custom-theme。
## 升级vue-cli 修改部分
vue-cli 内置了css-loader, style-loader, scss-loader, 所以配置文件中不再需要配置
项目中有使用css-module的变量导出,供组件使用css变量,所以需要将 element-variables.scss中的导出变量移到element-variables.module.scss
同时,在main.js中,需要引入element-variables.scss文件
## 网络库使用
- @erayt/networkManager
## service 插件化开发
## 低代码开发说明
项目中默认安装低代码的组件的依赖包,vue-dynamic
- route.config.js,引用相应路由
```
import VueDynamic from 'vue-dynamic'
export default [
{
path: '/dynamic',
component: VueDynamic.Viewer
}
];
```
- menu.json中配置菜单,在对应attributes属性中设置path,pageName和projectName
```
"attributes": {
"client": {
"loadMode": "component",
"path": "/dynamic", // 路由
"extraParams":{
"pageName":"dataImport", // 对应页面英文名称
"projectName":"sds" // 对应项目名称
}
}
}
```
- main.js中注册插件
```
import rxd from 'vue-dynamic';
import 'vue-dynamic/dist/Dynamic.css';
rxd.titan.init();
```
- vue.config.js中配置低代码服务地址
```
'/phoenix': {
target: 'http://192.168.193.94:8011',
},
```
- 安装低代码样式包 vue-dynamic-theme
```
main.js中引入
import "vue-dynamic-theme"
```
- 注册多语言
1. lang/index.js中引入低代码多语言包
```
import Vuedynamic from 'vue-dynamic'
const messages = {
en_US: {
...其它多语言文件,
...Vuedynamic.lang.en // 低代码英文
},
zh_CN: {
...其它多语言文件,
...Vuedynamic.lang.zh // 低代码中文
}
}
export default messages;
```
2.main.js引入多语言
```
import { messages } from "./lang";
service.registerApplication("myproject", {
routeConfig,
getters,
modules,
i18n: messages, // 注册多语言
});
```