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