go_dreamfactory/cmd/v2/ui/protocol.go
2022-08-10 19:31:21 +08:00

288 lines
8.9 KiB
Go

package ui
import (
"fmt"
"go_dreamfactory/cmd/v2/model"
"go_dreamfactory/cmd/v2/service/observer"
"go_dreamfactory/cmd/v2/ui/formview"
"go_dreamfactory/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules/friend"
"go_dreamfactory/modules/hero"
"go_dreamfactory/modules/task"
"go_dreamfactory/modules/user"
"go_dreamfactory/pb"
"fyne.io/fyne/v2"
"google.golang.org/protobuf/proto"
)
type MyCaseView interface {
Init(obs observer.Observer, w fyne.Window)
CreateView(t *model.TestCase) fyne.CanvasObject
Load()
}
// 1 注册接口测试的表单试图
var (
viewRegister = map[string]MyCaseView{
// gm
ff(comm.ModuleGM, "cmd"): &formview.BingoView{},
//user
ff(comm.ModuleUser, user.UserSubTypeModifyName): &formview.UserModifynameView{},
//task
ff(comm.ModuleTask, task.TaskSubTypeList): &formview.TaskListView{},
ff(comm.ModuleTask, task.TaskSubTypeReceive): &formview.TaskReceiveView{},
ff(comm.ModuleTask, task.TaskSubTypeActiveList): &formview.TaskActiveListView{},
ff(comm.ModuleTask, task.TaskSubTypeActiveReceive): &formview.TaskActiveReceiveView{},
// hero
ff(comm.ModuleHero, hero.HeroSubTypeList): &formview.HeroListView{},
ff(comm.ModuleHero, hero.StrengthenUplv): &formview.HeroStrengthenUplvView{},
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{},
ff(comm.ModuleFriend, friend.FriendSubTypeZanList): &formview.FriendZanView{},
}
)
// 2 添加导航菜单
var (
CaseIndex = map[string][]string{
"": {
string(comm.ModuleGM),
string(comm.ModuleUser),
string(comm.ModuleHero),
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),
ff(comm.ModuleFriend, friend.FriendSubTypeZanList),
},
}
)
// 3 注册测试用例
var (
CaseNav = map[string]*model.TestCase{
// gm
"gm": {
MainType: string(comm.ModuleGM),
Enabled: true,
},
ff(comm.ModuleGM, "cmd"): {
Desc: "eg. bingo:item,10001,1 bingo:attr,gold,1000000",
MainType: string(comm.ModuleGM),
SubType: "cmd",
Req: &pb.GMCmdReq{},
Rsp: &pb.GMCmdResp{},
Enabled: true,
},
// user
"user": {
MainType: "user",
Enabled: true,
},
"user.modifyname": {
Desc: "用户昵称修改",
MainType: "user",
SubType: "modifyname",
Req: &pb.UserModifynameReq{},
Rsp: &pb.UserModifynameResp{},
Print: func(rsp proto.Message) string {
r := rsp.(*pb.UserModifynameResp)
return fmt.Sprintf("Uid:%s count:%d", r.Uid, r.Count)
},
Enabled: true,
},
// task
"task": {
MainType: "task",
Enabled: true,
},
"task.list": {
Desc: "用户任务列表",
MainType: "task",
SubType: "list",
Req: &pb.TaskListReq{},
Rsp: &pb.TaskListResp{},
Enabled: true,
},
"task.receive": {
Desc: "用户任务领取",
MainType: "task",
SubType: "receive",
Enabled: true,
},
ff(comm.ModuleTask, task.TaskSubTypeActiveList): {
Desc: "用户活跃度列表",
MainType: string(comm.ModuleTask),
SubType: task.TaskSubTypeActiveList,
Req: &pb.TaskActiveListReq{},
Rsp: &pb.TaskActiveListResp{},
Enabled: true,
},
ff(comm.ModuleTask, task.TaskSubTypeActiveReceive): {
Desc: "用户活跃度领取",
MainType: string(comm.ModuleTask),
SubType: task.TaskSubTypeActiveReceive,
Req: &pb.TaskActiveReceiveReq{},
Rsp: &pb.TaskActiveReceiveResp{},
Enabled: true,
},
// hero
string(comm.ModuleHero): {
MainType: string(comm.ModuleHero),
Enabled: true,
},
ff(comm.ModuleHero, hero.HeroSubTypeList): {
Desc: "英雄列表",
MainType: string(comm.ModuleHero),
SubType: hero.HeroSubTypeList,
Req: &pb.HeroListReq{},
Rsp: &pb.HeroListResp{},
// Print: func(rsp proto.Message) string{
// out := rsp.(*pb.HeroListResp)
// for i, v := range out.List {
// fmt.Printf("%d- %v\n", (i + 1), v)
// }
// },
Enabled: true,
},
ff(comm.ModuleHero, hero.StrengthenUplv): {
Desc: "英雄等级升级",
MainType: string(comm.ModuleHero),
SubType: hero.StrengthenUplv,
Req: &pb.HeroStrengthenUplvReq{},
Rsp: &pb.HeroStrengthenUplvResp{},
Enabled: true,
},
ff(comm.ModuleHero, hero.StrengthenUpStar): {
Desc: "英雄星级升级",
MainType: string(comm.ModuleHero),
SubType: hero.StrengthenUpStar,
Req: &pb.HeroStrengthenUpStarReq{},
Rsp: &pb.HeroStrengthenUpStarResp{},
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,
},
ff(comm.ModuleFriend, friend.FriendSubTypeZanList): {
Desc: "点赞好友",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeZanList,
Enabled: true,
},
}
)
func ff(s1 core.M_Modules, s2 string) string {
return fmt.Sprintf("%s.%s", s1, s2)
}