Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8f2d384f4 | ||
|
|
28f08085ee | ||
|
|
d802cbd6ca | ||
|
|
5b187ff026 | ||
|
|
e1c2eb78aa |
17
app/group.go
17
app/group.go
@@ -25,6 +25,19 @@ func GetGroupUsers(ctx *gin.Context) {
|
|||||||
ctx.String(http.StatusInternalServerError, "查询失败: %s", err.Error())
|
ctx.String(http.StatusInternalServerError, "查询失败: %s", err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// 暂时先就这样写着,跑通了再改
|
|
||||||
ctx.JSON(http.StatusOK, records)
|
result := map[string]any{
|
||||||
|
"records": records,
|
||||||
|
}
|
||||||
|
// 循环数据,统计健在成员
|
||||||
|
var isOkCount int
|
||||||
|
for _, record := range records {
|
||||||
|
if record.IsMember {
|
||||||
|
isOkCount++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
result["isOkCount"] = isOkCount
|
||||||
|
|
||||||
|
// 暂时先就这样写着,跑通了再改
|
||||||
|
ctx.JSON(http.StatusOK, result)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,10 @@ func Plugin() {
|
|||||||
dispatcher.RegisterHandler(func(m *dto.Message) bool {
|
dispatcher.RegisterHandler(func(m *dto.Message) bool {
|
||||||
return m.Type == types.MsgTypeSys
|
return m.Type == types.MsgTypeSys
|
||||||
}, plugins.NotifyRemoveFromChatroom)
|
}, plugins.NotifyRemoveFromChatroom)
|
||||||
|
// 响应好友添加成功消息
|
||||||
|
dispatcher.RegisterHandler(func(m *dto.Message) bool {
|
||||||
|
return m.Type == types.MsgTypeSys
|
||||||
|
}, plugins.ReplyNewFriend)
|
||||||
|
|
||||||
// 私聊指令消息
|
// 私聊指令消息
|
||||||
dispatcher.RegisterHandler(func(m *dto.Message) bool {
|
dispatcher.RegisterHandler(func(m *dto.Message) bool {
|
||||||
|
|||||||
18
plugin/plugins/systemmessgae.go
Normal file
18
plugin/plugins/systemmessgae.go
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
package plugins
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go-wechat/plugin"
|
||||||
|
"go-wechat/utils"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ReplyNewFriend
|
||||||
|
// @description: 响应好友添加成功消息
|
||||||
|
// @param m
|
||||||
|
func ReplyNewFriend(m *plugin.MessageContext) {
|
||||||
|
isNewFriend := strings.HasPrefix(m.Content, "你已添加了") && strings.HasSuffix(m.Content, ",现在可以开始聊天了。")
|
||||||
|
isNewChatroom := strings.Contains(m.Content, "\"邀请你加入了群聊,群聊参与人还有:")
|
||||||
|
if isNewFriend || isNewChatroom {
|
||||||
|
utils.SendMessage(m.FromUser, m.GroupUser, "AI正在初始化,请稍等几分钟,初始化完成之后我将主动告知您。", 0)
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
<dialog id="groupUserModal" class="modal">
|
<dialog id="groupUserModal" class="modal">
|
||||||
<div class="modal-box w-11/12 max-w-7xl">
|
<div class="modal-box w-11/12 max-w-7xl">
|
||||||
|
<div class="flex">
|
||||||
<h3 class="font-bold text-lg" id="groupUserModalName">我是群名称</h3>
|
<h3 class="font-bold text-lg" id="groupUserModalName">我是群名称</h3>
|
||||||
|
<h3 class="font-bold text-lg ml-5" id="groupUserCount">(健在成员100人)</h3>
|
||||||
|
</div>
|
||||||
<div class="divider divider-warning">成员列表</div>
|
<div class="divider divider-warning">成员列表</div>
|
||||||
<table class="table table-zebra">
|
<table class="table table-zebra">
|
||||||
<thead>
|
<thead>
|
||||||
|
|||||||
@@ -162,12 +162,18 @@ function getGroupUsers(groupId, groupName) {
|
|||||||
groupId: groupId
|
groupId: groupId
|
||||||
}
|
}
|
||||||
}).then(function (response) {
|
}).then(function (response) {
|
||||||
// console.log(`返回结果: ${JSON.stringify(response)}`);
|
// console.log(`返回结果: ${JSON.stringify(response.data)}`);
|
||||||
// 渲染群成员列表
|
// 渲染群成员列表
|
||||||
const groupUsers = response.data
|
const groupUsers = response.data.records;
|
||||||
|
const groupUserCount = response.data.isOkCount;
|
||||||
|
|
||||||
|
// 设置成员总数
|
||||||
|
const groupUserCountTag = document.getElementById("groupUserCount");
|
||||||
|
groupUserCountTag.innerHTML = `健在成员: ${groupUserCount}人`
|
||||||
|
|
||||||
// 循环渲染数据
|
// 循环渲染数据
|
||||||
groupUsers.forEach((groupUser, i) => {
|
groupUsers.forEach((groupUser, i) => {
|
||||||
console.log(groupUser)
|
// console.log(groupUser)
|
||||||
const {wxid, nickname, isMember, isAdmin, joinTime, lastActive, leaveTime, skipChatRank} = groupUser;
|
const {wxid, nickname, isMember, isAdmin, joinTime, lastActive, leaveTime, skipChatRank} = groupUser;
|
||||||
|
|
||||||
let row = tbody.insertRow(i);
|
let row = tbody.insertRow(i);
|
||||||
|
|||||||
Reference in New Issue
Block a user