update gui
This commit is contained in:
parent
f6931d0f6d
commit
4338450e0f
@ -110,6 +110,7 @@ const (
|
|||||||
APP_TESTCASE_FORM_TASK_ACHIEVE = "成就"
|
APP_TESTCASE_FORM_TASK_ACHIEVE = "成就"
|
||||||
APP_TESTCASE_FORM_BINGO = "命令"
|
APP_TESTCASE_FORM_BINGO = "命令"
|
||||||
APP_TESTCASE_BTN_PUSH = "推送"
|
APP_TESTCASE_BTN_PUSH = "推送"
|
||||||
|
APP_TESTCASE_FORM_LABEL_FID = "好友ID"
|
||||||
|
|
||||||
//button
|
//button
|
||||||
BUTTON_LOGIN = "登录"
|
BUTTON_LOGIN = "登录"
|
||||||
|
@ -2,6 +2,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
"go_dreamfactory/cmd/v2/service"
|
"go_dreamfactory/cmd/v2/service"
|
||||||
"go_dreamfactory/cmd/v2/service/observer"
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
"go_dreamfactory/cmd/v2/ui"
|
"go_dreamfactory/cmd/v2/ui"
|
||||||
@ -53,7 +54,7 @@ func main() {
|
|||||||
appUI := ui.NewUI(app.NewWithID("protocol-test-tool"), configService, connService, pttService, obs)
|
appUI := ui.NewUI(app.NewWithID("protocol-test-tool"), configService, connService, pttService, obs)
|
||||||
mainWindow := ui.NewMainWindow(appUI)
|
mainWindow := ui.NewMainWindow(appUI)
|
||||||
|
|
||||||
mainWindow.CreateWindow("robot_v2", 1366, 768, true)
|
mainWindow.CreateWindow(common.APP_NAME, 1366, 768, true)
|
||||||
|
|
||||||
appUI.Run()
|
appUI.Run()
|
||||||
}
|
}
|
||||||
|
24
cmd/v2/model/friend.go
Normal file
24
cmd/v2/model/friend.go
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package model
|
||||||
|
|
||||||
|
type FriendModel struct {
|
||||||
|
Uid string
|
||||||
|
Name string
|
||||||
|
}
|
||||||
|
|
||||||
|
type FriendModelList struct {
|
||||||
|
DataList []*FriendModel
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewFriendModelList() *FriendModelList {
|
||||||
|
return &FriendModelList{
|
||||||
|
DataList: make([]*FriendModel, 0),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *FriendModelList) AsInterfaceArray() []interface{} {
|
||||||
|
rs := make([]interface{}, len(s.DataList), len(s.DataList))
|
||||||
|
for i := range s.DataList {
|
||||||
|
rs[i] = s.DataList[i]
|
||||||
|
}
|
||||||
|
return rs
|
||||||
|
}
|
@ -1,15 +1,13 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"google.golang.org/protobuf/types/known/anypb"
|
"go_dreamfactory/pb"
|
||||||
)
|
)
|
||||||
|
|
||||||
type PushModel struct {
|
type PushModel struct {
|
||||||
MainType string
|
|
||||||
SubType string
|
|
||||||
MethodName string
|
MethodName string
|
||||||
DataTime string
|
DataTime string
|
||||||
Rsp *anypb.Any
|
Msg *pb.UserMessage
|
||||||
}
|
}
|
||||||
|
|
||||||
type PushModelList struct {
|
type PushModelList struct {
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
services:
|
services:
|
||||||
- service:
|
- service:
|
||||||
sid: 1
|
sid: 1
|
||||||
name: service1
|
name: 外网
|
||||||
url: ws://10.0.0.100:7891/gateway
|
url: ws://119.3.89.14:7891/gateway
|
||||||
- service:
|
- service:
|
||||||
sid: 2
|
sid: 2
|
||||||
name: 赵长远
|
name: 赵长远
|
||||||
url: ws://10.0.0.238:7891/gateway
|
url: ws://10.0.0.238:7891/gateway
|
||||||
- service:
|
- service:
|
||||||
sid: 3
|
sid: 3
|
||||||
name: service3
|
name: 内网
|
||||||
url: ws://10.0.0.101:7891/gateway
|
url: ws://10.0.0.9:7891/gateway
|
||||||
- service:
|
- service:
|
||||||
sid: 4
|
sid: 4
|
||||||
name: service4
|
name: service4
|
||||||
|
@ -9,10 +9,8 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/golang/protobuf/ptypes"
|
|
||||||
"github.com/gorilla/websocket"
|
"github.com/gorilla/websocket"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/spf13/cast"
|
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -52,6 +50,17 @@ func (c *ConnServiceImpl) Connect(wsUrl string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
c.ws = ws
|
c.ws = ws
|
||||||
|
|
||||||
|
ticker := time.NewTicker(2 * time.Second)
|
||||||
|
go func() {
|
||||||
|
for {
|
||||||
|
_ = <-ticker.C
|
||||||
|
if err := c.ws.WriteMessage(websocket.PingMessage, []byte{}); err != nil {
|
||||||
|
c.obs.Notify(observer.EVENT_PING, err)
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -76,19 +85,35 @@ func (c *ConnServiceImpl) ListenerPush() {
|
|||||||
|
|
||||||
methodStr := msg.Data.TypeUrl
|
methodStr := msg.Data.TypeUrl
|
||||||
methodName := common.SubStr(methodStr, 20, len(methodStr))
|
methodName := common.SubStr(methodStr, 20, len(methodStr))
|
||||||
if strings.HasSuffix(methodName, "Push") {
|
p := &model.PushModel{
|
||||||
p := &model.PushModel{
|
// MainType: msg.MainType,
|
||||||
MainType: msg.MainType,
|
// SubType: msg.SubType,
|
||||||
SubType: msg.SubType,
|
MethodName: methodName,
|
||||||
MethodName: methodName,
|
DataTime: time.Now().Format(time.RFC3339),
|
||||||
DataTime: time.Now().Format(time.RFC3339),
|
// Rsp: msg.Data,
|
||||||
Rsp: msg.Data,
|
Msg: msg,
|
||||||
}
|
}
|
||||||
|
logrus.WithFields(
|
||||||
|
logrus.Fields{"MainType": msg.MainType, "SubType": msg.SubType},
|
||||||
|
).Debug(methodName)
|
||||||
|
|
||||||
|
renderRespPanel := func(p *model.PushModel) {
|
||||||
|
// data, err := anypb.New(p.Msg)
|
||||||
|
// if err != nil {
|
||||||
|
// logrus.Error(err)
|
||||||
|
// return
|
||||||
|
// }
|
||||||
|
c.obs.Notify(observer.EVENT_CASE_RSP, p.Msg)
|
||||||
|
}
|
||||||
|
|
||||||
|
if strings.HasSuffix(methodName, "Push") {
|
||||||
c.obs.Notify(observer.EVENT_APP_PUSH, p)
|
c.obs.Notify(observer.EVENT_APP_PUSH, p)
|
||||||
logrus.WithFields(
|
if methodName == "NotifyErrorNotifyPush" {
|
||||||
logrus.Fields{"MainType": msg.MainType, "SubType": msg.SubType},
|
renderRespPanel(p)
|
||||||
).Debug(methodName)
|
}
|
||||||
|
} else {
|
||||||
|
//render appTestcase respPanel
|
||||||
|
renderRespPanel(p)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
@ -144,26 +169,26 @@ func (c *ConnServiceImpl) handleNotify(msg *pb.UserMessage) (code pb.ErrorCode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// response
|
// response
|
||||||
func (c *ConnServiceImpl) RespHandle(t *model.TestCase) {
|
// func (c *ConnServiceImpl) RespHandle(t *model.TestCase) {
|
||||||
for {
|
// for {
|
||||||
if code, msg := c.ReceiveMsg(); code != pb.ErrorCode_Success {
|
// if code, msg := c.ReceiveMsg(); code != pb.ErrorCode_Success {
|
||||||
c.obs.Notify(observer.EVENT_APP_LOG, cast.ToString(code))
|
// c.obs.Notify(observer.EVENT_APP_LOG, cast.ToString(code))
|
||||||
} else {
|
// } else {
|
||||||
if msg.MainType == t.MainType && msg.SubType == t.SubType {
|
// if msg.MainType == t.MainType && msg.SubType == t.SubType {
|
||||||
if t.Print == nil {
|
// if t.Print == nil {
|
||||||
if a, err := ptypes.MarshalAny(msg.Data); err != nil {
|
// if a, err := ptypes.MarshalAny(msg.Data); err != nil {
|
||||||
c.obs.Notify(observer.EVENT_APP_LOG, err.Error())
|
// c.obs.Notify(observer.EVENT_APP_LOG, err.Error())
|
||||||
} else {
|
// } else {
|
||||||
c.obs.Notify(observer.EVENT_APP_LOG, a.String())
|
// c.obs.Notify(observer.EVENT_APP_LOG, a.String())
|
||||||
}
|
// }
|
||||||
} else {
|
// } else {
|
||||||
if !comm.ProtoUnmarshal(msg, t.Rsp) {
|
// if !comm.ProtoUnmarshal(msg, t.Rsp) {
|
||||||
return
|
// return
|
||||||
}
|
// }
|
||||||
c.obs.Notify(observer.EVENT_APP_LOG, t.Print(t.Rsp))
|
// c.obs.Notify(observer.EVENT_APP_LOG, t.Print(t.Rsp))
|
||||||
}
|
// }
|
||||||
break
|
// break
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
@ -1,7 +1,13 @@
|
|||||||
package observer
|
package observer
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
EVENT_PING = "ping"
|
||||||
|
//用户详情
|
||||||
EVENT_USERINFO Event = "userinfo"
|
EVENT_USERINFO Event = "userinfo"
|
||||||
EVENT_APP_LOG Event = "app_log"
|
//协议推送
|
||||||
EVENT_APP_PUSH Event = "push"
|
EVENT_APP_PUSH Event = "push"
|
||||||
|
//测试用例响应事件
|
||||||
|
EVENT_CASE_RSP Event = "response"
|
||||||
|
// 清空 ui数据事件
|
||||||
|
EVENT_UI_CLEAN = "uiclean"
|
||||||
)
|
)
|
||||||
|
@ -37,9 +37,12 @@ func (this *appMonitor) LazyInit(obs observer.Observer) error {
|
|||||||
// panel for output log
|
// panel for output log
|
||||||
this.logPanel = widget.NewMultiLineEntry()
|
this.logPanel = widget.NewMultiLineEntry()
|
||||||
this.logPanel.Wrapping = fyne.TextWrapWord
|
this.logPanel.Wrapping = fyne.TextWrapWord
|
||||||
|
//clear button
|
||||||
clearBtn := widget.NewButtonWithIcon(common.APP_TESTCASE_BTN_CLEARLOG, theme.DeleteIcon(), func() {
|
clearBtn := widget.NewButtonWithIcon(common.APP_TESTCASE_BTN_CLEARLOG, theme.DeleteIcon(), func() {
|
||||||
this.logPanel.SetText("")
|
this.logPanel.SetText("")
|
||||||
|
this.monitorBinding.Set([]interface{}{})
|
||||||
})
|
})
|
||||||
|
|
||||||
resPanel := container.NewBorder(container.NewHBox(clearBtn, layout.NewSpacer()), nil, nil, nil, this.logPanel)
|
resPanel := container.NewBorder(container.NewHBox(clearBtn, layout.NewSpacer()), nil, nil, nil, this.logPanel)
|
||||||
|
|
||||||
this.monitorBinding = binding.NewUntypedList()
|
this.monitorBinding = binding.NewUntypedList()
|
||||||
@ -115,7 +118,7 @@ func (this *appMonitor) createMonitorList() {
|
|||||||
func(data binding.DataItem, item fyne.CanvasObject) {
|
func(data binding.DataItem, item fyne.CanvasObject) {
|
||||||
o, _ := data.(binding.Untyped).Get()
|
o, _ := data.(binding.Untyped).Get()
|
||||||
pd := o.(*model.PushModel)
|
pd := o.(*model.PushModel)
|
||||||
item.(*fyne.Container).Objects[0].(*widget.Label).SetText(fmt.Sprintf("%s.%s", pd.MainType, pd.SubType))
|
item.(*fyne.Container).Objects[0].(*widget.Label).SetText(fmt.Sprintf("%s.%s", pd.Msg.MainType, pd.Msg.SubType))
|
||||||
item.(*fyne.Container).Objects[1].(*widget.Label).SetText(pd.MethodName)
|
item.(*fyne.Container).Objects[1].(*widget.Label).SetText(pd.MethodName)
|
||||||
item.(*fyne.Container).Objects[2].(*widget.Label).SetText(pd.DataTime)
|
item.(*fyne.Container).Objects[2].(*widget.Label).SetText(pd.DataTime)
|
||||||
},
|
},
|
||||||
@ -127,7 +130,7 @@ func (this *appMonitor) createMonitorList() {
|
|||||||
} else {
|
} else {
|
||||||
o, _ := di.(binding.Untyped).Get()
|
o, _ := di.(binding.Untyped).Get()
|
||||||
pd := o.(*model.PushModel)
|
pd := o.(*model.PushModel)
|
||||||
if res, err := anypb.New(pd.Rsp); err == nil {
|
if res, err := anypb.New(pd.Msg.Data); err == nil {
|
||||||
this.logPanel.Text = res.String()
|
this.logPanel.Text = res.String()
|
||||||
this.logPanel.Refresh()
|
this.logPanel.Refresh()
|
||||||
} else {
|
} else {
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
"go_dreamfactory/cmd/v2/lib/common"
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
"go_dreamfactory/cmd/v2/model"
|
"go_dreamfactory/cmd/v2/model"
|
||||||
"go_dreamfactory/cmd/v2/service/observer"
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
"fyne.io/fyne/v2"
|
"fyne.io/fyne/v2"
|
||||||
"fyne.io/fyne/v2/container"
|
"fyne.io/fyne/v2/container"
|
||||||
@ -43,19 +44,20 @@ func (a *appTester) LazyInit(obs observer.Observer) error {
|
|||||||
content.Objects = []fyne.CanvasObject{}
|
content.Objects = []fyne.CanvasObject{}
|
||||||
|
|
||||||
if view, ok := viewRegister[viewKey]; ok {
|
if view, ok := viewRegister[viewKey]; ok {
|
||||||
view.Init()
|
view.Init(obs, globalWin.w)
|
||||||
resLog := widget.NewMultiLineEntry()
|
resLog := widget.NewMultiLineEntry()
|
||||||
obs.AddListener(observer.EVENT_APP_LOG, observer.Listener{
|
obs.AddListener(observer.EVENT_CASE_RSP, observer.Listener{
|
||||||
OnNotify: func(data interface{}, args ...interface{}) {
|
OnNotify: func(data interface{}, args ...interface{}) {
|
||||||
if data == nil {
|
if data == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
resLog.SetText(data.(string))
|
msg := data.(*pb.UserMessage)
|
||||||
|
resLog.SetText(msg.Data.String())
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
resLog.Wrapping = fyne.TextWrapBreak
|
resLog.Wrapping = fyne.TextWrapBreak
|
||||||
formReq := view.CreateForm(t)
|
formReq := view.CreateView(t)
|
||||||
// required! Refresh updates the widget
|
// required! Refresh updates the widget
|
||||||
formReq.Refresh()
|
formReq.Refresh()
|
||||||
formCard := widget.NewCard("", "", formReq)
|
formCard := widget.NewCard("", "", formReq)
|
||||||
|
@ -2,15 +2,21 @@ package formview
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"go_dreamfactory/cmd/v2/lib/common"
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
"fyne.io/fyne/v2/widget"
|
"fyne.io/fyne/v2/widget"
|
||||||
)
|
)
|
||||||
|
|
||||||
type BaseformView struct {
|
type BaseformView struct {
|
||||||
form *widget.Form
|
form *widget.Form
|
||||||
|
obs observer.Observer
|
||||||
|
w fyne.Window
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *BaseformView) Init() {
|
func (this *BaseformView) Init(obs observer.Observer, w fyne.Window) {
|
||||||
|
this.obs = obs
|
||||||
|
this.w = w
|
||||||
this.form = widget.NewForm()
|
this.form = widget.NewForm()
|
||||||
this.form.SubmitText = common.BUTTON_OK
|
this.form.SubmitText = common.BUTTON_OK
|
||||||
}
|
}
|
||||||
|
@ -15,7 +15,7 @@ type BingoView struct {
|
|||||||
BaseformView
|
BaseformView
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *BingoView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
func (this *BingoView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
bingo := widget.NewEntry()
|
bingo := widget.NewEntry()
|
||||||
bingo.PlaceHolder = "eg. bingo:item,10001,1"
|
bingo.PlaceHolder = "eg. bingo:item,10001,1"
|
||||||
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_BINGO, bingo))
|
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_BINGO, bingo))
|
||||||
@ -29,7 +29,7 @@ func (this *BingoView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
go service.GetConnService().RespHandle(t)
|
// go service.GetConnService().RespHandle(t)
|
||||||
}
|
}
|
||||||
return this.form
|
return this.form
|
||||||
}
|
}
|
||||||
|
33
cmd/v2/ui/formview/friend_addblack.go
Normal file
33
cmd/v2/ui/formview/friend_addblack.go
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package formview
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
|
"go_dreamfactory/cmd/v2/model"
|
||||||
|
"go_dreamfactory/cmd/v2/service"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"fyne.io/fyne/v2/widget"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
)
|
||||||
|
|
||||||
|
type FriendAddBlackView struct {
|
||||||
|
BaseformView
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendAddBlackView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
|
friendId := widget.NewEntry()
|
||||||
|
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_LABEL_FID, friendId))
|
||||||
|
this.form.OnSubmit = func() {
|
||||||
|
if err := service.GetPttService().SendToClient(
|
||||||
|
t.MainType,
|
||||||
|
t.SubType,
|
||||||
|
&pb.FriendBlackAddReq{FriendId: friendId.Text},
|
||||||
|
); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return this.form
|
||||||
|
}
|
91
cmd/v2/ui/formview/friend_agree.go
Normal file
91
cmd/v2/ui/formview/friend_agree.go
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
package formview
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/cmd/v2/model"
|
||||||
|
"go_dreamfactory/cmd/v2/service"
|
||||||
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/modules/friend"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"fyne.io/fyne/v2/container"
|
||||||
|
"fyne.io/fyne/v2/theme"
|
||||||
|
"fyne.io/fyne/v2/widget"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
)
|
||||||
|
|
||||||
|
type FriendAgreeView struct {
|
||||||
|
FriendListBaseView
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendAgreeView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
|
//init required
|
||||||
|
this.initFriendList()
|
||||||
|
|
||||||
|
//同意提交
|
||||||
|
agreeBtn := widget.NewButtonWithIcon("同意", theme.ConfirmIcon(), func() {
|
||||||
|
if err := service.GetPttService().SendToClient(
|
||||||
|
t.MainType,
|
||||||
|
t.SubType,
|
||||||
|
&pb.FriendAgreeReq{
|
||||||
|
FriendIds: this.selFriendIds,
|
||||||
|
},
|
||||||
|
); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.applyListBtnFun()
|
||||||
|
})
|
||||||
|
|
||||||
|
//拒绝
|
||||||
|
refuseBtn := widget.NewButtonWithIcon("拒绝", theme.CancelIcon(), func() {
|
||||||
|
if err := service.GetPttService().SendToClient(
|
||||||
|
string(comm.ModuleFriend),
|
||||||
|
friend.FriendSubTypeRefuse,
|
||||||
|
&pb.FriendRefuseReq{
|
||||||
|
FriendIds: this.selFriendIds,
|
||||||
|
}); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.applyListBtnFun()
|
||||||
|
})
|
||||||
|
|
||||||
|
this.createList()
|
||||||
|
|
||||||
|
applyListBtn := widget.NewButton("申请列表", this.applyListBtnFun())
|
||||||
|
|
||||||
|
split := container.NewHSplit(this.dataList, container.NewVBox(applyListBtn, agreeBtn, refuseBtn))
|
||||||
|
split.Offset = 1
|
||||||
|
|
||||||
|
this.dataListener()
|
||||||
|
return split
|
||||||
|
}
|
||||||
|
|
||||||
|
// listener applyListdata
|
||||||
|
func (this *FriendAgreeView) dataListener() {
|
||||||
|
this.obs.AddListener(observer.EVENT_CASE_RSP, observer.Listener{
|
||||||
|
OnNotify: func(d interface{}, args ...interface{}) {
|
||||||
|
data := d.(*pb.UserMessage)
|
||||||
|
if !(data.MainType == string(comm.ModuleFriend) &&
|
||||||
|
data.SubType == friend.FriendSubTypeApplyList) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
rsp := &pb.FriendApplyListResp{}
|
||||||
|
|
||||||
|
if !comm.ProtoUnmarshal(data, rsp) {
|
||||||
|
logrus.Error("unmarshal err")
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, v := range rsp.List {
|
||||||
|
fm := &model.FriendModel{
|
||||||
|
Uid: v.UserId,
|
||||||
|
Name: v.NickName,
|
||||||
|
}
|
||||||
|
this.friendData.DataList = append(this.friendData.DataList, fm)
|
||||||
|
}
|
||||||
|
this.reloadFriendData()
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
31
cmd/v2/ui/formview/friend_apply.go
Normal file
31
cmd/v2/ui/formview/friend_apply.go
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
package formview
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
|
"go_dreamfactory/cmd/v2/model"
|
||||||
|
"go_dreamfactory/cmd/v2/service"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"fyne.io/fyne/v2/widget"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
)
|
||||||
|
|
||||||
|
type FriendApplyView struct {
|
||||||
|
BaseformView
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendApplyView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
|
friendId := widget.NewEntry()
|
||||||
|
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_LABEL_FID, friendId))
|
||||||
|
|
||||||
|
this.form.OnSubmit = func() {
|
||||||
|
if err := service.GetPttService().SendToClient(t.MainType, t.SubType, &pb.FriendApplyReq{
|
||||||
|
FriendId: friendId.Text,
|
||||||
|
}); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return this.form
|
||||||
|
}
|
24
cmd/v2/ui/formview/friend_applylist.go
Normal file
24
cmd/v2/ui/formview/friend_applylist.go
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
package formview
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/cmd/v2/model"
|
||||||
|
"go_dreamfactory/cmd/v2/service"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
)
|
||||||
|
|
||||||
|
type FriendApplyListView struct {
|
||||||
|
BaseformView
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendApplyListView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
|
this.form.OnSubmit = func() {
|
||||||
|
if err := service.GetPttService().SendToClient(t.MainType, t.SubType, &pb.FriendApplyListReq{}); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return this.form
|
||||||
|
}
|
75
cmd/v2/ui/formview/friend_base.go
Normal file
75
cmd/v2/ui/formview/friend_base.go
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
package formview
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/cmd/v2/model"
|
||||||
|
"go_dreamfactory/cmd/v2/service"
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/modules/friend"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
"go_dreamfactory/utils"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"fyne.io/fyne/v2/container"
|
||||||
|
"fyne.io/fyne/v2/data/binding"
|
||||||
|
"fyne.io/fyne/v2/widget"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
)
|
||||||
|
|
||||||
|
type FriendListBaseView struct {
|
||||||
|
BaseformView
|
||||||
|
dataList *widget.List
|
||||||
|
friendBinding binding.UntypedList
|
||||||
|
selFriendIds []string //选择的UID
|
||||||
|
friendData *model.FriendModelList
|
||||||
|
}
|
||||||
|
|
||||||
|
// init data
|
||||||
|
func (this *FriendListBaseView) initFriendList() {
|
||||||
|
this.friendBinding = binding.NewUntypedList()
|
||||||
|
this.friendData = model.NewFriendModelList()
|
||||||
|
}
|
||||||
|
|
||||||
|
// create list view
|
||||||
|
func (this *FriendListBaseView) createList() *widget.List {
|
||||||
|
this.dataList = widget.NewListWithData(this.friendBinding,
|
||||||
|
func() fyne.CanvasObject {
|
||||||
|
return container.NewHBox(
|
||||||
|
widget.NewCheck("", func(b bool) {}),
|
||||||
|
widget.NewLabelWithStyle("", fyne.TextAlignCenter, fyne.TextStyle{}),
|
||||||
|
)
|
||||||
|
},
|
||||||
|
func(data binding.DataItem, item fyne.CanvasObject) {
|
||||||
|
o, _ := data.(binding.Untyped).Get()
|
||||||
|
pd := o.(*model.FriendModel)
|
||||||
|
item.(*fyne.Container).Objects[0].(*widget.Check).OnChanged = func(b bool) {
|
||||||
|
if b {
|
||||||
|
this.selFriendIds = append(this.selFriendIds, pd.Uid)
|
||||||
|
} else {
|
||||||
|
utils.DeleteString(this.selFriendIds, pd.Uid)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
item.(*fyne.Container).Objects[1].(*widget.Label).SetText(pd.Name)
|
||||||
|
},
|
||||||
|
)
|
||||||
|
return this.dataList
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendListBaseView) applyListBtnFun() func() {
|
||||||
|
return func() {
|
||||||
|
if err := service.GetPttService().SendToClient(
|
||||||
|
string(comm.ModuleFriend),
|
||||||
|
friend.FriendSubTypeApplyList,
|
||||||
|
&pb.FriendApplyListReq{}); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
}
|
||||||
|
this.friendData = model.NewFriendModelList()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// set data
|
||||||
|
func (this *FriendListBaseView) reloadFriendData() {
|
||||||
|
if this.friendData != nil {
|
||||||
|
d := this.friendData.AsInterfaceArray()
|
||||||
|
this.friendBinding.Set(d)
|
||||||
|
}
|
||||||
|
}
|
72
cmd/v2/ui/formview/friend_blacklist.go
Normal file
72
cmd/v2/ui/formview/friend_blacklist.go
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
package formview
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/cmd/v2/model"
|
||||||
|
"go_dreamfactory/cmd/v2/service"
|
||||||
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/modules/friend"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"fyne.io/fyne/v2/container"
|
||||||
|
"fyne.io/fyne/v2/widget"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
)
|
||||||
|
|
||||||
|
type FriendBlacklistView struct {
|
||||||
|
FriendListBaseView
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendBlacklistView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
|
// init required
|
||||||
|
this.initFriendList()
|
||||||
|
// create friend list view
|
||||||
|
this.createList()
|
||||||
|
|
||||||
|
friendList := func() {
|
||||||
|
if err := service.GetPttService().SendToClient(
|
||||||
|
string(comm.ModuleFriend),
|
||||||
|
friend.FriendSubTypeBlacklist,
|
||||||
|
&pb.FriendBlackListReq{}); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
}
|
||||||
|
this.friendData = model.NewFriendModelList()
|
||||||
|
}
|
||||||
|
friendListBtn := widget.NewButton("黑名单列表", friendList)
|
||||||
|
|
||||||
|
// layout
|
||||||
|
split := container.NewHSplit(this.dataList, container.NewVBox(friendListBtn))
|
||||||
|
split.Offset = 1
|
||||||
|
|
||||||
|
//data listener for
|
||||||
|
this.dataListener()
|
||||||
|
|
||||||
|
return split
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendBlacklistView) dataListener() {
|
||||||
|
this.obs.AddListener(observer.EVENT_CASE_RSP, observer.Listener{
|
||||||
|
OnNotify: func(d interface{}, args ...interface{}) {
|
||||||
|
data := d.(*pb.UserMessage)
|
||||||
|
if !(data.MainType == string(comm.ModuleFriend) &&
|
||||||
|
data.SubType == friend.FriendSubTypeBlacklist) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
rsp := &pb.FriendBlackListResp{}
|
||||||
|
|
||||||
|
if !comm.ProtoUnmarshal(data, rsp) {
|
||||||
|
logrus.Error("unmarshal err")
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, v := range rsp.Friends {
|
||||||
|
fm := &model.FriendModel{
|
||||||
|
Uid: v.UserId,
|
||||||
|
Name: v.NickName,
|
||||||
|
}
|
||||||
|
this.friendData.DataList = append(this.friendData.DataList, fm)
|
||||||
|
}
|
||||||
|
this.reloadFriendData()
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
33
cmd/v2/ui/formview/friend_delblack.go
Normal file
33
cmd/v2/ui/formview/friend_delblack.go
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package formview
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
|
"go_dreamfactory/cmd/v2/model"
|
||||||
|
"go_dreamfactory/cmd/v2/service"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"fyne.io/fyne/v2/widget"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
)
|
||||||
|
|
||||||
|
type FriendDelblackView struct {
|
||||||
|
BaseformView
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendDelblackView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
|
friendId := widget.NewEntry()
|
||||||
|
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_LABEL_FID, friendId))
|
||||||
|
this.form.OnSubmit = func() {
|
||||||
|
if err := service.GetPttService().SendToClient(
|
||||||
|
t.MainType,
|
||||||
|
t.SubType,
|
||||||
|
&pb.FriendDelBlackReq{FriendId: friendId.Text},
|
||||||
|
); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return this.form
|
||||||
|
}
|
74
cmd/v2/ui/formview/friend_list.go
Normal file
74
cmd/v2/ui/formview/friend_list.go
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
package formview
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/cmd/v2/model"
|
||||||
|
"go_dreamfactory/cmd/v2/service"
|
||||||
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/modules/friend"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"fyne.io/fyne/v2/container"
|
||||||
|
"fyne.io/fyne/v2/widget"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
)
|
||||||
|
|
||||||
|
//好友列表
|
||||||
|
type FriendListView struct {
|
||||||
|
FriendListBaseView //继承支持好友列表的基类
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendListView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
|
// init required
|
||||||
|
this.initFriendList()
|
||||||
|
|
||||||
|
// create friend list view
|
||||||
|
this.createList()
|
||||||
|
|
||||||
|
// new friendlist btn
|
||||||
|
friendList := func() {
|
||||||
|
if err := service.GetPttService().SendToClient(
|
||||||
|
string(comm.ModuleFriend),
|
||||||
|
friend.FriendSubTypeList,
|
||||||
|
&pb.FriendListReq{}); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
}
|
||||||
|
this.friendData = model.NewFriendModelList()
|
||||||
|
}
|
||||||
|
friendListBtn := widget.NewButton("好友列表", friendList)
|
||||||
|
|
||||||
|
// layout
|
||||||
|
split := container.NewHSplit(this.dataList, container.NewVBox(friendListBtn))
|
||||||
|
split.Offset = 1
|
||||||
|
|
||||||
|
//data listener for
|
||||||
|
this.dataListener()
|
||||||
|
return split
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendListView) dataListener() {
|
||||||
|
this.obs.AddListener(observer.EVENT_CASE_RSP, observer.Listener{
|
||||||
|
OnNotify: func(d interface{}, args ...interface{}) {
|
||||||
|
data := d.(*pb.UserMessage)
|
||||||
|
if !(data.MainType == string(comm.ModuleFriend) &&
|
||||||
|
data.SubType == friend.FriendSubTypeList) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
rsp := &pb.FriendListResp{}
|
||||||
|
|
||||||
|
if !comm.ProtoUnmarshal(data, rsp) {
|
||||||
|
logrus.Error("unmarshal err")
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, v := range rsp.List {
|
||||||
|
fm := &model.FriendModel{
|
||||||
|
Uid: v.UserId,
|
||||||
|
Name: v.NickName,
|
||||||
|
}
|
||||||
|
this.friendData.DataList = append(this.friendData.DataList, fm)
|
||||||
|
}
|
||||||
|
this.reloadFriendData()
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
29
cmd/v2/ui/formview/friend_refuse.go
Normal file
29
cmd/v2/ui/formview/friend_refuse.go
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
package formview
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/cmd/v2/model"
|
||||||
|
"go_dreamfactory/cmd/v2/service"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
)
|
||||||
|
|
||||||
|
type FriendRefuseView struct {
|
||||||
|
BaseformView
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendRefuseView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
|
this.form.OnSubmit = func() {
|
||||||
|
if err := service.GetPttService().SendToClient(
|
||||||
|
t.MainType,
|
||||||
|
t.SubType,
|
||||||
|
&pb.FriendRefuseReq{},
|
||||||
|
); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return this.form
|
||||||
|
}
|
33
cmd/v2/ui/formview/friend_search.go
Normal file
33
cmd/v2/ui/formview/friend_search.go
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
package formview
|
||||||
|
|
||||||
|
import (
|
||||||
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
|
"go_dreamfactory/cmd/v2/model"
|
||||||
|
"go_dreamfactory/cmd/v2/service"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
|
|
||||||
|
"fyne.io/fyne/v2"
|
||||||
|
"fyne.io/fyne/v2/widget"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
|
)
|
||||||
|
|
||||||
|
type FriendSearchView struct {
|
||||||
|
BaseformView
|
||||||
|
}
|
||||||
|
|
||||||
|
func (this *FriendSearchView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
|
name := widget.NewEntry()
|
||||||
|
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_LABEL_FID, name))
|
||||||
|
this.form.OnSubmit = func() {
|
||||||
|
if err := service.GetPttService().SendToClient(
|
||||||
|
t.MainType,
|
||||||
|
t.SubType,
|
||||||
|
&pb.FriendSearchReq{NickName: name.Text},
|
||||||
|
); err != nil {
|
||||||
|
logrus.Error(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return this.form
|
||||||
|
}
|
@ -13,13 +13,12 @@ type HeroListView struct {
|
|||||||
BaseformView
|
BaseformView
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *HeroListView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
func (this *HeroListView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
this.form.OnSubmit = func() {
|
this.form.OnSubmit = func() {
|
||||||
if err := service.GetPttService().SendToClient(t.MainType, t.SubType, &pb.HeroListReq{}); err != nil {
|
if err := service.GetPttService().SendToClient(t.MainType, t.SubType, &pb.HeroListReq{}); err != nil {
|
||||||
logrus.Error(err)
|
logrus.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
go service.GetConnService().RespHandle(t)
|
|
||||||
}
|
}
|
||||||
return this.form
|
return this.form
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ type HeroStrengthenUpStarView struct {
|
|||||||
BaseformView
|
BaseformView
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *HeroStrengthenUpStarView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
func (this *HeroStrengthenUpStarView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
heroObjID := widget.NewEntry()
|
heroObjID := widget.NewEntry()
|
||||||
//HeroRace
|
//HeroRace
|
||||||
heroRaceId := widget.NewEntry()
|
heroRaceId := widget.NewEntry()
|
||||||
@ -91,7 +91,6 @@ func (this *HeroStrengthenUpStarView) CreateForm(t *model.TestCase) fyne.CanvasO
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
go service.GetConnService().RespHandle(t)
|
|
||||||
}
|
}
|
||||||
return this.form
|
return this.form
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ type HeroStrengthenUplvView struct {
|
|||||||
BaseformView
|
BaseformView
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *HeroStrengthenUplvView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
func (this *HeroStrengthenUplvView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
|
|
||||||
heroObjID := widget.NewEntry()
|
heroObjID := widget.NewEntry()
|
||||||
|
|
||||||
@ -61,7 +61,6 @@ func (this *HeroStrengthenUplvView) CreateForm(t *model.TestCase) fyne.CanvasObj
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
go service.GetConnService().RespHandle(t)
|
|
||||||
}
|
}
|
||||||
return this.form
|
return this.form
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ type TaskActiveListView struct {
|
|||||||
BaseformView
|
BaseformView
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *TaskActiveListView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
func (this *TaskActiveListView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
tagSelect := getTaskTagSelect()
|
tagSelect := getTaskTagSelect()
|
||||||
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_TASKTAG, tagSelect))
|
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_TASKTAG, tagSelect))
|
||||||
|
|
||||||
@ -27,8 +27,6 @@ func (this *TaskActiveListView) CreateForm(t *model.TestCase) fyne.CanvasObject
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
logrus.Error(err)
|
logrus.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
go service.GetConnService().RespHandle(t)
|
|
||||||
}
|
}
|
||||||
return this.form
|
return this.form
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ type TaskActiveReceiveView struct {
|
|||||||
BaseformView
|
BaseformView
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *TaskActiveReceiveView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
func (this *TaskActiveReceiveView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
id := widget.NewEntry()
|
id := widget.NewEntry()
|
||||||
tagSelect := getTaskTagSelect()
|
tagSelect := getTaskTagSelect()
|
||||||
|
|
||||||
@ -31,7 +31,6 @@ func (this *TaskActiveReceiveView) CreateForm(t *model.TestCase) fyne.CanvasObje
|
|||||||
logrus.Error(err)
|
logrus.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
go service.GetConnService().RespHandle(t)
|
|
||||||
}
|
}
|
||||||
return this.form
|
return this.form
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ type TaskListView struct {
|
|||||||
BaseformView
|
BaseformView
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *TaskListView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
func (this *TaskListView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
tagSelect := getTaskTagSelect()
|
tagSelect := getTaskTagSelect()
|
||||||
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_TASKTAG, tagSelect))
|
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_TASKTAG, tagSelect))
|
||||||
|
|
||||||
@ -26,8 +26,6 @@ func (this *TaskListView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
|||||||
}); err != nil {
|
}); err != nil {
|
||||||
logrus.Error(err)
|
logrus.Error(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
go service.GetConnService().RespHandle(t)
|
|
||||||
}
|
}
|
||||||
return this.form
|
return this.form
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ type TaskReceiveView struct {
|
|||||||
BaseformView
|
BaseformView
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *TaskReceiveView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
func (this *TaskReceiveView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
|
|
||||||
if t.MainType == string(comm.ModuleTask) && t.SubType == task.TaskSubTypeReceive {
|
if t.MainType == string(comm.ModuleTask) && t.SubType == task.TaskSubTypeReceive {
|
||||||
id := widget.NewEntry()
|
id := widget.NewEntry()
|
||||||
@ -33,7 +33,6 @@ func (this *TaskReceiveView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
go service.GetConnService().RespHandle(t)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ type UserModifynameView struct {
|
|||||||
BaseformView
|
BaseformView
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *UserModifynameView) CreateForm(t *model.TestCase) fyne.CanvasObject {
|
func (this *UserModifynameView) CreateView(t *model.TestCase) fyne.CanvasObject {
|
||||||
name := widget.NewEntry()
|
name := widget.NewEntry()
|
||||||
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_NICKNAME, name))
|
this.form.AppendItem(widget.NewFormItem(common.APP_TESTCASE_FORM_NICKNAME, name))
|
||||||
|
|
||||||
@ -29,7 +29,6 @@ func (this *UserModifynameView) CreateForm(t *model.TestCase) fyne.CanvasObject
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
go service.GetConnService().RespHandle(t)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.form
|
return this.form
|
||||||
|
@ -58,6 +58,20 @@ func NewMainWindow(ui *UIImpl) MainWindow {
|
|||||||
mw.at = newAppContainer(ui.obs)
|
mw.at = newAppContainer(ui.obs)
|
||||||
|
|
||||||
globalWin = mw
|
globalWin = mw
|
||||||
|
|
||||||
|
ui.obs.AddListener(observer.EVENT_PING, observer.Listener{
|
||||||
|
OnNotify: func(data interface{}, args ...interface{}) {
|
||||||
|
dialog.NewConfirm("链接中断", data.(error).Error(), func(
|
||||||
|
b bool) {
|
||||||
|
if b {
|
||||||
|
globalWin.w.Close()
|
||||||
|
} else {
|
||||||
|
dialog.NewInformation("提示", "重启登录", globalWin.w)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}, globalWin.w).Show()
|
||||||
|
},
|
||||||
|
})
|
||||||
return mw
|
return mw
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,12 +96,17 @@ func (ui *MainWindowImpl) createWindowContainer() {
|
|||||||
ui.at = newAppContainer(ui.obs)
|
ui.at = newAppContainer(ui.obs)
|
||||||
content := container.NewBorder(ui.tb.toolbar, ui.sb.widget, nil, ui.toys.widget, ui.at)
|
content := container.NewBorder(ui.tb.toolbar, ui.sb.widget, nil, ui.toys.widget, ui.at)
|
||||||
ui.w.SetContent(content)
|
ui.w.SetContent(content)
|
||||||
|
ui.w.SetCloseIntercept(ui.quiteHandle)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ui *MainWindowImpl) SetStatusMsg(msg string) {
|
func (ui *MainWindowImpl) SetStatusMsg(msg string) {
|
||||||
ui.sb.setMessage(fmt.Sprintf("err:%s", msg))
|
ui.sb.setMessage(fmt.Sprintf("err:%s", msg))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (ui *MainWindowImpl) quiteHandle() {
|
||||||
|
ui.w.Close()
|
||||||
|
}
|
||||||
|
|
||||||
// CreateWindow ....
|
// CreateWindow ....
|
||||||
func (ui *MainWindowImpl) CreateWindow(title string, width, height float32, _ bool) {
|
func (ui *MainWindowImpl) CreateWindow(title string, width, height float32, _ bool) {
|
||||||
// init window
|
// init window
|
||||||
@ -170,7 +189,7 @@ func (ui *MainWindowImpl) createChooseServerWindow(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// createLoginWin
|
// createLoginWin
|
||||||
func (ui *MainWindowImpl) createLoginWin(sid int32) {
|
func (ui *MainWindowImpl) createLoginWin(sid int32, sname string) {
|
||||||
//form
|
//form
|
||||||
account := widget.NewEntry()
|
account := widget.NewEntry()
|
||||||
account.Text = "user8120" //default account
|
account.Text = "user8120" //default account
|
||||||
@ -192,6 +211,7 @@ func (ui *MainWindowImpl) createLoginWin(sid int32) {
|
|||||||
dialog.ShowError(err, ui.w)
|
dialog.ShowError(err, ui.w)
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
ui.w.SetTitle(fmt.Sprintf("%s[%d]", sname, sid))
|
||||||
ui.connService.ListenerPush()
|
ui.connService.ListenerPush()
|
||||||
//show mainwindow
|
//show mainwindow
|
||||||
// logrus.Debug(rsp)
|
// logrus.Debug(rsp)
|
||||||
@ -282,7 +302,7 @@ func (ui *MainWindowImpl) NewWelcomeLabel(data string) {
|
|||||||
fyne.TextStyle{Bold: true}),
|
fyne.TextStyle{Bold: true}),
|
||||||
container.NewCenter(container.NewHBox(
|
container.NewCenter(container.NewHBox(
|
||||||
widget.NewButton(common.BUTTON_LOGIN, func() {
|
widget.NewButton(common.BUTTON_LOGIN, func() {
|
||||||
ui.createLoginWin(cast.ToInt32(p[0]))
|
ui.createLoginWin(cast.ToInt32(p[0]), p[1])
|
||||||
}),
|
}),
|
||||||
)),
|
)),
|
||||||
))
|
))
|
||||||
|
@ -3,9 +3,11 @@ package ui
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"go_dreamfactory/cmd/v2/model"
|
"go_dreamfactory/cmd/v2/model"
|
||||||
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
"go_dreamfactory/cmd/v2/ui/formview"
|
"go_dreamfactory/cmd/v2/ui/formview"
|
||||||
"go_dreamfactory/comm"
|
"go_dreamfactory/comm"
|
||||||
"go_dreamfactory/lego/core"
|
"go_dreamfactory/lego/core"
|
||||||
|
"go_dreamfactory/modules/friend"
|
||||||
"go_dreamfactory/modules/hero"
|
"go_dreamfactory/modules/hero"
|
||||||
"go_dreamfactory/modules/task"
|
"go_dreamfactory/modules/task"
|
||||||
"go_dreamfactory/modules/user"
|
"go_dreamfactory/modules/user"
|
||||||
@ -16,8 +18,8 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type MyCaseView interface {
|
type MyCaseView interface {
|
||||||
Init()
|
Init(obs observer.Observer, w fyne.Window)
|
||||||
CreateForm(t *model.TestCase) fyne.CanvasObject
|
CreateView(t *model.TestCase) fyne.CanvasObject
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1 注册接口测试的表单试图
|
// 1 注册接口测试的表单试图
|
||||||
@ -36,17 +38,55 @@ var (
|
|||||||
ff(comm.ModuleHero, hero.HeroSubTypeList): &formview.HeroListView{},
|
ff(comm.ModuleHero, hero.HeroSubTypeList): &formview.HeroListView{},
|
||||||
ff(comm.ModuleHero, hero.StrengthenUplv): &formview.HeroStrengthenUplvView{},
|
ff(comm.ModuleHero, hero.StrengthenUplv): &formview.HeroStrengthenUplvView{},
|
||||||
ff(comm.ModuleHero, hero.StrengthenUpStar): &formview.HeroStrengthenUpStarView{},
|
ff(comm.ModuleHero, hero.StrengthenUpStar): &formview.HeroStrengthenUpStarView{},
|
||||||
|
//friend
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeList): &formview.FriendListView{},
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeApply): &formview.FriendApplyView{},
|
||||||
|
// ff(comm.ModuleFriend, friend.FriendSubTypeApplyList): &formview.FriendApplyListView{},
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeAgree): &formview.FriendAgreeView{},
|
||||||
|
// ff(comm.ModuleFriend, friend.FriendSubTypeRefuse): &formview.FriendRefuseView{},
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeBlacklist): &formview.FriendBlacklistView{},
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeAddBlack): &formview.FriendAddBlackView{},
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeDelBlack): &formview.FriendDelblackView{},
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeSearch): &formview.FriendSearchView{},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
// 2 添加导航菜单
|
// 2 添加导航菜单
|
||||||
var (
|
var (
|
||||||
CaseIndex = map[string][]string{
|
CaseIndex = map[string][]string{
|
||||||
"": {"gm", "user", "hero", "task"},
|
"": {
|
||||||
"gm": {"gm.cmd"},
|
string(comm.ModuleGM),
|
||||||
"user": {"user.modifyname"},
|
string(comm.ModuleUser),
|
||||||
"hero": {"hero.list", "hero.strengthenuplv", "hero.strengthenupstar"},
|
string(comm.ModuleHero),
|
||||||
"task": {"task.list", "task.receive", "task.activelist", "task.activereceive"},
|
string(comm.ModuleTask),
|
||||||
|
string(comm.ModuleFriend),
|
||||||
|
},
|
||||||
|
"gm": {ff(comm.ModuleGM, "cmd")},
|
||||||
|
"user": {
|
||||||
|
ff(comm.ModuleUser, user.UserSubTypeModifyName),
|
||||||
|
},
|
||||||
|
"hero": {
|
||||||
|
ff(comm.ModuleHero, hero.HeroSubTypeList),
|
||||||
|
ff(comm.ModuleHero, hero.StrengthenUplv),
|
||||||
|
ff(comm.ModuleHero, hero.StrengthenUpStar),
|
||||||
|
},
|
||||||
|
"task": {
|
||||||
|
ff(comm.ModuleTask, task.TaskSubTypeList),
|
||||||
|
ff(comm.ModuleTask, task.TaskSubTypeReceive),
|
||||||
|
ff(comm.ModuleTask, task.TaskSubTypeActiveList),
|
||||||
|
ff(comm.ModuleTask, task.TaskSubTypeActiveReceive),
|
||||||
|
},
|
||||||
|
"friend": {
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeList),
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeApply),
|
||||||
|
// ff(comm.ModuleFriend, friend.FriendSubTypeApplyList),
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeAgree),
|
||||||
|
// ff(comm.ModuleFriend, friend.FriendSubTypeRefuse),
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeBlacklist),
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeAddBlack),
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeDelBlack),
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeSearch),
|
||||||
|
},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -153,6 +193,83 @@ var (
|
|||||||
Rsp: &pb.HeroStrengthenUpStarResp{},
|
Rsp: &pb.HeroStrengthenUpStarResp{},
|
||||||
Enabled: true,
|
Enabled: true,
|
||||||
},
|
},
|
||||||
|
//friend
|
||||||
|
string(comm.ModuleFriend): {
|
||||||
|
MainType: string(comm.ModuleFriend),
|
||||||
|
Enabled: true,
|
||||||
|
},
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeList): {
|
||||||
|
Desc: "好友列表",
|
||||||
|
MainType: string(comm.ModuleFriend),
|
||||||
|
SubType: friend.FriendSubTypeList,
|
||||||
|
Req: &pb.FriendListReq{},
|
||||||
|
Rsp: &pb.FriendListResp{},
|
||||||
|
Enabled: true,
|
||||||
|
},
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeApply): {
|
||||||
|
Desc: "好友申请",
|
||||||
|
MainType: string(comm.ModuleFriend),
|
||||||
|
SubType: friend.FriendSubTypeApply,
|
||||||
|
Req: &pb.FriendApplyReq{},
|
||||||
|
Rsp: &pb.FriendApplyResp{},
|
||||||
|
Enabled: true,
|
||||||
|
},
|
||||||
|
// ff(comm.ModuleFriend, friend.FriendSubTypeApplyList): {
|
||||||
|
// Desc: "申请列表",
|
||||||
|
// MainType: string(comm.ModuleFriend),
|
||||||
|
// SubType: friend.FriendSubTypeApplyList,
|
||||||
|
// Req: &pb.FriendApplyListReq{},
|
||||||
|
// Rsp: &pb.FriendApplyListResp{},
|
||||||
|
// Enabled: true,
|
||||||
|
// },
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeBlacklist): {
|
||||||
|
Desc: "黑名单列表",
|
||||||
|
MainType: string(comm.ModuleFriend),
|
||||||
|
SubType: friend.FriendSubTypeBlacklist,
|
||||||
|
Req: &pb.FriendBlackListReq{},
|
||||||
|
Rsp: &pb.FriendBlackListResp{},
|
||||||
|
Enabled: true,
|
||||||
|
},
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeAddBlack): {
|
||||||
|
Desc: "添加黑名单",
|
||||||
|
MainType: string(comm.ModuleFriend),
|
||||||
|
SubType: friend.FriendSubTypeAddBlack,
|
||||||
|
Req: &pb.FriendBlackAddReq{},
|
||||||
|
Rsp: &pb.FriendBlackAddResp{},
|
||||||
|
Enabled: true,
|
||||||
|
},
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeDelBlack): {
|
||||||
|
Desc: "删除黑名单",
|
||||||
|
MainType: string(comm.ModuleFriend),
|
||||||
|
SubType: friend.FriendSubTypeDelBlack,
|
||||||
|
Req: &pb.FriendDelBlackReq{},
|
||||||
|
Rsp: &pb.FriendDelBlackResp{},
|
||||||
|
Enabled: true,
|
||||||
|
},
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeAgree): {
|
||||||
|
Desc: "好友申请审批",
|
||||||
|
MainType: string(comm.ModuleFriend),
|
||||||
|
SubType: friend.FriendSubTypeAgree,
|
||||||
|
Req: &pb.FriendAgreeReq{},
|
||||||
|
Rsp: &pb.FriendAgreeResp{},
|
||||||
|
Enabled: true,
|
||||||
|
},
|
||||||
|
// ff(comm.ModuleFriend, friend.FriendSubTypeRefuse): {
|
||||||
|
// Desc: "拒绝",
|
||||||
|
// MainType: string(comm.ModuleFriend),
|
||||||
|
// SubType: friend.FriendSubTypeRefuse,
|
||||||
|
// Req: &pb.FriendRefuseReq{},
|
||||||
|
// Rsp: &pb.FriendRefuseResp{},
|
||||||
|
// Enabled: true,
|
||||||
|
// },
|
||||||
|
ff(comm.ModuleFriend, friend.FriendSubTypeSearch): {
|
||||||
|
Desc: "搜索好友",
|
||||||
|
MainType: string(comm.ModuleFriend),
|
||||||
|
SubType: friend.FriendSubTypeSearch,
|
||||||
|
Req: &pb.FriendSearchReq{},
|
||||||
|
Rsp: &pb.FriendSearchResp{},
|
||||||
|
Enabled: true,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -3,8 +3,12 @@ package ui
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"go_dreamfactory/cmd/v2/lib/common"
|
"go_dreamfactory/cmd/v2/lib/common"
|
||||||
|
"go_dreamfactory/cmd/v2/model"
|
||||||
"go_dreamfactory/cmd/v2/service"
|
"go_dreamfactory/cmd/v2/service"
|
||||||
"go_dreamfactory/cmd/v2/service/observer"
|
"go_dreamfactory/cmd/v2/service/observer"
|
||||||
|
"go_dreamfactory/comm"
|
||||||
|
"go_dreamfactory/modules/user"
|
||||||
|
"go_dreamfactory/pb"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"fyne.io/fyne/v2"
|
"fyne.io/fyne/v2"
|
||||||
@ -13,6 +17,7 @@ import (
|
|||||||
"fyne.io/fyne/v2/layout"
|
"fyne.io/fyne/v2/layout"
|
||||||
"fyne.io/fyne/v2/widget"
|
"fyne.io/fyne/v2/widget"
|
||||||
"github.com/atotto/clipboard"
|
"github.com/atotto/clipboard"
|
||||||
|
"github.com/sirupsen/logrus"
|
||||||
"github.com/spf13/cast"
|
"github.com/spf13/cast"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -36,7 +41,6 @@ func (this *toyUserInfo) Init(obs observer.Observer) error {
|
|||||||
this.copyBtn = widget.NewButton(common.USERINFO_BTN_COPY, func() {
|
this.copyBtn = widget.NewButton(common.USERINFO_BTN_COPY, func() {
|
||||||
if this.userInfo != nil && this.userInfo.DbUser != nil {
|
if this.userInfo != nil && this.userInfo.DbUser != nil {
|
||||||
_ = clipboard.WriteAll(this.userInfo.DbUser.Uid)
|
_ = clipboard.WriteAll(this.userInfo.DbUser.Uid)
|
||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.copyBtn.Disable()
|
this.copyBtn.Disable()
|
||||||
@ -55,11 +59,11 @@ func (this *toyUserInfo) Init(obs observer.Observer) error {
|
|||||||
nil, nil, nil, container.NewVScroll(this.dataList)))
|
nil, nil, nil, container.NewVScroll(this.dataList)))
|
||||||
this.widget.Resize(fyne.NewSize(ToyWidth, 600))
|
this.widget.Resize(fyne.NewSize(ToyWidth, 600))
|
||||||
|
|
||||||
this.Run()
|
this.dataListener()
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *toyUserInfo) Run() {
|
func (this *toyUserInfo) dataListener() {
|
||||||
this.obs.AddListener(observer.EVENT_USERINFO, observer.Listener{
|
this.obs.AddListener(observer.EVENT_USERINFO, observer.Listener{
|
||||||
OnNotify: func(d interface{}, args ...interface{}) {
|
OnNotify: func(d interface{}, args ...interface{}) {
|
||||||
time.Sleep(time.Millisecond * 50)
|
time.Sleep(time.Millisecond * 50)
|
||||||
@ -72,7 +76,7 @@ func (this *toyUserInfo) Run() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
_ = this.data.Append(fmt.Sprintf("%-3s\t: %s", common.USERINFO_UID, this.userInfo.DbUser.Uid))
|
// _ = this.data.Append(fmt.Sprintf("%-3s\t: %s", common.USERINFO_UID, this.userInfo.DbUser.Uid))
|
||||||
_ = this.data.Append(fmt.Sprintf("%-3s\t: %s", common.USERINFO_ACC, this.userInfo.DbUser.Binduid))
|
_ = this.data.Append(fmt.Sprintf("%-3s\t: %s", common.USERINFO_ACC, this.userInfo.DbUser.Binduid))
|
||||||
_ = this.data.Append(fmt.Sprintf("%-3s\t: %s", common.USERINFO_NAME, this.userInfo.DbUser.Name))
|
_ = this.data.Append(fmt.Sprintf("%-3s\t: %s", common.USERINFO_NAME, this.userInfo.DbUser.Name))
|
||||||
_ = this.data.Append(fmt.Sprintf("%-3s\t: %s", common.USERINFO_AVATAR, cast.ToString(this.userInfo.DbUser.Avatar)))
|
_ = this.data.Append(fmt.Sprintf("%-3s\t: %s", common.USERINFO_AVATAR, cast.ToString(this.userInfo.DbUser.Avatar)))
|
||||||
@ -82,4 +86,40 @@ func (this *toyUserInfo) Run() {
|
|||||||
_ = this.data.Append(fmt.Sprintf("%-3s\t: %s", common.USERINFO_EXP, cast.ToString(this.userInfo.DbUser.Exp)))
|
_ = this.data.Append(fmt.Sprintf("%-3s\t: %s", common.USERINFO_EXP, cast.ToString(this.userInfo.DbUser.Exp)))
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
this.obs.AddListener(observer.EVENT_CASE_RSP, observer.Listener{
|
||||||
|
OnNotify: func(d interface{}, args ...interface{}) {
|
||||||
|
data := d.(*pb.UserMessage)
|
||||||
|
//change name
|
||||||
|
if data.MainType == string(comm.ModuleUser) &&
|
||||||
|
data.SubType == user.UserSubTypeModifyName {
|
||||||
|
rsp := &pb.UserModifynameResp{}
|
||||||
|
if !comm.ProtoUnmarshal(data, rsp) {
|
||||||
|
logrus.Error("unmarshal err")
|
||||||
|
}
|
||||||
|
//TODO 改此协议 返回昵称
|
||||||
|
// _=this.data.SetValue(1, fmt.Sprintf("%-3s\t: %s", common.USERINFO_NAME, rsp.Uid))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
this.obs.AddListener(observer.EVENT_APP_PUSH, observer.Listener{
|
||||||
|
OnNotify: func(d interface{}, args ...interface{}) {
|
||||||
|
data := d.(*model.PushModel)
|
||||||
|
// listener gold
|
||||||
|
if data.Msg.MainType == string(comm.ModuleUser) &&
|
||||||
|
data.Msg.SubType == "reschange" {
|
||||||
|
rsp := &pb.UserResChangePush{}
|
||||||
|
if !comm.ProtoUnmarshal(data.Msg, rsp) {
|
||||||
|
logrus.Error("unmarshal err")
|
||||||
|
}
|
||||||
|
_ = this.data.SetValue(5, fmt.Sprintf("%-3s\t: %s", common.USERINFO_GOLD, cast.ToString(rsp.Gold)))
|
||||||
|
}
|
||||||
|
// listener exp
|
||||||
|
if data.Msg.MainType == string(comm.ModuleUser) &&
|
||||||
|
data.Msg.SubType == "" {
|
||||||
|
//TODO change exp
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ func (this *MCompConfigure) GetConfigure(name string) (v interface{}, err error)
|
|||||||
|
|
||||||
//全局配置
|
//全局配置
|
||||||
func (this *MCompConfigure) GetGlobalConf(key string) string {
|
func (this *MCompConfigure) GetGlobalConf(key string) string {
|
||||||
if v, err := this.GetConfigure(game_initial); err != nil {
|
if v, err := this.GetConfigure(game_global); err != nil {
|
||||||
log.Errorf("get global conf err:%v", err)
|
log.Errorf("get global conf err:%v", err)
|
||||||
return ""
|
return ""
|
||||||
} else {
|
} else {
|
||||||
|
@ -29,11 +29,6 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.FriendApplyReq) (c
|
|||||||
Resp *pb.FriendApplyResp
|
Resp *pb.FriendApplyResp
|
||||||
)
|
)
|
||||||
|
|
||||||
defer func() {
|
|
||||||
|
|
||||||
// utils.TraceFunc(session.GetUserId(), string(this.module.GetType()), FriendSubTypeApply, req, Resp)
|
|
||||||
}()
|
|
||||||
|
|
||||||
defer func() {
|
defer func() {
|
||||||
if code == pb.ErrorCode_Success {
|
if code == pb.ErrorCode_Success {
|
||||||
Resp = &pb.FriendApplyResp{
|
Resp = &pb.FriendApplyResp{
|
||||||
@ -41,8 +36,7 @@ func (this *apiComp) Apply(session comm.IUserSession, req *pb.FriendApplyReq) (c
|
|||||||
FriendId: req.FriendId,
|
FriendId: req.FriendId,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
err := session.SendMsg(string(this.module.GetType()), FriendSubTypeApply, Resp)
|
if err := session.SendMsg(string(this.module.GetType()), FriendSubTypeApply, Resp); err != nil {
|
||||||
if err != nil {
|
|
||||||
code = pb.ErrorCode_SystemError
|
code = pb.ErrorCode_SystemError
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -37,9 +37,14 @@ func (this *apiComp) ApplyList(session comm.IUserSession, req *pb.FriendApplyLis
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, userId := range self.ApplyIds {
|
for _, userId := range self.ApplyIds {
|
||||||
|
user := this.module.ModuleUser.GetUser(userId)
|
||||||
|
if user == nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
//TODO 组装FriendBase明细数据
|
//TODO 组装FriendBase明细数据
|
||||||
list = append(list, &pb.FriendBase{
|
list = append(list, &pb.FriendBase{
|
||||||
UserId: userId,
|
UserId: userId,
|
||||||
|
NickName: user.Name,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ func (this *apiComp) BlacklistCheck(session comm.IUserSession, req *pb.FriendBla
|
|||||||
func (this *apiComp) Blacklist(session comm.IUserSession, req *pb.FriendBlackListReq) (code pb.ErrorCode, data proto.Message) {
|
func (this *apiComp) Blacklist(session comm.IUserSession, req *pb.FriendBlackListReq) (code pb.ErrorCode, data proto.Message) {
|
||||||
var (
|
var (
|
||||||
self *pb.DBFriend
|
self *pb.DBFriend
|
||||||
Resp *pb.FriendBlackListResp
|
Resp *pb.FriendBlackListResp
|
||||||
list []*pb.FriendBase
|
list []*pb.FriendBase
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -32,15 +32,20 @@ func (this *apiComp) Blacklist(session comm.IUserSession, req *pb.FriendBlackLis
|
|||||||
}()
|
}()
|
||||||
|
|
||||||
self = this.module.modelFriend.GetFriend(session.GetUserId())
|
self = this.module.modelFriend.GetFriend(session.GetUserId())
|
||||||
if self == nil {
|
if self == nil {
|
||||||
code = pb.ErrorCode_FriendSelfNoData
|
code = pb.ErrorCode_FriendSelfNoData
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, userId := range self.BlackIds {
|
for _, userId := range self.BlackIds {
|
||||||
//TODO 完善FriendBase信息
|
user := this.module.ModuleUser.GetUser(userId)
|
||||||
|
if user == nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
list = append(list, &pb.FriendBase{
|
list = append(list, &pb.FriendBase{
|
||||||
UserId: userId,
|
UserId: userId,
|
||||||
|
NickName: user.Name,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ func (this *apiComp) ListCheck(session comm.IUserSession, req *pb.FriendListReq)
|
|||||||
func (this *apiComp) List(session comm.IUserSession, req *pb.FriendListReq) (code pb.ErrorCode, data proto.Message) {
|
func (this *apiComp) List(session comm.IUserSession, req *pb.FriendListReq) (code pb.ErrorCode, data proto.Message) {
|
||||||
var (
|
var (
|
||||||
self *pb.DBFriend
|
self *pb.DBFriend
|
||||||
Resp *pb.FriendListResp
|
Resp *pb.FriendListResp
|
||||||
list []*pb.FriendBase
|
list []*pb.FriendBase
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -37,8 +37,13 @@ func (this *apiComp) List(session comm.IUserSession, req *pb.FriendListReq) (cod
|
|||||||
}
|
}
|
||||||
|
|
||||||
for _, userId := range self.FriendIds {
|
for _, userId := range self.FriendIds {
|
||||||
|
user := this.module.ModuleUser.GetUser(userId)
|
||||||
|
if user == nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
list = append(list, &pb.FriendBase{
|
list = append(list, &pb.FriendBase{
|
||||||
UserId: userId,
|
UserId: userId,
|
||||||
|
NickName: user.Name,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ func (this *Friend) OnInstallComp() {
|
|||||||
|
|
||||||
//获取最大好友数
|
//获取最大好友数
|
||||||
func (this *Friend) getFriendMax() int {
|
func (this *Friend) getFriendMax() int {
|
||||||
if maxHy := this.configure.GetGlobalConf("max_hy"); maxHy != "" {
|
if maxHy := this.configure.GetGlobalConf("friend_maxnum"); maxHy != "" {
|
||||||
return cast.ToInt(maxHy)
|
return cast.ToInt(maxHy)
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
@ -47,7 +47,7 @@ func (this *Friend) getFriendMax() int {
|
|||||||
|
|
||||||
//获取最大黑名单数
|
//获取最大黑名单数
|
||||||
func (this *Friend) getBlackMax() int {
|
func (this *Friend) getBlackMax() int {
|
||||||
if maxHy := this.configure.GetGlobalConf("max_hmd"); maxHy != "" {
|
if maxHy := this.configure.GetGlobalConf("friend_black"); maxHy != "" {
|
||||||
return cast.ToInt(maxHy)
|
return cast.ToInt(maxHy)
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
|
Loading…
Reference in New Issue
Block a user