!115 czh-20260725-更新测试页面为sendBatch风格
* czh-20260725-更新测试页面为sendBatch风格 * czh-20260724-增补意见即时通推送前端回显
This commit is contained in:
@@ -4,8 +4,8 @@
|
|||||||
<a-form :label-col="{ span: 4 }" :wrapper-col="{ span: 18 }">
|
<a-form :label-col="{ span: 4 }" :wrapper-col="{ span: 18 }">
|
||||||
<a-divider orientation="left">即时通连接配置</a-divider>
|
<a-divider orientation="left">即时通连接配置</a-divider>
|
||||||
<a-form-item label="API 地址(host)">
|
<a-form-item label="API 地址(host)">
|
||||||
<a-input v-model:value="formData.host" placeholder="http://localhost:17072" />
|
<a-input v-model:value="formData.host" placeholder="http://localhost:19010" />
|
||||||
<span style="color: #8c8c8c; font-size: 12px; margin-left: 8px">即时通服务器地址,含端口号</span>
|
<span style="color: #8c8c8c; font-size: 12px; margin-left: 8px">即时通 sendBatch 接口地址,含端口号</span>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="应用ID(appId)">
|
<a-form-item label="应用ID(appId)">
|
||||||
<a-input v-model:value="formData.appId" placeholder="test-app" />
|
<a-input v-model:value="formData.appId" placeholder="test-app" />
|
||||||
@@ -16,18 +16,18 @@
|
|||||||
|
|
||||||
<a-divider orientation="left">消息内容</a-divider>
|
<a-divider orientation="left">消息内容</a-divider>
|
||||||
<a-form-item label="用户标识类型">
|
<a-form-item label="用户标识类型">
|
||||||
<a-input v-model:value="formData.toUserKeyType" placeholder="Email" />
|
<a-input v-model:value="formData.toUserKeyType" placeholder="Account" />
|
||||||
<span style="color: #8c8c8c; font-size: 12px; margin-left: 8px">如 Email、Phone 等,对应即时通用户关联类型</span>
|
<span style="color: #8c8c8c; font-size: 12px; margin-left: 8px">Account(工号)/ Email 等,对应即时通用户标识类型</span>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="用户标识值(批量)">
|
<a-form-item label="用户标识值(批量)">
|
||||||
<a-input v-model:value="formData.toUserValueList" placeholder="user1@x.com, user2@x.com" />
|
<a-input v-model:value="formData.toUserValueList" placeholder="sld_01, bgs_02" />
|
||||||
<span style="color: #8c8c8c; font-size: 12px; margin-left: 8px">逗号分隔,支持单个或多个接收人</span>
|
<span style="color: #8c8c8c; font-size: 12px; margin-left: 8px">逗号分隔多个接收人工号(sendBatch)</span>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="消息标题">
|
<a-form-item label="消息标题">
|
||||||
<a-input v-model:value="formData.title" placeholder="测试消息标题" />
|
<a-input v-model:value="formData.title" placeholder="批量推送消息标题" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="消息内容">
|
<a-form-item label="消息内容">
|
||||||
<a-textarea v-model:value="formData.content" placeholder="测试消息正文" :rows="3" />
|
<a-textarea v-model:value="formData.content" placeholder="批量推送消息正文" :rows="3" />
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
<a-form-item label="链接地址(可选)">
|
<a-form-item label="链接地址(可选)">
|
||||||
<a-input v-model:value="formData.linkUrl" placeholder="http://localhost:3100/semri/task" />
|
<a-input v-model:value="formData.linkUrl" placeholder="http://localhost:3100/semri/task" />
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
</a-form>
|
</a-form>
|
||||||
</a-card>
|
</a-card>
|
||||||
|
|
||||||
<a-card title="完整请求(Request)" style="margin-bottom: 16px">
|
<a-card title="发送请求(sendBatch)" style="margin-bottom: 16px">
|
||||||
<a-descriptions :column="1" size="small" bordered>
|
<a-descriptions :column="1" size="small" bordered>
|
||||||
<a-descriptions-item label="Token 请求 URL">
|
<a-descriptions-item label="Token 请求 URL">
|
||||||
<code>{{ requestInfo.tokenRequestUrl || '(未发送)' }}</code>
|
<code>{{ requestInfo.tokenRequestUrl || '(未发送)' }}</code>
|
||||||
@@ -70,16 +70,16 @@
|
|||||||
<a-descriptions-item label="Token 请求体">
|
<a-descriptions-item label="Token 请求体">
|
||||||
<pre class="json-block">{{ formatJson(requestInfo.tokenRequestBody) }}</pre>
|
<pre class="json-block">{{ formatJson(requestInfo.tokenRequestBody) }}</pre>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="消息请求 URL">
|
<a-descriptions-item label="sendBatch 请求 URL">
|
||||||
<code>{{ requestInfo.msgRequestUrl || '(未发送)' }}</code>
|
<code>{{ requestInfo.msgRequestUrl || '(未发送)' }}</code>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="消息请求体">
|
<a-descriptions-item label="sendBatch 请求体">
|
||||||
<pre class="json-block">{{ formatJson(requestInfo.msgRequestBody) }}</pre>
|
<pre class="json-block">{{ formatJson(requestInfo.msgRequestBody) }}</pre>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
</a-descriptions>
|
</a-descriptions>
|
||||||
</a-card>
|
</a-card>
|
||||||
|
|
||||||
<a-card title="完整响应(Response)" style="margin-bottom: 16px">
|
<a-card title="发送响应(Response)" style="margin-bottom: 16px">
|
||||||
<a-space direction="vertical" style="width: 100%">
|
<a-space direction="vertical" style="width: 100%">
|
||||||
<div v-if="responseInfo.success === true" style="margin-bottom: 8px">
|
<div v-if="responseInfo.success === true" style="margin-bottom: 8px">
|
||||||
<a-tag color="green">发送成功</a-tag>
|
<a-tag color="green">发送成功</a-tag>
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
<a-descriptions-item label="Token 响应">
|
<a-descriptions-item label="Token 响应">
|
||||||
<pre class="json-block">{{ formatJson(responseInfo.tokenResponse) }}</pre>
|
<pre class="json-block">{{ formatJson(responseInfo.tokenResponse) }}</pre>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="消息响应">
|
<a-descriptions-item label="sendBatch 响应">
|
||||||
<pre class="json-block">{{ formatJson(responseInfo.msgResponse) }}</pre>
|
<pre class="json-block">{{ formatJson(responseInfo.msgResponse) }}</pre>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="状态码">
|
<a-descriptions-item label="状态码">
|
||||||
@@ -124,7 +124,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { ref, reactive } from 'vue';
|
import { ref, reactive, onMounted } from 'vue';
|
||||||
import { defHttp } from '/@/utils/http/axios';
|
import { defHttp } from '/@/utils/http/axios';
|
||||||
|
|
||||||
const sending = ref(false);
|
const sending = ref(false);
|
||||||
@@ -134,10 +134,10 @@ const formData = reactive({
|
|||||||
host: 'http://localhost:19010',
|
host: 'http://localhost:19010',
|
||||||
appId: 'test-app',
|
appId: 'test-app',
|
||||||
appSecret: 'test-secret',
|
appSecret: 'test-secret',
|
||||||
toUserKeyType: 'Email',
|
toUserKeyType: 'Account',
|
||||||
toUserValueList: 'test@example.com',
|
toUserValueList: 'test_user_01, test_user_02',
|
||||||
title: '测试消息',
|
title: '批量推送测试消息',
|
||||||
content: '这是一条来自督办系统的测试消息',
|
content: '这是一条来自督办系统的 sendBatch 测试消息',
|
||||||
linkUrl: '',
|
linkUrl: '',
|
||||||
linkTitle: '',
|
linkTitle: '',
|
||||||
linkOpenMode: 'Exe',
|
linkOpenMode: 'Exe',
|
||||||
@@ -168,16 +168,16 @@ function handleFillMock() {
|
|||||||
formData.host = 'http://localhost:19010';
|
formData.host = 'http://localhost:19010';
|
||||||
formData.appId = 'test-app';
|
formData.appId = 'test-app';
|
||||||
formData.appSecret = 'test-secret';
|
formData.appSecret = 'test-secret';
|
||||||
formData.toUserKeyType = 'Email';
|
formData.toUserKeyType = 'Account';
|
||||||
formData.toUserValueList = 'test@example.com';
|
formData.toUserValueList = 'test_user_01, test_user_02';
|
||||||
formData.title = '测试消息';
|
formData.title = '批量推送测试消息';
|
||||||
formData.content = '这是一条来自督办系统的测试消息';
|
formData.content = '这是一条来自督办系统的 sendBatch 测试消息';
|
||||||
formData.linkUrl = '';
|
formData.linkUrl = '';
|
||||||
formData.linkTitle = '';
|
formData.linkTitle = '';
|
||||||
formData.linkOpenMode = 'Exe';
|
formData.linkOpenMode = 'Exe';
|
||||||
formData.dataFormat = 'JsonListView';
|
formData.dataFormat = 'JsonListView';
|
||||||
formData.data = '';
|
formData.data = '';
|
||||||
addLog('info', '已填充 Mock 默认值');
|
addLog('info', '已填充 Mock 默认值(sendBatch)');
|
||||||
}
|
}
|
||||||
|
|
||||||
async function handleSend() {
|
async function handleSend() {
|
||||||
@@ -191,11 +191,10 @@ async function handleSend() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
sending.value = true;
|
sending.value = true;
|
||||||
addLog('info', `开始批量发送消息 → ${formData.host}`);
|
addLog('info', `开始 sendBatch → ${formData.host}`);
|
||||||
|
|
||||||
// 清空上次结果
|
// 清空上次结果
|
||||||
Object.keys(requestInfo).forEach(k => delete requestInfo[k]);
|
clearDisplayData();
|
||||||
Object.keys(responseInfo).forEach(k => delete responseInfo[k]);
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const res = await defHttp.post({
|
const res = await defHttp.post({
|
||||||
@@ -235,20 +234,33 @@ function handleReset() {
|
|||||||
formData.host = 'http://localhost:19010';
|
formData.host = 'http://localhost:19010';
|
||||||
formData.appId = 'test-app';
|
formData.appId = 'test-app';
|
||||||
formData.appSecret = 'test-secret';
|
formData.appSecret = 'test-secret';
|
||||||
formData.toUserKeyType = 'Email';
|
formData.toUserKeyType = 'Account';
|
||||||
formData.toUserValueList = 'test@example.com';
|
formData.toUserValueList = 'test_user_01, test_user_02';
|
||||||
formData.title = '测试消息';
|
formData.title = '批量推送测试消息';
|
||||||
formData.content = '这是一条来自督办系统的测试消息';
|
formData.content = '这是一条来自督办系统的 sendBatch 测试消息';
|
||||||
formData.linkUrl = '';
|
formData.linkUrl = '';
|
||||||
formData.linkTitle = '';
|
formData.linkTitle = '';
|
||||||
formData.linkOpenMode = 'Exe';
|
formData.linkOpenMode = 'Exe';
|
||||||
formData.dataFormat = 'JsonListView';
|
formData.dataFormat = 'JsonListView';
|
||||||
formData.data = '';
|
formData.data = '';
|
||||||
Object.keys(requestInfo).forEach(k => delete requestInfo[k]);
|
clearDisplayData();
|
||||||
Object.keys(responseInfo).forEach(k => delete responseInfo[k]);
|
|
||||||
eventLogs.value = [];
|
eventLogs.value = [];
|
||||||
addLog('info', '表单已重置');
|
addLog('info', '表单已重置');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
clearDisplayData();
|
||||||
|
eventLogs.value = [];
|
||||||
|
});
|
||||||
|
|
||||||
|
function clearDisplayData() {
|
||||||
|
Object.keys(requestInfo).forEach(k => delete requestInfo[k]);
|
||||||
|
Object.keys(responseInfo).forEach(k => delete responseInfo[k]);
|
||||||
|
responseInfo.success = undefined;
|
||||||
|
responseInfo.messageId = undefined;
|
||||||
|
responseInfo.errorMessage = undefined;
|
||||||
|
responseInfo.responseCode = undefined;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user