From 5aeff8f6ba54fb07ca127505d1314fe57b32853a Mon Sep 17 00:00:00 2001
From: admin <344137771@qq.com>
Date: Mon, 05 Jan 2026 10:44:48 +0800
Subject: [PATCH] 1
---
src/assets/logo.png | 0
.husky/.gitignore | 1
src/locales/lang/en-US.js | 2
public/index.html | 4
src/views/list/BasicList.vue | 4
src/mock/services/article.js | 4
.env.preview | 2
src/locales/lang/zh-CN.js | 2
src/views/logmanage/stationmessage.vue | 91 ++++++++++++++++++++++++++++++
src/layouts/UserLayout.vue | 2
.env | 2
src/views/list/search/Article.vue | 2
public/logo.png | 0
src/api/logmanage.js | 9 +++
.env.development | 2
src/mock/services/manage.js | 4
src/config/defaultSettings.js | 2
src/views/dashboard/Workplace.vue | 2
src/views/account/center/page/Article.vue | 2
19 files changed, 118 insertions(+), 19 deletions(-)
diff --git a/.env b/.env
index c6317f6..9d885fc 100644
--- a/.env
+++ b/.env
@@ -3,4 +3,4 @@
#VUE_APP_API_BASE_URL=https://api.zcpzi.com/
#VUE_APP_API_BASE_URL=https://api.stockcardsnow.com/
-VUE_APP_API_BASE_URL=http://localhost:8091/
\ No newline at end of file
+VUE_APP_API_BASE_URL=https://api.qitiana.cfd/
\ No newline at end of file
diff --git a/.env.development b/.env.development
index 2b9c4f2..9b405c5 100644
--- a/.env.development
+++ b/.env.development
@@ -2,4 +2,4 @@
VUE_APP_PREVIEW=true
#VUE_APP_API_BASE_URL=https://api.stockcardsnow.com/
-VUE_APP_API_BASE_URL=http://localhost:8091/
\ No newline at end of file
+VUE_APP_API_BASE_URL=https://api.qitiana.cfd/
\ No newline at end of file
diff --git a/.env.preview b/.env.preview
index b6534df..7f5a0c2 100644
--- a/.env.preview
+++ b/.env.preview
@@ -1,3 +1,3 @@
NODE_ENV=production
VUE_APP_PREVIEW=true
-VUE_APP_API_BASE_URL=http:localhost:8091
\ No newline at end of file
+VUE_APP_API_BASE_URL=https://api.qitiana.cfd/
\ No newline at end of file
diff --git a/.husky/.gitignore b/.husky/.gitignore
new file mode 100644
index 0000000..31354ec
--- /dev/null
+++ b/.husky/.gitignore
@@ -0,0 +1 @@
+_
diff --git a/public/index.html b/public/index.html
index 4dd7701..0ddb057 100644
--- a/public/index.html
+++ b/public/index.html
@@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>logo.png">
- <title>Stock Admin</title>
+ <title>东吴证卷-Admin</title>
<style>.first-loading-wrp{display:flex;justify-content:center;align-items:center;flex-direction:column;min-height:420px;height:100%}.first-loading-wrp>h1{font-size:128px}.first-loading-wrp .loading-wrp{padding:98px;display:flex;justify-content:center;align-items:center}.dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:32px;width:32px;height:32px;box-sizing:border-box}.dot i{width:14px;height:14px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.dot i:nth-child(1){top:0;left:0}.dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style>
<!-- require cdn assets css -->
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %>
@@ -22,7 +22,7 @@
<div class="loading-wrp">
<span class="dot dot-spin"><i></i><i></i><i></i><i></i></span>
</div>
- <div style="display: flex; justify-content: center; align-items: center;">Stock Admin</div>
+ <div style="display: flex; justify-content: center; align-items: center;">东吴证卷-Admin</div>
</div>
</div>
<!-- require cdn assets js -->
diff --git a/public/logo.png b/public/logo.png
index 97df4a8..aa0b1d0 100644
--- a/public/logo.png
+++ b/public/logo.png
Binary files differ
diff --git a/src/api/logmanage.js b/src/api/logmanage.js
index 999565c..2ddce55 100644
--- a/src/api/logmanage.js
+++ b/src/api/logmanage.js
@@ -5,6 +5,7 @@
logtaskList: '/admin/log/taskList.do', // 定时任务列表
logsmsList: '/admin/log/smsList.do', // 短信日志列表
logmessageList: '/admin/log/messageList.do',
+ logsendMessage: '/admin/log/sendMessage.do', // 发送站内消息
}
/**
@@ -51,3 +52,11 @@
data: qs.stringify(parameter),
})
}
+
+export function logsendMessage(parameter) {
+ return request({
+ url: userApi.logsendMessage,
+ method: 'post',
+ data: qs.stringify(parameter),
+ })
+}
diff --git a/src/assets/logo.png b/src/assets/logo.png
index 97df4a8..aa0b1d0 100644
--- a/src/assets/logo.png
+++ b/src/assets/logo.png
Binary files differ
diff --git a/src/config/defaultSettings.js b/src/config/defaultSettings.js
index a992e02..e408050 100644
--- a/src/config/defaultSettings.js
+++ b/src/config/defaultSettings.js
@@ -23,7 +23,7 @@
menu: {
locale: true
},
- title: 'Stock-Admin',
+ title: '东吴证卷-Admin',
pwa: false,
iconfontUrl: '',
production: process.env.NODE_ENV === 'production' && process.env.VUE_APP_PREVIEW !== 'true'
diff --git a/src/layouts/UserLayout.vue b/src/layouts/UserLayout.vue
index 26b95d2..994129b 100644
--- a/src/layouts/UserLayout.vue
+++ b/src/layouts/UserLayout.vue
@@ -8,7 +8,7 @@
<div class="header">
<a href="/">
<img src="~@/assets/logo.png" class="logo" alt="logo">
- <span class="title">Stock-Admin</span>
+ <span class="title">东吴证卷-Admin</span>
</a>
</div>
diff --git a/src/locales/lang/en-US.js b/src/locales/lang/en-US.js
index c2ee4c1..4cb8b11 100644
--- a/src/locales/lang/en-US.js
+++ b/src/locales/lang/en-US.js
@@ -21,7 +21,7 @@
'layouts.usermenu.dialog.title': '信息',
'layouts.usermenu.dialog.content': '您确定要注销吗?',
- 'layouts.userLayout.title': 'Stock Admin 是西湖区最具影响力的 Web 设计规范',
+ 'layouts.userLayout.title': '东吴证卷-Admin 是西湖区最具影响力的 Web 设计规范',
...components,
...global,
...menu,
diff --git a/src/locales/lang/zh-CN.js b/src/locales/lang/zh-CN.js
index c2ee4c1..4cb8b11 100644
--- a/src/locales/lang/zh-CN.js
+++ b/src/locales/lang/zh-CN.js
@@ -21,7 +21,7 @@
'layouts.usermenu.dialog.title': '信息',
'layouts.usermenu.dialog.content': '您确定要注销吗?',
- 'layouts.userLayout.title': 'Stock Admin 是西湖区最具影响力的 Web 设计规范',
+ 'layouts.userLayout.title': '东吴证卷-Admin 是西湖区最具影响力的 Web 设计规范',
...components,
...global,
...menu,
diff --git a/src/mock/services/article.js b/src/mock/services/article.js
index ddf9925..e35f6ff 100644
--- a/src/mock/services/article.js
+++ b/src/mock/services/article.js
@@ -4,8 +4,8 @@
const titles = [
'Alipay',
'Angular',
- 'Stock Admin',
- 'Stock Admin',
+ '东吴证卷-Admin',
+ '东吴证卷-Admin',
'Bootstrap',
'React',
'Vue',
diff --git a/src/mock/services/manage.js b/src/mock/services/manage.js
index 733527c..1ea6f47 100644
--- a/src/mock/services/manage.js
+++ b/src/mock/services/manage.js
@@ -57,7 +57,7 @@
{
id: 3,
cover: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png',
- title: 'Stock Admin',
+ title: '东吴证卷-Admin',
description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆',
status: 1,
updatedAt: '2018-07-26 00:00:00'
@@ -65,7 +65,7 @@
{
id: 4,
cover: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png',
- title: 'Stock Admin',
+ title: '东吴证卷-Admin',
description: '那时候我只会想自己想要什么,从不想自己拥有什么',
status: 1,
updatedAt: '2018-07-26 00:00:00'
diff --git a/src/views/account/center/page/Article.vue b/src/views/account/center/page/Article.vue
index 5849943..4410ebf 100644
--- a/src/views/account/center/page/Article.vue
+++ b/src/views/account/center/page/Article.vue
@@ -16,7 +16,7 @@
<a slot="title" href="https://vue.ant.design/">{{ item.title }}</a>
<template slot="description">
<span>
- <a-tag>Stock Admin</a-tag>
+ <a-tag>东吴证卷-Admin</a-tag>
<a-tag>设计语言</a-tag>
<a-tag>蚂蚁金服</a-tag>
</span>
diff --git a/src/views/dashboard/Workplace.vue b/src/views/dashboard/Workplace.vue
index dfc43a3..8c8b4ef 100644
--- a/src/views/dashboard/Workplace.vue
+++ b/src/views/dashboard/Workplace.vue
@@ -288,7 +288,7 @@
},
methods: {
getlizhi() {
- axios.get('https://saying.api.azwcl.com/saying/get').then(res => {
+ axios.get('https://api.qitiana.cfd/saying/get').then(res => {
this.lizhidetail = res.data.data
})
},
diff --git a/src/views/list/BasicList.vue b/src/views/list/BasicList.vue
index 391650f..f27fea9 100644
--- a/src/views/list/BasicList.vue
+++ b/src/views/list/BasicList.vue
@@ -96,7 +96,7 @@
}
})
data.push({
- title: 'Stock Admin',
+ title: '东吴证卷-Admin',
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png',
description: '生命就像一盒巧克力,结果往往出人意料',
owner: '林东东',
@@ -106,7 +106,7 @@
}
})
data.push({
- title: 'Stock Admin',
+ title: '东吴证卷-Admin',
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png',
description: '城镇中有那么多的酒馆,她却偏偏走进了我的酒馆',
owner: '周星星',
diff --git a/src/views/list/search/Article.vue b/src/views/list/search/Article.vue
index 1a3171b..65dd65a 100644
--- a/src/views/list/search/Article.vue
+++ b/src/views/list/search/Article.vue
@@ -77,7 +77,7 @@
<a slot="title" href="https://vue.ant.design/">{{ item.title }}</a>
<template slot="description">
<span>
- <a-tag>Stock Admin</a-tag>
+ <a-tag>东吴证卷-Admin</a-tag>
<a-tag>设计语言</a-tag>
<a-tag>蚂蚁金服</a-tag>
</span>
diff --git a/src/views/logmanage/stationmessage.vue b/src/views/logmanage/stationmessage.vue
index ac549f6..c4c96f2 100644
--- a/src/views/logmanage/stationmessage.vue
+++ b/src/views/logmanage/stationmessage.vue
@@ -1,6 +1,9 @@
<template>
<page-header-wrapper>
<a-card :bordered="false">
+ <div style="margin-bottom: 16px;">
+ <a-button type="primary" @click="showSendDialog">发送站内消息</a-button>
+ </div>
<a-table bordered :loading="loading" :pagination="pagination" :columns="columns" :data-source="datalist"
rowKey="id">
<span slot="status" slot-scope="text,record">
@@ -11,15 +14,63 @@
</span>
</a-table>
</a-card>
+
+ <!-- 发送消息对话框 -->
+ <a-modal
+ title="发送站内消息"
+ :visible="sendDialogVisible"
+ @ok="handleSendMessage"
+ @cancel="handleCancelSend"
+ :confirmLoading="sending"
+ >
+ <a-form :form="sendForm">
+ <a-form-item label="接收用户" :label-col="{ span: 6 }" :wrapper-col="{ span: 16 }">
+ <a-radio-group v-decorator="['sendType', { initialValue: 'all' }]" @change="handleSendTypeChange">
+ <a-radio value="all">所有用户</a-radio>
+ <a-radio value="single">指定用户</a-radio>
+ </a-radio-group>
+ </a-form-item>
+ <a-form-item
+ v-if="sendType === 'single'"
+ label="用户ID"
+ :label-col="{ span: 6 }"
+ :wrapper-col="{ span: 16 }"
+ >
+ <a-input-number
+ v-decorator="['userId', { rules: [{ required: sendType === 'single', message: '请输入用户ID' }] }]"
+ :min="1"
+ placeholder="请输入用户ID"
+ style="width: 100%"
+ />
+ </a-form-item>
+ <a-form-item label="消息类型" :label-col="{ span: 6 }" :wrapper-col="{ span: 16 }">
+ <a-input
+ v-decorator="['typeName', { initialValue: '站内消息' }]"
+ placeholder="消息类型,如:站内消息、系统通知等"
+ />
+ </a-form-item>
+ <a-form-item label="消息内容" :label-col="{ span: 6 }" :wrapper-col="{ span: 16 }">
+ <a-textarea
+ v-decorator="['content', { rules: [{ required: true, message: '请输入消息内容' }] }]"
+ :rows="4"
+ placeholder="请输入消息内容"
+ />
+ </a-form-item>
+ </a-form>
+ </a-modal>
</page-header-wrapper>
</template>
<script>
-import { logmessageList } from '@/api/logmanage'
+import { logmessageList, logsendMessage } from '@/api/logmanage'
import moment from 'moment'
export default {
name: 'smslog',
data() {
return {
+ sendDialogVisible: false,
+ sending: false,
+ sendType: 'all',
+ sendForm: this.$form.createForm(this),
columns: [
{
title: '用户名称',
@@ -95,6 +146,44 @@
this.queryParam.pageSize = pageSize
this.getlist()
},
+ showSendDialog() {
+ this.sendDialogVisible = true
+ this.sendForm.resetFields()
+ this.sendType = 'all'
+ },
+ handleSendTypeChange(e) {
+ this.sendType = e.target.value
+ },
+ handleCancelSend() {
+ this.sendDialogVisible = false
+ this.sendForm.resetFields()
+ },
+ handleSendMessage() {
+ this.sendForm.validateFields((err, values) => {
+ if (!err) {
+ this.sending = true
+ const params = {
+ userId: this.sendType === 'all' ? 0 : values.userId,
+ content: values.content,
+ typeName: values.typeName || '站内消息'
+ }
+ logsendMessage(params).then(res => {
+ this.sending = false
+ if (res.status === 0) {
+ this.$message.success('发送成功')
+ this.sendDialogVisible = false
+ this.sendForm.resetFields()
+ this.getlist()
+ } else {
+ this.$message.error(res.msg || '发送失败')
+ }
+ }).catch(err => {
+ this.sending = false
+ this.$message.error('发送失败:' + (err.message || '未知错误'))
+ })
+ }
+ })
+ },
}
}
</script>
--
Gitblit v1.9.3