rcs5.0 commit
This commit is contained in:
Vendored
+316
@@ -0,0 +1,316 @@
|
||||
## 安装依赖说明
|
||||
- 切换源,使用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, // 注册多语言
|
||||
});
|
||||
```
|
||||
Reference in New Issue
Block a user