From 5bbaada9e2bcf3bfb1f60836e6fb12da3fc51746 Mon Sep 17 00:00:00 2001 From: wh_zcy Date: Wed, 19 Oct 2022 19:22:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B7=A8=E6=9C=8D=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cmd/v2/FyneApp.toml | 4 +- cmd/v2/ui/protocol.go | 20 +++++----- cmd/v2/ui/views/friend_assistlist.go | 4 +- cmd/v2/ui/views/friend_randlist.go | 60 ++++++++++++++++++++-------- modules/friend/api_cross_search.go | 4 ++ 5 files changed, 63 insertions(+), 29 deletions(-) diff --git a/cmd/v2/FyneApp.toml b/cmd/v2/FyneApp.toml index dbf37401c..08ca59302 100644 --- a/cmd/v2/FyneApp.toml +++ b/cmd/v2/FyneApp.toml @@ -4,5 +4,5 @@ Website = "http://legu.cc" Icon = "app.png" Name = "RobotGUI" ID = "cc.legu.app" - Version = "1.0.15" - Build = 18 + Version = "1.0.16" + Build = 19 diff --git a/cmd/v2/ui/protocol.go b/cmd/v2/ui/protocol.go index 332032aec..05185d95e 100644 --- a/cmd/v2/ui/protocol.go +++ b/cmd/v2/ui/protocol.go @@ -174,7 +174,7 @@ var ( ff(comm.ModuleFriend, friend.FriendSubTypeBlacklist), ff(comm.ModuleFriend, friend.FriendSubTypeAddBlack), ff(comm.ModuleFriend, friend.FriendSubTypeDelBlack), - ff(comm.ModuleFriend, friend.FriendSubTypeSearch), + // ff(comm.ModuleFriend, friend.FriendSubTypeSearch), // ff(comm.ModuleFriend, friend.FriendSubTypeZanList), ff(comm.ModuleFriend, friend.FriendSubTypeRandList), ff(comm.ModuleFriend, friend.FriendSubTypeGetreward), @@ -586,15 +586,15 @@ var ( Rsp: &pb.FriendAgreeResp{}, Enabled: true, }, - ff(comm.ModuleFriend, friend.FriendSubTypeSearch): { - NavLabel: "好友搜索", - Desc: "搜索好友", - MainType: string(comm.ModuleFriend), - SubType: friend.FriendSubTypeSearch, - Req: &pb.FriendSearchReq{}, - Rsp: &pb.FriendSearchResp{}, - Enabled: true, - }, + // ff(comm.ModuleFriend, friend.FriendSubTypeSearch): { + // NavLabel: "好友搜索", + // Desc: "搜索好友", + // MainType: string(comm.ModuleFriend), + // SubType: friend.FriendSubTypeSearch, + // Req: &pb.FriendSearchReq{}, + // Rsp: &pb.FriendSearchResp{}, + // Enabled: true, + // }, ff(comm.ModuleFriend, friend.FriendSubTypeAssistHero): { NavLabel: "助战英雄", Desc: "助战英雄", diff --git a/cmd/v2/ui/views/friend_assistlist.go b/cmd/v2/ui/views/friend_assistlist.go index ac639b662..2226ef6cc 100644 --- a/cmd/v2/ui/views/friend_assistlist.go +++ b/cmd/v2/ui/views/friend_assistlist.go @@ -11,14 +11,16 @@ import ( type FriendAssistListView struct { BaseformView + friendAssistList func() } func (this *FriendAssistListView) CreateView(t *model.TestCase) fyne.CanvasObject { - this.form.OnSubmit = func() { + this.friendAssistList = func() { if err := service.GetPttService().SendToClient(t.MainType, t.SubType, &pb.FriendAssistlistReq{}); err != nil { logrus.Error(err) } } + defer this.friendAssistList() return this.form } diff --git a/cmd/v2/ui/views/friend_randlist.go b/cmd/v2/ui/views/friend_randlist.go index d4eda103a..14d42c940 100644 --- a/cmd/v2/ui/views/friend_randlist.go +++ b/cmd/v2/ui/views/friend_randlist.go @@ -56,7 +56,25 @@ func (this *FriendRandListView) CreateView(t *model.TestCase) fyne.CanvasObject } }) - btnBar := container.NewHBox(refreshBtn, friendApplyBtn) + nicknameEntry := widget.NewEntry() + nicknameEntry.PlaceHolder = "搜索昵称" + searchBtn := widget.NewButtonWithIcon("", theme.SearchIcon(), func() { + if nicknameEntry.Text == "" { + common.ShowTip("请输入昵称") + return + } + this.itemList.Reset() + if err := service.GetPttService().SendToClient( + t.MainType, + friend.FriendSubTypeSearch, + &pb.FriendSearchReq{NickName: nicknameEntry.Text}, + ); err != nil { + logrus.Error(err) + return + } + }) + + btnBar := container.NewBorder(nil, nil, container.NewHBox(refreshBtn, friendApplyBtn), searchBtn, nicknameEntry) // layout c := container.NewBorder(btnBar, nil, nil, nil, this.itemList.ItemList) @@ -72,23 +90,33 @@ func (this *FriendRandListView) dataListener() { this.obs.AddListener(observer.EVENT_REQ_RSP, observer.Listener{ OnNotify: func(d interface{}, args ...interface{}) { data := d.(*pb.UserMessage) - if !(data.MainType == string(comm.ModuleFriend) && - data.SubType == friend.FriendSubTypeRandList) { - return - } - rsp := &pb.FriendRandlistResp{} - if !comm.ProtoUnmarshal(data, rsp) { - logrus.Error("unmarshal err") - return - } - - for _, v := range rsp.List { - item := common.Item{ - Id: v.UserId, - Text: fmt.Sprintf("%s 服务:%s", v.NickName, v.ServerId), + if data.MainType == string(comm.ModuleFriend) && data.SubType == friend.FriendSubTypeRandList { + rsp := &pb.FriendRandlistResp{} + if !comm.ProtoUnmarshal(data, rsp) { + logrus.Error("unmarshal err") + return + } + for i, v := range rsp.List { + item := common.Item{ + Id: v.UserId, + Text: fmt.Sprintf("%d 昵称:%s 服务:%s", i+1, v.NickName, v.ServerId), + } + this.itemList.AddItem(item) + } + } else if data.MainType == string(comm.ModuleFriend) && data.SubType == friend.FriendSubTypeSearch { + rsp := &pb.FriendSearchResp{} + if !comm.ProtoUnmarshal(data, rsp) { + logrus.Error("unmarshal err") + return + } + for i, v := range rsp.Friends { + item := common.Item{ + Id: v.UserId, + Text: fmt.Sprintf("%d 昵称:%s 服务:%s", i+1, v.NickName, v.ServerId), + } + this.itemList.AddItem(item) } - this.itemList.AddItem(item) } }, diff --git a/modules/friend/api_cross_search.go b/modules/friend/api_cross_search.go index f1d0b1f54..695d232a2 100644 --- a/modules/friend/api_cross_search.go +++ b/modules/friend/api_cross_search.go @@ -30,6 +30,10 @@ func (this *apiComp) Search(session comm.IUserSession, req *pb.FriendSearchReq) } for _, u := range users { + // 排除自己 + if u.Uid == session.GetUserId() { + continue + } resp.Friends = append(resp.Friends, &pb.FriendBase{ UserId: u.Uid, NickName: u.Name,