消息日志增加事件筛选和推送内容查询功能

master
李春波 1 year ago
parent 4a3601d744
commit 5bd17eabc3
  1. 10
      app/admin/controller/MessageController.php
  2. 6
      app/admin/model/WxcallbackBiz.php
  3. 5
      app/admin/model/WxcallbackComponent.php
  4. 1
      app/common/model/WxcallbackBiz.php
  5. 1
      app/common/model/WxcallbackComponent.php
  6. 20
      front/src/api/message.js
  7. 22
      front/src/views/message/modules/authorizer.vue
  8. 17
      front/src/views/message/modules/event.vue

@ -30,4 +30,14 @@ class MessageController extends BaseController
{
return success(WxcallbackForward::list($request));
}
public function InfoType(Request $request)
{
return success(WxcallbackComponent::infoType($request));
}
public function EventType(Request $request)
{
return success(WxcallbackBiz::eventType($request));
}
}

@ -26,4 +26,10 @@ class WxcallbackBiz extends WxcallbackBiztModel
'list_rows' => $params['page_size']
])->toArray();
}
public static function eventType()
{
return (new static())->group('event')->column('event');
}
}

@ -26,4 +26,9 @@ class WxcallbackComponent extends WxcallbackComponentModel
'list_rows' => $params['page_size']
])->toArray();
}
public static function infoType()
{
return (new static())->group('infotype')->column('infotype');
}
}

@ -11,6 +11,7 @@ class WxcallbackBiz extends BaseModel
['key' => 'appid', 'name' => 'appid'],
['key' => 'msgtype', 'name' => 'msgtype'],
['key' => 'event', 'name' => 'event'],
['key' => 'postbody', 'name' => 'postbody', 'where' => 'like'],
['key' => 'receivetime', 'name' => 'receivetime', 'where' => 'time_range'],
];
protected $table = 'wxcallback_biz';

@ -10,6 +10,7 @@ class WxcallbackComponent extends BaseModel
static protected array $column = [
['key' => 'appid', 'name' => 'appid'],
['key' => 'infotype', 'name' => 'infotype'],
['key' => 'postbody', 'name' => 'postbody', 'where' => 'like'],
['key' => 'receivetime', 'name' => 'receivetime', 'where' => 'time_range'],
];
protected $table = 'wxcallback_component';

@ -4,6 +4,8 @@ const api = {
Authorizer: '/message/list',
Event: '/message/EventList',
Forward: '/message/Forward',
InfoType: '/message/InfoType',
EventType: '/message/EventType',
}
export function getAuthorizerMessage(parameter) {
@ -29,3 +31,21 @@ export function getForwardMessage(parameter) {
data: parameter
})
}
export function getInfoTypeMessage(parameter) {
return request({
url: api.InfoType,
method: 'post',
data: parameter
})
}
export function getEventTypeMessage(parameter) {
return request({
url: api.EventType,
method: 'post',
data: parameter
})
}

@ -3,16 +3,25 @@
<div class="table-page-search-wrapper">
<a-form layout="inline">
<a-row :gutter="48">
<a-col :md="6" :sm="24">
<a-col :md="7" :sm="24">
<a-form-item label="appid">
<a-input v-model="queryParam.appid" placeholder=""/>
</a-form-item>
</a-col>
<a-col :md="6" :sm="24">
<a-col :md="7" :sm="24">
<a-form-item label="InfoType">
<a-input v-model="queryParam.infotype" placeholder=""/>
<a-select v-model="queryParam.infotype" placeholder="" allow-clear>>
<a-select-option v-for="(item) in this.infotype" :value=item>{{ item }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="7" :sm="24">
<a-form-item label="推送内容">
<a-input v-model="queryParam.postbody" placeholder=""/>
</a-form-item>
</a-col>
</a-row>
<a-row :gutter="48">
<a-col :md="8" :sm="24">
<a-form-item label="时间">
<a-range-picker
@ -52,7 +61,7 @@
<script>
import {Ellipsis, STable} from '@/components'
import {getAuthorizerMessage} from '@/api/message'
import {getAuthorizerMessage, getInfoTypeMessage} from '@/api/message'
import Vue from 'vue';
import VueClipboard from 'vue-clipboard2';
import Message from "ant-design-vue/lib/message";
@ -96,6 +105,8 @@ export default {
return {
// create model
columns: columns,
// infotype
infotype: null,
//
queryParam: {},
// Promise
@ -109,6 +120,9 @@ export default {
}
},
created() {
getInfoTypeMessage().then(res => {
this.infotype = res.data
})
},
computed: {},
methods: {

@ -9,13 +9,15 @@
</a-form-item>
</a-col>
<a-col :md="4" :sm="24">
<a-form-item label="InfoType">
<a-input v-model="queryParam.infotype" placeholder=""/>
<a-form-item label="Event">
<a-select v-model="queryParam.event" placeholder="" allow-clear>>
<a-select-option v-for="(item) in this.eventType" :value=item>{{ item }}</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="4" :sm="24">
<a-form-item label="Event">
<a-input v-model="queryParam.event" placeholder=""/>
<a-form-item label="推送内容">
<a-input v-model="queryParam.postbody" placeholder=""/>
</a-form-item>
</a-col>
<a-col :md="8" :sm="24">
@ -57,7 +59,7 @@
<script>
import {Ellipsis, STable} from '@/components'
import {getEventMessage} from '@/api/message'
import {getEventMessage, getEventTypeMessage} from '@/api/message'
import Vue from 'vue';
import VueClipboard from 'vue-clipboard2';
import Message from "ant-design-vue/lib/message";
@ -100,6 +102,7 @@ export default {
data() {
return {
columns: columns,
eventType: null,
//
queryParam: {},
// Promise
@ -113,6 +116,10 @@ export default {
}
},
created() {
getEventTypeMessage().then(res => {
this.eventType = res.data
console.log(res)
})
},
computed: {},
methods: {

Loading…
Cancel
Save