diff --git a/springboot/wumei-admin/src/main/resources/application-druid.yml b/springboot/wumei-admin/src/main/resources/application-druid.yml index ca08ffff..895458e3 100644 --- a/springboot/wumei-admin/src/main/resources/application-druid.yml +++ b/springboot/wumei-admin/src/main/resources/application-druid.yml @@ -8,7 +8,7 @@ spring: master: url: jdbc:mysql://localhost/wumei-smart?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: wumei-smart + password: root # password: 123456 # 从库数据源 slave: diff --git a/springboot/wumei-admin/src/main/resources/application.yml b/springboot/wumei-admin/src/main/resources/application.yml index 2dce8904..a98dd628 100644 --- a/springboot/wumei-admin/src/main/resources/application.yml +++ b/springboot/wumei-admin/src/main/resources/application.yml @@ -9,7 +9,7 @@ ruoyi: # 实例演示开关 demoEnabled: true # 文件路径 示例( Windows配置D:/wumei-smart/uploadPath,Linux配置 /var/wumei-smart/java/uploadPath) - profile: /var/wumei-smart/java/uploadPath + profile: D:/wumei-smart/uploadPath # 获取ip地址开关 addressEnabled: true # 验证码类型 math 数组计算 char 字符验证 diff --git a/vue/package.json b/vue/package.json index 4873dfd0..52e647c6 100644 --- a/vue/package.json +++ b/vue/package.json @@ -39,6 +39,7 @@ "@riophae/vue-treeselect": "0.4.0", "axios": "0.24.0", "clipboard": "2.0.6", + "codemirror": "^5.65.2", "core-js": "3.19.1", "echarts": "^5.3.1", "element-ui": "2.15.6", @@ -48,13 +49,19 @@ "js-beautify": "1.13.0", "js-cookie": "3.0.1", "jsencrypt": "3.2.1", + "jshint": "^2.13.4", + "jsonlint": "^1.6.3", + "less-loader": "^10.2.0", "mqtt": "^4.3.3", "nprogress": "0.2.0", "quill": "^1.3.7", "screenfull": "5.0.2", + "script-loader": "^0.7.2", "sortablejs": "1.10.2", + "sql-formatter": "^4.0.2", "vue": "2.6.12", "vue-clipboard2": "^0.3.3", + "vue-codemirror": "^4.0.6", "vue-count-to": "1.0.13", "vue-cropper": "0.5.5", "vue-json-viewer": "^2.2.21", diff --git a/vue/src/api/iot/emqx.js b/vue/src/api/iot/emqx.js index 6322bd13..027c13b2 100644 --- a/vue/src/api/iot/emqx.js +++ b/vue/src/api/iot/emqx.js @@ -122,3 +122,257 @@ export function getMqttStats() { }, }) } + +//断开客户端连接 +export function eliminateClient(clientId){ + var url = "/api/v4/clients/"+clientId; + return axios({ + method: 'delete', + url: url, + auth: { + username: username, + password: password + }, + }) +} + +//查看客户端详情 +export function getClientDetails(clientId){ + var url = "/api/v4/clients/"+clientId; + return axios({ + method: 'get', + url: url, + auth: { + username: username, + password: password + }, + }) +} + +//查看集群下指定客户端的订阅信息 +export function getSubscriptionsByClientId(clientId){ + var url = "/api/v4/subscriptions/"+clientId; + return axios({ + method: 'get', + url: url, + auth: { + username: username, + password: password + }, + }) +} + +//取消该客户端订阅 +export function unsubscribe(query){ + var url = "/api/v4/mqtt/unsubscribe"; + return axios({ + method: 'post', + url: url, + auth: { + username: username, + password: password + }, + params: query + }) +} + +//添加该客户端订阅 +export function addSubscribe(query){ + var url = "/api/v4/mqtt/subscribe"; + return axios({ + method: 'post', + url: url, + auth: { + username: username, + password: password + }, + params: query + }) +} + +//获取所有规则引擎的动作 +export function getRules(ruleid){ + let url = ""; + if(typeof(ruleid) == 'undefined' || ruleid == '' ||ruleid == null){ + url = "/api/v4/rules"; + }else{ + url = "/api/v4/rules/"+ruleid; + } + return axios({ + method: 'get', + url: url, + auth: { + username: username, + password: password + }, + }) +} + + +//删除规则 +export function deleteRule(ruleid){ + var url = "/api/v4/rules/"+ruleid; + return axios({ + method: 'delete', + url: url, + auth: { + username: username, + password: password + }, + }) +} + + +//获取资源列表或详情 +export function getResources(resourceid){ + let url = ""; + if(typeof(resourceid) == 'undefined' || resourceid == '' ||resourceid == null){ + url = "/api/v4/resources"; + }else{ + url = "/api/v4/resources/"+resourceid; + } + return axios({ + method: 'get', + url: url, + auth: { + username: username, + password: password + }, + }) +} +//获取资源状态 +export function getResourcesStatus(resourceid){ + let url = "/api/v4/resources/"+resourceid; + return axios({ + method: 'get', + url: url, + auth: { + username: username, + password: password + }, + }) +} + +//连接资源 +export function getConnectResource(resourceid){ + let url = "/api/v4/resources/"+resourceid; + return axios({ + method: 'post', + url: url, + auth: { + username: username, + password: password + }, + }) +} + +//删除资源 +export function deleteResource(resourceid){ + let url = "/api/v4/resources/"+resourceid; + return axios({ + method: 'delete', + url: url, + auth: { + username: username, + password: password + }, + }) +} + + +//获取资源类型 +export function getResourcesType(){ + let url = "/api/v4/resource_types"; + return axios({ + method: 'get', + url: url, + auth: { + username: username, + password: password + }, + }) +} + + +//资源测试连接 +export function getResourcesConnect(query){ + let url = "/api/v4/resources?test=true"; + return axios({ + method: 'post', + url: url, + auth: { + username: username, + password: password + }, + data: query + }) +} +//新增资源 +export function saveResources(query){ + let url = "/api/v4/resources"; + return axios({ + method: 'post', + url: url, + auth: { + username: username, + password: password + }, + data: query + }) +} + + + +//获取规则消息类型 +export function getRulesEvent(){ + let url = "/api/v4/rule_events"; + return axios({ + method: 'get', + url: url, + auth: { + username: username, + password: password + }, + }) +} + +//获取响应动作类型 +export function getActionsEvent(){ + let url = "/api/v4/actions"; + return axios({ + method: 'get', + url: url, + auth: { + username: username, + password: password + }, + }) +} + + +//新增规则引擎 +export function saveRule(query){ + let url = "/api/v4/rules"; + return axios({ + method: 'post', + url: url, + auth: { + username: username, + password: password + }, + data: query + }) +} +//测试规则引擎 +export function testConnectRule(query){ + let url = "/api/v4/rules?test=true"; + return axios({ + method: 'post', + url: url, + auth: { + username: username, + password: password + }, + data: query + }) +} diff --git a/vue/src/components/Codemirror/index.vue b/vue/src/components/Codemirror/index.vue new file mode 100644 index 00000000..46610a4e --- /dev/null +++ b/vue/src/components/Codemirror/index.vue @@ -0,0 +1,126 @@ + + + + \ No newline at end of file diff --git a/vue/vue.config.js b/vue/vue.config.js index faba3cb1..90d3199b 100644 --- a/vue/vue.config.js +++ b/vue/vue.config.js @@ -40,7 +40,7 @@ module.exports = { } }, ['/api/v4']: { - target: `http://localhost:8081`, + target: `http://localhost:18083`, changeOrigin: true, // logLevel: 'debug', },