From 722409056e18afcb76ab3a77f4ad6d4a3df0dba2 Mon Sep 17 00:00:00 2001 From: hucan <951870319@qq.com> Date: Tue, 15 Jul 2025 16:42:03 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E6=B6=88=E6=81=AF=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 4 +- .env.production | 2 + package.json | 4 +- src/api/admin/mm-alarm-log.js | 55 ++++ src/api/admin/mm-wallet-white-list.js | 53 +++ src/assets/tiktok/sisfus.mp3 | Bin 0 -> 21732 bytes src/layout/index.vue | 168 +++++++--- src/utils/permisaction.js | 24 ++ src/views/admin/mm-alarm-log/index.vue | 306 ++++++++++++++++++ .../admin/mm-wallet-white-list/batch-add.vue | 71 ++++ .../admin/mm-wallet-white-list/index.vue | 292 +++++++++++++++++ src/views/dashboard/index.vue | 8 +- 12 files changed, 939 insertions(+), 48 deletions(-) create mode 100644 src/api/admin/mm-alarm-log.js create mode 100644 src/api/admin/mm-wallet-white-list.js create mode 100644 src/assets/tiktok/sisfus.mp3 create mode 100644 src/utils/permisaction.js create mode 100644 src/views/admin/mm-alarm-log/index.vue create mode 100644 src/views/admin/mm-wallet-white-list/batch-add.vue create mode 100644 src/views/admin/mm-wallet-white-list/index.vue diff --git a/.env.development b/.env.development index 3906522..99def1e 100644 --- a/.env.development +++ b/.env.development @@ -2,5 +2,7 @@ ENV = 'development' # base api -VUE_APP_BASE_API = 'http://192.168.2.102:8000' +VUE_APP_BASE_API = 'http://192.168.2.22:8001' +#websocket url +VUE_APP_WEBSOCKET_URL = '192.168.2.22:8001' diff --git a/.env.production b/.env.production index 8994f69..2d988d4 100644 --- a/.env.production +++ b/.env.production @@ -4,3 +4,5 @@ ENV = 'production' # base api VUE_APP_BASE_API = '' +#websocket url +VUE_APP_WEBSOCKET_URL = 'sys.systemcd.org' diff --git a/package.json b/package.json index ed59dc3..7361a69 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "author": "https://github.com/wenjianzhang", "license": "MIT", "scripts": { - "dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve", - "build:prod": "set NODE_OPTIONS=--openssl-legacy-provider &&vue-cli-service build", + "dev": " vue-cli-service serve", + "build:prod": "vue-cli-service build", "build:stage": "vue-cli-service build --mode staging", "preview": "node build/index.js --preview", "lint": "eslint --ext .js,.vue src", diff --git a/src/api/admin/mm-alarm-log.js b/src/api/admin/mm-alarm-log.js new file mode 100644 index 0000000..e9e63a8 --- /dev/null +++ b/src/api/admin/mm-alarm-log.js @@ -0,0 +1,55 @@ +import request from '@/utils/request' + +// 查询MmAlarmLog列表 +export function listMmAlarmLog(query) { + return request({ + url: '/api/v1/mm-alarm-log', + method: 'get', + params: query + }) +} + +// 查询MmAlarmLog详细 +export function getMmAlarmLog (id) { + return request({ + url: '/api/v1/mm-alarm-log/' + id, + method: 'get' + }) +} + + +// 新增MmAlarmLog +export function addMmAlarmLog(data) { + return request({ + url: '/api/v1/mm-alarm-log', + method: 'post', + data: data + }) +} + +// 修改MmAlarmLog +export function updateMmAlarmLog(data) { + return request({ + url: '/api/v1/mm-alarm-log/'+data.id, + method: 'put', + data: data + }) +} + +// 删除MmAlarmLog +export function delMmAlarmLog(data) { + return request({ + url: '/api/v1/mm-alarm-log', + method: 'delete', + data: data + }) +} + +// 清空MmAlarmLog +export function clearAllAlarmLog() { + return request({ + url: '/api/v1/mm-alarm-log/clear-all', + method: 'delete' + }) +} + diff --git a/src/api/admin/mm-wallet-white-list.js b/src/api/admin/mm-wallet-white-list.js new file mode 100644 index 0000000..1fbceec --- /dev/null +++ b/src/api/admin/mm-wallet-white-list.js @@ -0,0 +1,53 @@ +import request from "@/utils/request"; + +// 查询MmWalletWhiteList列表 +export function listMmWalletWhiteList(query) { + return request({ + url: "/api/v1/mm-wallet-white-list", + method: "get", + params: query, + }); +} + +// 查询MmWalletWhiteList详细 +export function getMmWalletWhiteList(id) { + return request({ + url: "/api/v1/mm-wallet-white-list/" + id, + method: "get", + }); +} + +// 新增MmWalletWhiteList +export function addMmWalletWhiteList(data) { + return request({ + url: "/api/v1/mm-wallet-white-list", + method: "post", + data: data, + }); +} + +// 修改MmWalletWhiteList +export function updateMmWalletWhiteList(data) { + return request({ + url: "/api/v1/mm-wallet-white-list/" + data.id, + method: "put", + data: data, + }); +} + +// 删除MmWalletWhiteList +export function delMmWalletWhiteList(data) { + return request({ + url: "/api/v1/mm-wallet-white-list", + method: "delete", + data: data, + }); +} + +export function batchInsertMmWalletWhiteList(data) { + return request({ + url: "/api/v1/mm-wallet-white-list/batch", + method: "post", + data: data, + }); +} diff --git a/src/assets/tiktok/sisfus.mp3 b/src/assets/tiktok/sisfus.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c73e7624888780292d50f9dfd782da52d16598b9 GIT binary patch literal 21732 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 K@8N%E2mTM60B^ -
-
- -
-
+
+
+ +
+
@@ -21,6 +22,8 @@ import { AppMain, Navbar, Settings, Sidebar, TagsView } from './components' import ResizeMixin from './mixin/ResizeHandler' import { mapState } from 'vuex' import variables from '@/styles/variables.scss' +import dingSound from '@/assets/tiktok/sisfus.mp3' +import checkPermisAction from '@/utils/permisaction' export default { name: 'Layout', @@ -32,6 +35,11 @@ export default { Sidebar, TagsView }, + data() { + return { + voice: null, + } + }, mixins: [ResizeMixin], computed: { ...mapState({ @@ -53,7 +61,89 @@ export default { return variables } }, + + created() { + // if (!this.roles.includes('admin')) { + // this.currentRole = 'editorDashboard' + // } + + if (checkPermisAction(['admin:mmAlarmLog:notice'])) { + this.$confirm('是否接收警告?', '提示', { + distinguishCancelAndClose: true, + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + this.voice = new Audio(dingSound) + + this.initWebSocket() + }).catch(() => { + console.log('取消') + }); + } + }, + destroyed() { + console.log('断开websocket连接') + this.websock.close() // 离开路由之后断开websocket连接 + // unWsLogout(this.id, this.group).then(response => { + // console.log(response.data) + // } + // ) + }, methods: { + checkPermisAction, + initWebSocket() { // 初始化weosocket + const wsuri = `ws://${process.env.VUE_APP_WEBSOCKET_URL}/ws?token=${this.$store.state.user.token}` + + this.websock = new WebSocket(wsuri) + this.websock.onmessage = this.websocketonmessage + this.websock.onopen = this.websocketonopen + this.websock.onerror = this.websocketonerror + this.websock.onclose = this.websocketclose + }, + websocketonopen() { // 连接建立之后执行send方法发送数据 + console.log('ws连接打开') + // const actions = { 'test': '12345' } + // this.websocketsend(JSON.stringify(actions)) + }, + websocketonerror() { // 连接建立失败重连 + this.initWebSocket() + }, + websocketonmessage(e) { // 数据接收 + console.log("ws:", e.data) + try { + let data = JSON.parse(e.data) + + this.$notify({ + title: '钱包警告', + dangerouslyUseHTMLString: true, + message: `

设备id:${data.machineId}

设备码:${data.biosId}

内容:${data.content}

`, + type: 'warning', + duration: 0 + }); + + this.playVoice("钱包告警") + } catch (err) { + console.log("接收websocket数据失败:", err) + } + }, + + playVoice(text) { + + this.voice.play().catch(err => { + console.error('音频播放失败:', err) + }) + }, + websocketsend(Data) { // 数据发送 + // this.websock.send(Data) + }, + websocketclose(e) { // 关闭 + // unWsLogout(this.id, this.group).then(response => { + // console.log(response.data) + // } + // ) + // console.log('断开连接', e) + }, handleClickOutside() { this.$store.dispatch('app/closeSideBar', { withoutAnimation: false }) } @@ -62,45 +152,45 @@ export default { diff --git a/src/utils/permisaction.js b/src/utils/permisaction.js new file mode 100644 index 0000000..ff9b77c --- /dev/null +++ b/src/utils/permisaction.js @@ -0,0 +1,24 @@ +import store from '@/store' + +/** + * @param {Array} value + * @returns {Boolean} + * @example see @/views/permission/directive.vue + */ +export default function checkPermisAction(value) { + if (value && value instanceof Array && value.length > 0) { + const all_permission = '*:*:*' + const permissions = store.getters && store.getters.permisaction + const permissionFlag = value + + const hasPermissions = permissions.some((permission) => { + return ( + all_permission === permission || permissionFlag.includes(permission) + ) + }) + + return hasPermissions + } else { + throw new Error(`请设置操作权限标签值`) + } +} diff --git a/src/views/admin/mm-alarm-log/index.vue b/src/views/admin/mm-alarm-log/index.vue new file mode 100644 index 0000000..96cecfa --- /dev/null +++ b/src/views/admin/mm-alarm-log/index.vue @@ -0,0 +1,306 @@ + + + diff --git a/src/views/admin/mm-wallet-white-list/batch-add.vue b/src/views/admin/mm-wallet-white-list/batch-add.vue new file mode 100644 index 0000000..7572a7d --- /dev/null +++ b/src/views/admin/mm-wallet-white-list/batch-add.vue @@ -0,0 +1,71 @@ + + + \ No newline at end of file diff --git a/src/views/admin/mm-wallet-white-list/index.vue b/src/views/admin/mm-wallet-white-list/index.vue new file mode 100644 index 0000000..9cb9b86 --- /dev/null +++ b/src/views/admin/mm-wallet-white-list/index.vue @@ -0,0 +1,292 @@ + + + diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue index 3592e88..cb61bc4 100644 --- a/src/views/dashboard/index.vue +++ b/src/views/dashboard/index.vue @@ -14,7 +14,8 @@ export default { components: { adminDashboard, editorDashboard }, data() { return { - currentRole: 'adminDashboard' + currentRole: 'adminDashboard', + // websock: null } }, computed: { @@ -22,10 +23,5 @@ export default { 'roles' ]) }, - created() { - // if (!this.roles.includes('admin')) { - // this.currentRole = 'editorDashboard' - // } - } }