package ui import ( "fmt" "go_dreamfactory/cmd/v2/model" "go_dreamfactory/cmd/v2/ui/formview" "go_dreamfactory/comm" "go_dreamfactory/lego/core" "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() CreateForm(t *model.TestCase) fyne.CanvasObject } // 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{}, } ) // 2 添加导航菜单 var ( CaseIndex = map[string][]string{ "": {"gm", "user", "hero", "task"}, "gm": {"gm.cmd"}, "user": {"user.modifyname"}, "hero": {"hero.list", "hero.strengthenuplv", "hero.strengthenupstar"}, "task": {"task.list", "task.receive", "task.activelist", "task.activereceive"}, } ) // 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, }, } ) func ff(s1 core.M_Modules, s2 string) string { return fmt.Sprintf("%s.%s", s1, s2) }