* fix: 优化设备接入配置 * fix: 兼容2.1版本创建的菜单数据 * fix: 菜单配置兼容2.1菜单 * fix: bug#28524 【产品】产品选择设备接入网关,有多个配置时,只展示了一个 * fix: bug#28520【设备】当配置未开启时,前端应不展示配置按钮 * fix: bug#28533仪表盘本年流量消耗界面展示需优化 * fix: bug#28520、28534【设备】设备详情-物模型-其他配置 在点击配置时界面提示错误、【设备】当配置未开启时,前端应不展示配置按钮 * fix: bug#28531【设备】详情中查看预处理数据时提示错误 * fix: bug#28545【菜单管理】新增菜单,权限控制处无法正常加载出权限 * fix: 菜单配置->菜单权限同步功能 * fix: bug#28520【设备】当配置未开启时,前端应不展示配置按钮 * fix(media): bug#28595屏蔽固定地址通道列表的厂商字段 * fix(NoticeRule): 文字组织替换部门 * fix(Alarm): bug#28571手动触发展示说明 * fix(media): bug#28553界面展示异常 * fix(iotCard): bug#28567 * fix(media): bug#28595屏蔽固定地址通道列表的厂商字段 * fix: bug#28560【通知配置】微信-企业消息的同步用户页面,列表字段展示错误,【钉钉用户名】需改为【企业微信用户名】 * fix: bug#28544【通知配置】用户自己创建的数据,没有权限调试,报错:暂无权限,请联系管理员! * fix: bug#28549【采集器】在点位进行批量操作时,开启推送控制,进行保存异常 * fix: bug#28540【组织管理】设备资产分配页,设备列表形式展示,资产权限显示不完整 * fix: bug#28537【产品】新增的网关设备,接入方式选择"边缘网关接入"时,物模型中功能定义界面展示异常 * fix: bug#28550【远程升级】升级任务中的任务详情列表中文案修改 * fix: bug#28551【通知模版】和【通知配置】两者保存的查询条件共用了 * fix: bug#28560【通知配置】微信-企业消息的同步用户页面,列表字段展示错误,【钉钉用户名】需改为【企业微信用户名】 * fix(media): bug#28602屏蔽onvif相关配置 * fix: 物联卡管理样式优化及运营商状态取值 * fix(AliCloud): bug#28581新增阿里云网桥产品下拉值清空 * fix(media): bug#28602屏蔽onvif相关配置 * fix: bug#28578、28597【产品】物模型-属性定义-其他配置 在只进行选择了数据类型时,界面展示异常 、【产品】在进行更换接入网关时,会增加“预处理数据” * fix: bug#28578、28597【产品】物模型-属性定义-其他配置 在只进行选择了数据类型时,界面展示异常 、【产品】在进行更换接入网关时,会增加“预处理数据” * fix: bug#28538 【角色管理】【97】进入页面提示权限不足 * fix: bug#28605 【产品】产品物模型点击其它配置时,有时候界面会不出现蒙层 * fix: 【告警配置】兼容2.1绑定与取消绑定场景联动 * fix(region): 地区新增屏蔽重复校验及同步下级区域处理 * fix(system): 数据字典新增选中异常修复 * fix: bug#28611.28613 * fix(media): 仪表盘快捷时间没有取消选中效果 * fix(region): 地区新增屏蔽重复校验及同步下级区域处理 * fix: bug#28616【设备】【日志管理页】列表字段过长时,鼠标悬停【内容】展示数据不友好,和别处不一致 * fix: bug#28560【通知配置】微信-企业消息的同步用户页面,列表字段展示错误,【钉钉用户名】需改为【企业微信用户名】 * fix: bug#28559【通知管理】微信同步用户页面,查询无匹配部门时,后端不需要报错 * fix: bug#28563【通知模版】新增/编辑数据页,【绑定配置】的数据后端校验有错误时,也能正常新增保存,后端校验失败时,应不能新增保存,需要前端把后端的报错处理到校验规则内。 * fix: bug#28568【产品】通过导入的属性,其他配置中的存在方式为正确的展示 * fix: bug#28616【设备】【日志管理页】列表字段过长时,鼠标悬停【内容】展示数据不友好,和别处不一致 * fix: 修改预处理数据页面接口 * fix: 配置枚举项必填按钮放在右方 * fix: 【物模型】修复功能定义名称校验异常 * fix: 【运维管理】仪表盘修复jvm中Echarts无法显示服务名称 * fix: 【物模型】修复功能定义名称校验异常 * fix: 【场景联动】校验接口社区版兼容处理 * fix: bug#28615 【产品】【物模型-属性定义-编辑规则页】在屏幕分辦率【1380* 920】的情况下,属性名称下拉框无法正常获取到值 * fix: bug#28559 【通知管理】微信同步用户页面,查询无匹配部门时,后端不需要报错 * fix: bug#28563【通知模版】新增/编辑数据页,【绑定配置】的数据后端校验有错误时,也能正常新增保存,后端校验失败时,应不能新增保存,需要前端把后端的报错处理到校验规则内。 * fix: bug#28604 【产品】产品指标保存后查看,未回显已填入内容(设备运行状态界面查看是有指标的,但是产品配置查看未回显) * fix: bug#28634【产品】【物模型-事件定义-输出参数】当数据类型选择枚举值,不配置必填项【枚举项】,直接点击保存,可成功保存,理应提示必填 * fix: bug#28615 【产品】【物模型-属性定义-编辑规则页】在屏幕分辦率【1380* 920】的情况下,属性名称下拉框无法正常获取到值 * fix: 修改预处理数据查询处理结果接口 * fix: bug#28633新增字典后选中新增项 * fix: bug#28628编辑区域报错 * fix: bug#28526 【场景联动】场景联动文案描述错误,并且关闭执行动作后,应该同步隐藏防抖 * fix: 优化过滤条件开关逻辑条件 * fix: bug#【产品】产品(设备、告警记录),告警源不展示设备ID,展示设备名称 * fix: bug#28652【通知配置】通知配置钉钉(微信)进行用户绑定时,展示需优化 * fix: bug#28575 流媒体服务>>>服务商新增可选项内置流媒体 * fix: bug#28618.28619日历维护相关优化 * fix: bug#28648地区管理新增区域后下级消失 * fix: bug#28575 流媒体服务>>>服务商新增可选项内置流媒体 * fix: bug#28672产品物模型>>>功能定义>>>输入参数,选择类型为Object时,无法选择参数(事件也存在) * fix: bug#28654、28664、28663产品(设备)无效数据修改“告警源”>>>“数据源”,并且设备ID,修改为设备名称、通知模板>>>企业微信和钉钉消息调试时,名称应和模板内变量名称一致 * fix: bug#28663、28659通知模板>>>企业微信进行调试时,需判断收信人、收信人部门,收信人标签三个内容任意填写一个、钉钉消息调试时,需判断收信人或收信人部门任意填写其中一个 * fix: bug#28659【场景联动】场景联动>>>执行动作>>>>消息通知.>>>模板变量需判断收信人或者收信部门任意填写一个 * fix: bug#28661企业微信进行调试时,需判断收信人、收信人部门,收信人标签三个内容任意填写一个 * fix: bug#28672产品物模型>>>功能定义>>>输入参数,选择类型为Object时,无法选择参数(事件也存在) * fix: 修复钉钉调试选择了收信人过不了校验问题 * fix: 阈值处理方式取值修改 * fix: 场景联动执行动作微信显示部门标签 * fix: 修改场景联通通知图标 * fix: bug#28575内嵌流媒体样式优化 * fix: bug28679.28678 * fix: 修改流媒体详情字段 * fix: 场景联动执行动作微信显示部门标签 * fix: 修改场景联通通知图标 * fix: 无效数据数据源跳转功能 * fix: 流媒体详情修改文字 * fix: 修改流媒体详情字段 * fix: bug#28687 【场景联动】场景联动>>>执行动作>>>消息通知>>>清除了收信信息后(有其余可校验内容)但是无法通过校验(企微、钉钉都存在) * fix: bug#28688场景联动>>>执行动作>>>消息发送,当钉钉(企业)选择收信人后,切换收信人类型,然后点击保存,未清空切换前的内容 * fix: api配置调试请求体判断条件修改 |
||
---|---|---|
.husky | ||
config | ||
plugin | ||
public | ||
src | ||
.commitlintrc.cjs | ||
.env.develop | ||
.env.production | ||
.eslintignore | ||
.eslintrc.cjs | ||
.gitignore | ||
.npmrc | ||
.prettierrc.cjs | ||
Dockerfile | ||
README.md | ||
build.sh | ||
docker-entrypoint.sh | ||
du-i18n.config.json | ||
index.html | ||
nginx.conf | ||
package-lock.json | ||
package.json | ||
tsconfig.json | ||
tsconfig.node.json | ||
vite.config.ts | ||
yarn.lock |
README.md
JetLinks-ui-vue
平台简介
- 本仓库为JetLinks vue版本。
- 前端技术栈Vue3 + Jetlinks-ui-components + Vite 4.x
- 本项目采用约定式路由,文件系统即路由,通过目录和文件及其命名分析出路由配置。
前端运行
# 克隆项目
git clone https://github.com/jetlinks/jetlinks-ui-vue.git
# 安装依赖
yarn
# 启动服务
yarn dev
# 更新jetlinks-ui-components
yarn add jetlinks-ui-components@latest
# 更新jetlinks-ui-components之后没有效果时
yarn dev:force
Node
- node >= 18.14.0
浏览器兼容
- Chrome >= 100
- Firefox >= 100
- Edge >= 100
不支持IE
备注
- 项目在开发模式下,首页加载慢属于正常现象;
- 打开F12后页面卡顿是
vuetools
引起,https://github.com/vuejs/devtools/issues/1987
更改配置
默认图标以及系统名称
1.基础配置
首先启动项目,找到顶部菜单的 系统管理 -> 基础配置
此处可以更改系统名称、主题色、系统logo、浏览器页签等
主题色
// src/App.vue
ConfigProvider.config({
theme: {
primaryColor: "#315efb"
}
})
2.默认配置
在代码根目录找到config\config.ts
文件
默认图标以及系统名称优先使用基础配置的数据!
export default {
...
logo: '/favicon.ico', // 浏览器标签页logo(不要修改,如需修改默认图标请在根目录public\favicon.ico替换此文件)
title: 'Jetlinks', // 浏览器标签页title(刷新状态时浏览器标签页名称)
layout: {
title: '物联网平台', // 平台title(默认配置不生效,优先使用基础配置的数据)
logo: '/logo.png', // 平台logo(不要修改,如需修改默认logo请在根目录public\logo.png替换此文件)
...
}
}
去掉或修改备案信息
修改备案信息
在src\views\user\Login\index.vue
文件
在第16行左右,修改以下代码备案: xxx(自己的备案信息)
<a
href="https://beian.miit.gov.cn/#/Integrated/index"
target="_blank"
rel="noopener noreferrer"
class="records"
>
备案: xxx(自己的备案信息)
</a>
去掉导航栏右上角jetlinks文档
在src\components\Layout\BasicLayoutPage.vue
文件
在第23行左右,注释以下代码
<!-- <AIcon type="QuestionCircleOutlined" @click="toDoc" /> -->
新增菜单
新增或者修改菜单有两种方式,第一个是代码内的初始化菜单,第二个系统管理的菜单管理
- 初始化菜单 初始化菜单是默认的菜单,在进行系统初始化会使用到。
在进行菜单初始化时,如果只在菜单管理新增或修改,但是没有在初始化菜单里新增或者修改,则只会保留初始化菜单!
- 菜单管理 菜单管理是 系统管理 -> 菜单管理 的菜单,可以动态修改,新增或者更改
如果需要系统初始化时不丢失,请在
src\views\init-home\data\baseMenu.ts
文件下新增或者修改初始化菜单
新增或者修改菜单之前,确保src\views
文件夹下有对应的文件夹以及index.vue入口文件
1.菜单管理
新建文件夹以及文件src\views\test\Home\index.vue
新增顶部菜单 test菜单
-
启动项目,找到顶部菜单的 系统管理 -> 菜单管理,点击菜单配置旁边的新增按钮。
-
完成菜单图标、名称、编码、页面地址、权限配置等
编码是唯一的,必须和文件路径一致此处是顶级菜单编码填入: test 页面地址建议和文件路径保持一致: /test
-
点击保存,刷新页面后生效
-
按钮权限 顶级菜单没有页面可以不用添加按钮权限
新增子菜单
-
在菜单管理 test菜单 新增子菜单
-
完成菜单图标、名称、编码、页面地址、权限配置等
编码是唯一的,必须和文件路径一致此处是test菜单下的二级菜单编码填入: test/Home 页面地址建议和文件路径保持一致: /test/Home
-
点击保存,刷新页面后生效
-
按钮权限 如果有权限控制可以添加对应权限
2.初始化菜单
建议在菜单管理新增或修改菜单之后,再来新增或修改初始化菜单
新增顶部菜单test以及子菜单
确定有对应的文件夹以及文件src\views\test\Home\index.vue
-
启动项目,找到顶部菜单的 系统管理 -> 菜单管理 打开控制台(F12),选中网络(Network),点击菜单管理的搜索或者重置,直到有 tree 的接口请求。 点击接口请求 tree , 并选中响应或者预览选项,找到刚刚新增code为test的数据,复制test菜单的数据
-
在
src\views\init-home\data\baseMenu.ts
文件中添加配置
把第一步test菜单的数据复制到对应位置即可
export default [
// 物联网
...
// 视频中心
...
// 系统管理
...
// 物联卡
...
// test菜单
{
"id": "eb2858ec8dc6d12645a19ee0ed6aba36",
"parentId": "",
"path": "FwY9",
"sortIndex": 5,
"level": 1,
"owner": "iot",
"name": "test菜单",
"code": "test",
"describe": "",
"url": "/test",
"icon": "StepForwardOutlined",
"status": 1,
"permissions": [],
"accessSupport": {
"text": "不支持",
"value": "unsupported"
},
"indirectMenus": [],
"children": [
{
"id": "1995dcd016aaad7c5515f8ead14ca617",
"parentId": "eb2858ec8dc6d12645a19ee0ed6aba36",
"path": "FwY9-T6lF",
"sortIndex": 1,
"level": 2,
"owner": "iot",
"name": "首页",
"code": "test/Home",
"describe": "",
"url": "/test/Home",
"icon": "HeatMapOutlined",
"status": 1,
"permissions": [],
"accessSupport": {
"text": "不支持",
"value": "unsupported"
},
"indirectMenus": [],
"buttons": [
{
"id": "add",
"name": "新增",
"permissions": [
{
"permission": "role",
"actions": [
"query",
"save",
"delete"
]
}
]
}
],
"creatorId": "1199596756811550720",
"createTime": 1688032521555,
"supportDataAccess": false
}
],
"creatorId": "1199596756811550720",
"createTime": 1688032467222,
"supportDataAccess": false
}
]
新增初始化菜单之后需要进行系统初始化才能生效
修改初始化菜单
同上,在菜单管理修改对应的数据,复制对应的菜单数据,然后替换掉baseMenu.ts
对应数据即可。
修改初始化菜单之后需要进行菜单初始化才能生效
系统初始化
在浏览器顶部修改页面路径,/#/
后边输入init-home
,回车进入系统初始化页面
例如: http://localhost:5174/#/init-home
填写好基本信息,角色初始化等,点击确定