Compare commits

...

5 Commits

Author SHA1 Message Date
李寻欢
f8f2d384f4 Merge pull request 'hotfix' (#75) from hotfix into main
Reviewed-on: https://gitee.ltd/lxh/go-wxhelper/pulls/75
2024-07-11 15:47:53 +08:00
李寻欢
28f08085ee 🎨 优化群成员显示效果 2024-07-11 15:47:35 +08:00
李寻欢
d802cbd6ca 🎨 优化群成员显示效果 2024-07-11 15:46:49 +08:00
李寻欢
5b187ff026 Merge pull request '🎨 优化新增加好友或者群之后的响应逻辑' (#74) from hotfix into main
Reviewed-on: https://gitee.ltd/lxh/go-wxhelper/pulls/74
2024-07-11 13:56:57 +08:00
李寻欢
e1c2eb78aa 🎨 优化新增加好友或者群之后的响应逻辑 2024-07-11 13:56:33 +08:00
5 changed files with 203 additions and 159 deletions

View File

@@ -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)
} }

View File

@@ -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 {

View 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)
}
}

View File

@@ -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>

View File

@@ -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);