diff --git a/cmd/v2/gen_test.go b/cmd/v2/gen_test.go index 483fbbbd6..6224efb2b 100644 --- a/cmd/v2/gen_test.go +++ b/cmd/v2/gen_test.go @@ -1,8 +1,8 @@ package main_test import ( - cfg "go_dreamfactory/sys/configure/structs" "go_dreamfactory/cmd/v2/lib/common" + cfg "go_dreamfactory/sys/configure/structs" "html/template" "os" "testing" @@ -13,7 +13,10 @@ type TaskCond struct { } func TestTask(t *testing.T) { - if tb, err := cfg.NewTables(common.Loader); err == nil { + commcfg := &common.Config{ + Path: "F:\\projects\\workspace\\go_dreamfactory\\bin\\json", + } + if tb, err := cfg.NewTables(commcfg.Loader); err == nil { data := tb.RdtaskCondi.GetDataMap() tmpl := template.New("task") diff --git a/cmd/v2/lib/assistant.go b/cmd/v2/lib/assistant.go index e19c1e3e6..f8b12e773 100644 --- a/cmd/v2/lib/assistant.go +++ b/cmd/v2/lib/assistant.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "go_dreamfactory/cmd/v2/lib/common" "go_dreamfactory/cmd/v2/service/observer" "go_dreamfactory/pb" diff --git a/cmd/v2/lib/common/utils.go b/cmd/v2/lib/common/utils.go index cbe4c50b0..d73492c4b 100644 --- a/cmd/v2/lib/common/utils.go +++ b/cmd/v2/lib/common/utils.go @@ -3,7 +3,9 @@ package common import ( "bytes" "encoding/json" + "errors" "fmt" + "go_dreamfactory/lego/core" "io" "io/ioutil" "math" @@ -18,6 +20,10 @@ import ( "google.golang.org/protobuf/proto" ) +func MF(s1 core.M_Modules, s2 string) string { + return fmt.Sprintf("%s.%s", s1, s2) +} + func FormatJson(data string) (string, error) { var out bytes.Buffer err := json.Indent(&out, []byte(data), "", " ") @@ -161,8 +167,20 @@ func ConvertFileSize(size int64) string { return "0" } -func Loader(file string) ([]map[string]interface{}, error) { - path := filepath.Join("E:\\projects\\workspace\\go_dreamfactory\\bin\\json", file+".json") +type Config struct { + Path string +} + +func (this *Config) SetPath(path string) { + this.Path = path +} + +// "F:\\projects\\workspace\\go_dreamfactory\\bin\\json" +func (this *Config) Loader(file string) ([]map[string]interface{}, error) { + if this.Path == "" { + return nil, errors.New("no setting config path") + } + path := filepath.Join(this.Path, file+".json") if bytes, err := ioutil.ReadFile(path); err != nil { return nil, err } else { @@ -237,7 +255,7 @@ func FormatFloatCeil(num float64, decimal int) (float64, error) { func LastChars(str string, count int) string { if len(str) <= count { - return str - } - return str[len(str)-count:] -} \ No newline at end of file + return str + } + return str[len(str)-count:] +} diff --git a/cmd/v2/ui/protocol.go b/cmd/v2/lib/pb/protocol.go similarity index 59% rename from cmd/v2/ui/protocol.go rename to cmd/v2/lib/pb/protocol.go index f1e325f3c..86ff153ea 100644 --- a/cmd/v2/ui/protocol.go +++ b/cmd/v2/lib/pb/protocol.go @@ -1,14 +1,12 @@ -package ui +package pb import ( "errors" "fmt" + "go_dreamfactory/cmd/v2/lib/common" "go_dreamfactory/cmd/v2/model" - "go_dreamfactory/cmd/v2/service" - "go_dreamfactory/cmd/v2/service/observer" - formview "go_dreamfactory/cmd/v2/ui/views" + "go_dreamfactory/comm" - "go_dreamfactory/lego/core" "go_dreamfactory/modules/friend" "go_dreamfactory/modules/growtask" "go_dreamfactory/modules/hero" @@ -23,114 +21,10 @@ import ( "go_dreamfactory/pb" "strings" - "fyne.io/fyne/v2" - "fyne.io/fyne/v2/widget" "github.com/sirupsen/logrus" "google.golang.org/protobuf/proto" ) -type MyCaseView interface { - Init(service service.PttService, obs observer.Observer, w fyne.Window, res *widget.Entry) - CreateView(t *model.TestCase) fyne.CanvasObject - Load() -} - -// 1 注册接口测试的表单试图 -var ( - viewRegister = map[string]MyCaseView{ - // gm - ff(comm.ModuleGM, "cmd"): &formview.BingoView{}, - // reddot - ff(comm.ModuleReddot, "get"): &formview.ReddotView{}, - //sys - ff(comm.ModuleSys, "funclist"): &formview.SysFuncListView{}, - //user - ff(comm.ModuleUser, user.UserSubTypeModifyAvatar): &formview.UserModifyavatarView{}, - ff(comm.ModuleUser, user.UserSubTypeModifyName): &formview.UserModifynameView{}, - ff(comm.ModuleUser, user.UserSubTypeModifyFigure): &formview.UserModifyfigureView{}, - ff(comm.ModuleUser, user.UserSubTYpeModifyBgp): &formview.UserModifybgpView{}, - ff(comm.ModuleUser, user.UserSubTypeModifySign): &formview.UserSignView{}, - ff(comm.ModuleUser, user.UserSubTypeBattlerecord): &formview.UserBattlerecordView{}, - // items - ff(comm.ModuleItems, "getlist"): &formview.ItemListView{}, - ff(comm.ModuleItems, "sellitem"): &formview.ItemsSellView{}, - ff(comm.ModuleItems, "useitem"): &formview.ItemsUseView{}, - //mail - ff(comm.ModuleMail, "getlist"): &formview.MailListView{}, - ff(comm.ModuleMail, "readmail"): &formview.MailReadMailView{}, - ff(comm.ModuleMail, "delmail"): &formview.MailDelView{}, - ff(comm.ModuleMail, "getusermailattachment"): &formview.MailAttachmentView{}, - ff(comm.ModuleMail, "getallmailattachment"): &formview.MailAttachmentAllView{}, - //task - ff(comm.ModuleTask, task.TaskSubTypeList): &formview.TaskListView{}, - ff(comm.ModuleTask, task.TaskSubTypeActiveList): &formview.TaskActiveListView{}, - ff(comm.ModuleTask, task.TaskSubTypeActiveReceive): &formview.TaskActiveReceiveView{}, - ff(comm.ModuleTask, task.TaskSubTypeGetrecord): &formview.RtaskRecordView{}, - // hero - ff(comm.ModuleHero, hero.HeroSubTypeList): &formview.HeroListView{}, - ff(comm.ModuleHero, hero.StrengthenUplv): &formview.HeroStrengthenUplvView{}, - ff(comm.ModuleHero, hero.StrengthenUpStar): &formview.HeroStrengthenUpStarView{}, - ff(comm.ModuleHero, hero.DrawCard): &formview.HeroZhaomuView{}, - ff(comm.ModuleHero, "info"): &formview.HeroInfoView{}, - //equip - ff(comm.ModuleEquipment, "getlist"): &formview.EquipListView{}, - ff(comm.ModuleEquipment, "equip"): &formview.EquipUpDownView{}, - ff(comm.ModuleEquipment, "upgrade"): &formview.EquipUpgradeView{}, - //friend - ff(comm.ModuleFriend, friend.FriendSubTypeList): &formview.FriendListView{}, - // ff(comm.ModuleFriend, friend.FriendSubTypeApply): &formview.FriendApplyView{}, - ff(comm.ModuleFriend, friend.FriendSubTypeAgree): &formview.FriendAgreeView{}, - 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{}, - ff(comm.ModuleFriend, friend.FriendSubTypeRandList): &formview.FriendRandListView{}, - ff(comm.ModuleFriend, friend.FriendSubTypeGetreward): &formview.FriendGetrewardView{}, - ff(comm.ModuleFriend, friend.FriendSubTypeAssistlist): &formview.FriendAssistListView{}, - ff(comm.ModuleFriend, friend.FriendSubTypeAssistHero): &formview.FriendAssistHeroView{}, - ff(comm.ModuleFriend, friend.FriendSubTypeAssistHeroList): &formview.FriendAssistHeroListView{}, - - // shop - ff(comm.ModuleShop, "getlist"): &formview.ShopListView{}, - ff(comm.ModuleShop, "buy"): &formview.ShopBuyView{}, - // mailine - ff(comm.ModuleMline, mline.MlineGetListResp): &formview.MainlineListView{}, - ff(comm.ModuleMline, mline.MlineChallengeResp): &formview.MainlineChallengeView{}, - ff(comm.ModuleMline, mline.MlineGetRewardResp): &formview.MainlineRewardView{}, - // pagoda - ff(comm.ModulePagoda, "getlist"): &formview.PagodaListView{}, - // rtask - ff(comm.ModuleRtask, "rtest"): &formview.RtaskTestView{}, - // linestory - ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): &formview.LinestoryMineView{}, - ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): &formview.FetterstoryView{}, - // gourmet - ff(comm.ModuleGourmet, "getranduser"): &formview.GourmentGetRandView{}, - // sociaty - ff(comm.ModuleSociaty, sociaty.SociatySubTypeList): &formview.SociatyListView{}, - ff(comm.ModuleSociaty, sociaty.SociatySubTypeCreate): &formview.SociatyCreateView{}, - ff(comm.ModuleSociaty, sociaty.SociatySubTypeMine): &formview.SociatyMineView{}, - ff(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist): &formview.SociatyTasklistView{}, - ff(comm.ModuleSociaty, sociaty.SociatySubTypeRank): &formview.SociatyRankView{}, - ff(comm.ModuleSociaty, "boss"): &formview.SociatyBossView{}, - // troll - ff(comm.ModuleTroll, "getlist"): &formview.TrollGetlistView{}, - // growtask - ff(comm.ModuleGrowtask, growtask.GrowtaskSubTypeList): &formview.GrowtaskListView{}, - //worldtask - ff(comm.ModuleWorldtask, worldtask.WorldtaskSubtypeMine): &formview.WorldtaskMineView{}, - //smithy - ff(comm.ModuleSmithy, "customer"): &formview.SmithyView{}, - //武馆派遣 - ff(comm.ModuleDispatch, "dispatch"): &formview.DispatchView{}, - //声望 - ff(comm.ModuleReputation, "reputation"): &formview.ReputationView{}, - //旧时光 - ff(comm.ModuleOldtimes, "oldtimes"): &formview.OldtimesView{}, - } -) - // 2 添加导航菜单 var ( CaseIndex = map[string][]string{ @@ -160,114 +54,114 @@ var ( string(comm.ModuleReputation), string(comm.ModuleOldtimes), }, - "gm": {ff(comm.ModuleGM, "cmd")}, + "gm": {common.MF(comm.ModuleGM, "cmd")}, "sys": { - ff(comm.ModuleSys, "funclist"), + common.MF(comm.ModuleSys, "funclist"), }, - "reddot": {ff(comm.ModuleReddot, "get")}, + "reddot": {common.MF(comm.ModuleReddot, "get")}, "user": { - ff(comm.ModuleUser, user.UserSubTypeModifyAvatar), - ff(comm.ModuleUser, user.UserSubTypeModifyName), - ff(comm.ModuleUser, user.UserSubTypeModifyFigure), - ff(comm.ModuleUser, user.UserSubTYpeModifyBgp), - ff(comm.ModuleUser, user.UserSubTypeModifySign), - ff(comm.ModuleUser, user.UserSubTypeBattlerecord), + common.MF(comm.ModuleUser, user.UserSubTypeModifyAvatar), + common.MF(comm.ModuleUser, user.UserSubTypeModifyName), + common.MF(comm.ModuleUser, user.UserSubTypeModifyFigure), + common.MF(comm.ModuleUser, user.UserSubTYpeModifyBgp), + common.MF(comm.ModuleUser, user.UserSubTypeModifySign), + common.MF(comm.ModuleUser, user.UserSubTypeBattlerecord), }, "items": { - ff(comm.ModuleItems, "getlist"), - ff(comm.ModuleItems, "sellitem"), - ff(comm.ModuleItems, "useitem"), + common.MF(comm.ModuleItems, "getlist"), + common.MF(comm.ModuleItems, "sellitem"), + common.MF(comm.ModuleItems, "useitem"), }, "mail": { - ff(comm.ModuleMail, "getlist"), - ff(comm.ModuleMail, "readmail"), - ff(comm.ModuleMail, "delmail"), - ff(comm.ModuleMail, "getusermailattachment"), - ff(comm.ModuleMail, "getallmailattachment"), + common.MF(comm.ModuleMail, "getlist"), + common.MF(comm.ModuleMail, "readmail"), + common.MF(comm.ModuleMail, "delmail"), + common.MF(comm.ModuleMail, "getusermailattachment"), + common.MF(comm.ModuleMail, "getallmailattachment"), }, "hero": { - ff(comm.ModuleHero, hero.HeroSubTypeList), - ff(comm.ModuleHero, hero.StrengthenUplv), - ff(comm.ModuleHero, hero.StrengthenUpStar), - ff(comm.ModuleHero, hero.DrawCard), - ff(comm.ModuleHero, "info"), + common.MF(comm.ModuleHero, hero.HeroSubTypeList), + common.MF(comm.ModuleHero, hero.StrengthenUplv), + common.MF(comm.ModuleHero, hero.StrengthenUpStar), + common.MF(comm.ModuleHero, hero.DrawCard), + common.MF(comm.ModuleHero, "info"), }, "equipment": { - ff(comm.ModuleEquipment, "getlist"), - ff(comm.ModuleEquipment, "equip"), - ff(comm.ModuleEquipment, "upgrade"), + common.MF(comm.ModuleEquipment, "getlist"), + common.MF(comm.ModuleEquipment, "equip"), + common.MF(comm.ModuleEquipment, "upgrade"), }, "task": { - ff(comm.ModuleTask, task.TaskSubTypeList), - ff(comm.ModuleTask, task.TaskSubTypeActiveList), - ff(comm.ModuleTask, task.TaskSubTypeActiveReceive), - ff(comm.ModuleTask, task.TaskSubTypeGetrecord), + common.MF(comm.ModuleTask, task.TaskSubTypeList), + common.MF(comm.ModuleTask, task.TaskSubTypeActiveList), + common.MF(comm.ModuleTask, task.TaskSubTypeActiveReceive), + common.MF(comm.ModuleTask, task.TaskSubTypeGetrecord), }, "friend": { - ff(comm.ModuleFriend, friend.FriendSubTypeList), - // ff(comm.ModuleFriend, friend.FriendSubTypeApply), - ff(comm.ModuleFriend, friend.FriendSubTypeAgree), - 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), - ff(comm.ModuleFriend, friend.FriendSubTypeRandList), - ff(comm.ModuleFriend, friend.FriendSubTypeGetreward), - ff(comm.ModuleFriend, friend.FriendSubTypeAssistHero), - ff(comm.ModuleFriend, friend.FriendSubTypeAssistlist), - ff(comm.ModuleFriend, friend.FriendSubTypeAssistHeroList), + common.MF(comm.ModuleFriend, friend.FriendSubTypeList), + // common.MF(comm.ModuleFriend, friend.FriendSubTypeApply), + common.MF(comm.ModuleFriend, friend.FriendSubTypeAgree), + common.MF(comm.ModuleFriend, friend.FriendSubTypeBlacklist), + common.MF(comm.ModuleFriend, friend.FriendSubTypeAddBlack), + common.MF(comm.ModuleFriend, friend.FriendSubTypeDelBlack), + // common.MF(comm.ModuleFriend, friend.FriendSubTypeSearch), + // common.MF(comm.ModuleFriend, friend.FriendSubTypeZanList), + common.MF(comm.ModuleFriend, friend.FriendSubTypeRandList), + common.MF(comm.ModuleFriend, friend.FriendSubTypeGetreward), + common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistHero), + common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistlist), + common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistHeroList), }, "shop": { - ff(comm.ModuleShop, "getlist"), - ff(comm.ModuleShop, "buy"), + common.MF(comm.ModuleShop, "getlist"), + common.MF(comm.ModuleShop, "buy"), }, "mainline": { - ff(comm.ModuleMline, mline.MlineGetListResp), - ff(comm.ModuleMline, mline.MlineChallengeResp), - ff(comm.ModuleMline, mline.MlineGetRewardResp), + common.MF(comm.ModuleMline, mline.MlineGetListResp), + common.MF(comm.ModuleMline, mline.MlineChallengeResp), + common.MF(comm.ModuleMline, mline.MlineGetRewardResp), }, "pagoda": { - ff(comm.ModulePagoda, "getlist"), + common.MF(comm.ModulePagoda, "getlist"), }, "rtask": { - ff(comm.ModuleRtask, "rtest"), + common.MF(comm.ModuleRtask, "rtest"), }, "linestory": { - ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter), - ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp), + common.MF(comm.ModuleLinestory, linestory.LinestorySubTypeChapter), + common.MF(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp), }, "gourmet": { - ff(comm.ModuleGourmet, "getranduser"), + common.MF(comm.ModuleGourmet, "getranduser"), }, "sociaty": { - ff(comm.ModuleSociaty, sociaty.SociatySubTypeList), - ff(comm.ModuleSociaty, sociaty.SociatySubTypeCreate), - ff(comm.ModuleSociaty, sociaty.SociatySubTypeMine), - ff(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist), - ff(comm.ModuleSociaty, sociaty.SociatySubTypeRank), - ff(comm.ModuleSociaty, "boss"), + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeList), + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeCreate), + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeMine), + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist), + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeRank), + common.MF(comm.ModuleSociaty, "boss"), }, "troll": { - ff(comm.ModuleTroll, "getlist"), + common.MF(comm.ModuleTroll, "getlist"), }, "growtask": { - ff(comm.ModuleGrowtask, growtask.GrowtaskSubTypeList), + common.MF(comm.ModuleGrowtask, growtask.GrowtaskSubTypeList), }, "worldtask": { - ff(comm.ModuleWorldtask, worldtask.WorldtaskSubtypeMine), + common.MF(comm.ModuleWorldtask, worldtask.WorldtaskSubtypeMine), }, "smithy": { - ff(comm.ModuleSmithy, "customer"), + common.MF(comm.ModuleSmithy, "customer"), }, "dispatch": { - ff(comm.ModuleDispatch, "dispatch"), + common.MF(comm.ModuleDispatch, "dispatch"), }, "reputation": { - ff(comm.ModuleReputation, "reputation"), + common.MF(comm.ModuleReputation, "reputation"), }, "oldtimes": { - ff(comm.ModuleOldtimes, "oldtimes"), + common.MF(comm.ModuleOldtimes, "oldtimes"), }, } ) @@ -281,7 +175,7 @@ var ( MainType: string(comm.ModuleGM), Enabled: true, }, - ff(comm.ModuleGM, "cmd"): { + common.MF(comm.ModuleGM, "cmd"): { Desc: "eg. bingo:item,10001,1 bingo:attr,gold,1000000", MainType: string(comm.ModuleGM), SubType: "cmd", @@ -294,7 +188,7 @@ var ( MainType: string(comm.ModuleReddot), Enabled: true, }, - ff(comm.ModuleReddot, "get"): { + common.MF(comm.ModuleReddot, "get"): { Desc: "红点", NavLabel: "红点", MainType: string(comm.ModuleReddot), @@ -306,7 +200,7 @@ var ( MainType: string(comm.ModuleSys), Enabled: true, }, - ff(comm.ModuleSys, "funclist"): { + common.MF(comm.ModuleSys, "funclist"): { NavLabel: "功能列表", Desc: "返回未开启的功能列表", MainType: string(comm.ModuleSys), @@ -319,7 +213,7 @@ var ( MainType: "user", Enabled: true, }, - ff(comm.ModuleUser, user.UserSubTypeModifyAvatar): { + common.MF(comm.ModuleUser, user.UserSubTypeModifyAvatar): { Desc: "用户头像修改", NavLabel: "修改头像", MainType: string(comm.ModuleUser), @@ -348,28 +242,28 @@ var ( }, Enabled: true, }, - ff(comm.ModuleUser, user.UserSubTypeModifyFigure): { + common.MF(comm.ModuleUser, user.UserSubTypeModifyFigure): { Desc: "用户形象修改", NavLabel: "修改形象", MainType: string(comm.ModuleUser), SubType: user.UserSubTypeModifyFigure, Enabled: true, }, - ff(comm.ModuleUser, user.UserSubTYpeModifyBgp): { + common.MF(comm.ModuleUser, user.UserSubTYpeModifyBgp): { Desc: "背景修改", NavLabel: "修改背景", MainType: string(comm.ModuleUser), SubType: user.UserSubTYpeModifyBgp, Enabled: true, }, - ff(comm.ModuleUser, user.UserSubTypeModifySign): { + common.MF(comm.ModuleUser, user.UserSubTypeModifySign): { NavLabel: "修改签名", Desc: "用户签名修改", MainType: string(comm.ModuleUser), SubType: user.UserSubTypeModifySign, Enabled: true, }, - ff(comm.ModuleUser, user.UserSubTypeBattlerecord): { + common.MF(comm.ModuleUser, user.UserSubTypeBattlerecord): { NavLabel: "战斗记录", Desc: "玩家在心魔塔、狩猎、维京远征的战斗记录", MainType: string(comm.ModuleUser), @@ -382,21 +276,21 @@ var ( MainType: string(comm.ModuleItems), Enabled: true, }, - ff(comm.ModuleItems, "getlist"): { + common.MF(comm.ModuleItems, "getlist"): { NavLabel: "道具列表", Desc: "道具列表", MainType: string(comm.ModuleItems), SubType: "getlist", Enabled: true, }, - ff(comm.ModuleItems, "sellitem"): { + common.MF(comm.ModuleItems, "sellitem"): { NavLabel: "道具售卖", Desc: "道具售卖", MainType: string(comm.ModuleItems), SubType: "sellitem", Enabled: true, }, - ff(comm.ModuleItems, "useitem"): { + common.MF(comm.ModuleItems, "useitem"): { NavLabel: "道具使用", Desc: "道具使用", MainType: string(comm.ModuleItems), @@ -410,35 +304,35 @@ var ( MainType: string(comm.ModuleMail), Enabled: true, }, - ff(comm.ModuleMail, "getlist"): { + common.MF(comm.ModuleMail, "getlist"): { NavLabel: "我的邮件", Desc: "我的邮件", MainType: string(comm.ModuleMail), SubType: "getlist", Enabled: true, }, - ff(comm.ModuleMail, "readmail"): { + common.MF(comm.ModuleMail, "readmail"): { NavLabel: "读邮件", Desc: "读取邮件", MainType: string(comm.ModuleMail), SubType: "readmail", Enabled: true, }, - ff(comm.ModuleMail, "delmail"): { + common.MF(comm.ModuleMail, "delmail"): { NavLabel: "删除邮件", Desc: "删除邮件", MainType: string(comm.ModuleMail), SubType: "delmail", Enabled: true, }, - ff(comm.ModuleMail, "getusermailattachment"): { + common.MF(comm.ModuleMail, "getusermailattachment"): { NavLabel: "领取附件", Desc: "领取附件", MainType: string(comm.ModuleMail), SubType: "getusermailattachment", Enabled: true, }, - ff(comm.ModuleMail, "getallmailattachment"): { + common.MF(comm.ModuleMail, "getallmailattachment"): { NavLabel: "一键领取", Desc: "领取所有附件", MainType: string(comm.ModuleMail), @@ -475,7 +369,7 @@ var ( return formatStr.String() }, }, - ff(comm.ModuleTask, task.TaskSubTypeGetrecord): { + common.MF(comm.ModuleTask, task.TaskSubTypeGetrecord): { NavLabel: "任务数据", Desc: "任务数据", MainType: string(comm.ModuleTask), @@ -483,7 +377,7 @@ var ( Enabled: true, }, - ff(comm.ModuleTask, task.TaskSubTypeActiveList): { + common.MF(comm.ModuleTask, task.TaskSubTypeActiveList): { NavLabel: "活跃度列表", Desc: "用户活跃度列表", MainType: string(comm.ModuleTask), @@ -492,7 +386,7 @@ var ( Rsp: &pb.TaskActiveListResp{}, Enabled: true, }, - ff(comm.ModuleTask, task.TaskSubTypeActiveReceive): { + common.MF(comm.ModuleTask, task.TaskSubTypeActiveReceive): { NavLabel: "活跃度领取", Desc: "用户活跃度领取", MainType: string(comm.ModuleTask), @@ -507,7 +401,7 @@ var ( MainType: string(comm.ModuleHero), Enabled: true, }, - ff(comm.ModuleHero, hero.HeroSubTypeList): { + common.MF(comm.ModuleHero, hero.HeroSubTypeList): { NavLabel: "英雄列表", Desc: "英雄列表", MainType: string(comm.ModuleHero), @@ -528,7 +422,7 @@ var ( }, Enabled: true, }, - ff(comm.ModuleHero, hero.StrengthenUplv): { + common.MF(comm.ModuleHero, hero.StrengthenUplv): { NavLabel: "英雄升级", Desc: "英雄等级升级", MainType: string(comm.ModuleHero), @@ -537,7 +431,7 @@ var ( Rsp: &pb.HeroStrengthenUplvResp{}, Enabled: true, }, - ff(comm.ModuleHero, hero.StrengthenUpStar): { + common.MF(comm.ModuleHero, hero.StrengthenUpStar): { NavLabel: "英雄升星", Desc: "英雄星级升级", MainType: string(comm.ModuleHero), @@ -546,14 +440,14 @@ var ( Rsp: &pb.HeroStrengthenUpStarResp{}, Enabled: true, }, - ff(comm.ModuleHero, hero.DrawCard): { + common.MF(comm.ModuleHero, hero.DrawCard): { NavLabel: "招募", Desc: "抽卡招募", MainType: string(comm.ModuleHero), SubType: hero.DrawCard, Enabled: true, }, - ff(comm.ModuleHero, "info"): { + common.MF(comm.ModuleHero, "info"): { NavLabel: "英雄信息", Desc: "英雄信息", MainType: string(comm.ModuleHero), @@ -566,21 +460,21 @@ var ( MainType: string(comm.ModuleEquipment), Enabled: true, }, - ff(comm.ModuleEquipment, "getlist"): { + common.MF(comm.ModuleEquipment, "getlist"): { NavLabel: "装备列表", Desc: "装备列表", MainType: string(comm.ModuleEquipment), SubType: "getlist", Enabled: true, }, - ff(comm.ModuleEquipment, "equip"): { + common.MF(comm.ModuleEquipment, "equip"): { NavLabel: "穿卸装备", Desc: "穿/卸装备", MainType: string(comm.ModuleEquipment), SubType: "equip", Enabled: true, }, - ff(comm.ModuleEquipment, "upgrade"): { + common.MF(comm.ModuleEquipment, "upgrade"): { NavLabel: "升级装备", Desc: "升级装备", MainType: string(comm.ModuleEquipment), @@ -593,7 +487,7 @@ var ( MainType: string(comm.ModuleFriend), Enabled: true, }, - ff(comm.ModuleFriend, friend.FriendSubTypeRandList): { + common.MF(comm.ModuleFriend, friend.FriendSubTypeRandList): { NavLabel: "在线玩家", Desc: "在线玩家列表", MainType: string(comm.ModuleFriend), @@ -613,7 +507,7 @@ var ( return formatStr.String() }, }, - ff(comm.ModuleFriend, friend.FriendSubTypeList): { + common.MF(comm.ModuleFriend, friend.FriendSubTypeList): { NavLabel: "我的好友", Desc: "我的好友列表", MainType: string(comm.ModuleFriend), @@ -622,7 +516,7 @@ var ( Rsp: &pb.FriendListResp{}, Enabled: true, }, - ff(comm.ModuleFriend, friend.FriendSubTypeApply): { + common.MF(comm.ModuleFriend, friend.FriendSubTypeApply): { NavLabel: "好友申请", Desc: "好友申请", MainType: string(comm.ModuleFriend), @@ -631,7 +525,7 @@ var ( Rsp: &pb.FriendApplyResp{}, Enabled: false, }, - ff(comm.ModuleFriend, friend.FriendSubTypeBlacklist): { + common.MF(comm.ModuleFriend, friend.FriendSubTypeBlacklist): { NavLabel: "黑名单", Desc: "黑名单列表", MainType: string(comm.ModuleFriend), @@ -640,7 +534,7 @@ var ( Rsp: &pb.FriendBlackListResp{}, Enabled: true, }, - ff(comm.ModuleFriend, friend.FriendSubTypeAddBlack): { + common.MF(comm.ModuleFriend, friend.FriendSubTypeAddBlack): { NavLabel: "加黑名单", Desc: "添加黑名单", MainType: string(comm.ModuleFriend), @@ -649,7 +543,7 @@ var ( Rsp: &pb.FriendAddBlackResp{}, Enabled: true, }, - ff(comm.ModuleFriend, friend.FriendSubTypeDelBlack): { + common.MF(comm.ModuleFriend, friend.FriendSubTypeDelBlack): { NavLabel: "删黑名单", Desc: "删除黑名单", MainType: string(comm.ModuleFriend), @@ -658,7 +552,7 @@ var ( Rsp: &pb.FriendDelBlackResp{}, Enabled: true, }, - ff(comm.ModuleFriend, friend.FriendSubTypeAgree): { + common.MF(comm.ModuleFriend, friend.FriendSubTypeAgree): { NavLabel: "好友审批", Desc: "好友申请审批", MainType: string(comm.ModuleFriend), @@ -667,7 +561,7 @@ var ( Rsp: &pb.FriendAgreeResp{}, Enabled: true, }, - // ff(comm.ModuleFriend, friend.FriendSubTypeSearch): { + // common.MF(comm.ModuleFriend, friend.FriendSubTypeSearch): { // NavLabel: "好友搜索", // Desc: "搜索好友", // MainType: string(comm.ModuleFriend), @@ -676,28 +570,28 @@ var ( // Rsp: &pb.FriendSearchResp{}, // Enabled: true, // }, - ff(comm.ModuleFriend, friend.FriendSubTypeAssistHero): { + common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistHero): { NavLabel: "助战英雄", Desc: "助战英雄", MainType: string(comm.ModuleFriend), SubType: friend.FriendSubTypeAssistHero, Enabled: true, }, - ff(comm.ModuleFriend, friend.FriendSubTypeAssistlist): { + common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistlist): { NavLabel: "助战列表", Desc: "助战英雄列表", MainType: string(comm.ModuleFriend), SubType: friend.FriendSubTypeAssistlist, Enabled: true, }, - ff(comm.ModuleFriend, friend.FriendSubTypeGetreward): { + common.MF(comm.ModuleFriend, friend.FriendSubTypeGetreward): { NavLabel: "助战奖励", Desc: "助战奖励", MainType: string(comm.ModuleFriend), SubType: friend.FriendSubTypeGetreward, Enabled: true, }, - ff(comm.ModuleFriend, friend.FriendSubTypeAssistHeroList): { + common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistHeroList): { NavLabel: "助战英雄列表", Desc: "我的好友助战英雄列表", MainType: string(comm.ModuleFriend), @@ -711,14 +605,14 @@ var ( MainType: string(comm.ModuleShop), Enabled: true, }, - ff(comm.ModuleShop, "getlist"): { + common.MF(comm.ModuleShop, "getlist"): { NavLabel: "商店列表", Desc: "商店列表", MainType: string(comm.ModuleShop), SubType: "getlist", Enabled: true, }, - ff(comm.ModuleShop, "buy"): { + common.MF(comm.ModuleShop, "buy"): { NavLabel: "购买商品", Desc: "购买商品", MainType: string(comm.ModuleShop), @@ -731,21 +625,21 @@ var ( MainType: string(comm.ModuleShop), Enabled: true, }, - ff(comm.ModuleMline, mline.MlineGetListResp): { + common.MF(comm.ModuleMline, mline.MlineGetListResp): { NavLabel: "主线关卡", Desc: "主线关卡", MainType: string(comm.ModuleMline), SubType: mline.MlineGetListResp, Enabled: true, }, - ff(comm.ModuleMline, mline.MlineChallengeResp): { + common.MF(comm.ModuleMline, mline.MlineChallengeResp): { NavLabel: "关卡挑战", Desc: "关卡挑战", MainType: string(comm.ModuleMline), SubType: mline.MlineChallengeResp, Enabled: true, }, - ff(comm.ModuleMline, mline.MlineGetRewardResp): { + common.MF(comm.ModuleMline, mline.MlineGetRewardResp): { NavLabel: "关卡奖励", Desc: "获取关卡奖励", MainType: string(comm.ModuleMline), @@ -758,7 +652,7 @@ var ( MainType: string(comm.ModulePagoda), Enabled: true, }, - ff(comm.ModulePagoda, "getlist"): { + common.MF(comm.ModulePagoda, "getlist"): { NavLabel: "魔塔列表", Desc: "魔塔列表", MainType: string(comm.ModulePagoda), @@ -771,7 +665,7 @@ var ( MainType: string(comm.ModuleRtask), Enabled: true, }, - ff(comm.ModuleRtask, "rtest"): { + common.MF(comm.ModuleRtask, "rtest"): { NavLabel: "测试条件", Desc: "测试任务触发", MainType: string(comm.ModuleRtask), @@ -784,14 +678,14 @@ var ( MainType: string(comm.ModuleLinestory), Enabled: true, }, - ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): { + common.MF(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): { NavLabel: "支线任务", Desc: "我的剧情任务", MainType: string(comm.ModuleLinestory), SubType: linestory.LinestorySubTypeChapter, Enabled: true, }, - ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): { + common.MF(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): { NavLabel: "羁绊任务", Desc: "我的剧情任务", MainType: string(comm.ModuleLibrary), @@ -804,7 +698,7 @@ var ( MainType: string(comm.ModuleGourmet), Enabled: true, }, - ff(comm.ModuleGourmet, "getranduser"): { + common.MF(comm.ModuleGourmet, "getranduser"): { NavLabel: "随机玩家", Desc: "随机玩家", MainType: string(comm.ModuleGourmet), @@ -817,14 +711,14 @@ var ( MainType: string(comm.ModuleSociaty), Enabled: true, }, - ff(comm.ModuleSociaty, sociaty.SociatySubTypeCreate): { + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeCreate): { NavLabel: "公会创建", Desc: "公会创建", MainType: string(comm.ModuleSociaty), SubType: sociaty.SociatySubTypeCreate, Enabled: true, }, - ff(comm.ModuleSociaty, sociaty.SociatySubTypeList): { + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeList): { NavLabel: "公会推荐", Desc: "公会列表", MainType: string(comm.ModuleSociaty), @@ -834,28 +728,28 @@ var ( return "不打印" }, }, - ff(comm.ModuleSociaty, sociaty.SociatySubTypeMine): { + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeMine): { NavLabel: "我的公会", Desc: "我的公会", MainType: string(comm.ModuleSociaty), SubType: sociaty.SociatySubTypeMine, Enabled: true, }, - ff(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist): { + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist): { NavLabel: "任务列表", Desc: "任务列表", MainType: string(comm.ModuleSociaty), SubType: sociaty.SociatySubTypeTasklist, Enabled: true, }, - ff(comm.ModuleSociaty, sociaty.SociatySubTypeRank): { + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeRank): { NavLabel: "排行榜", Desc: "排行榜", MainType: string(comm.ModuleSociaty), SubType: sociaty.SociatySubTypeRank, Enabled: true, }, - ff(comm.ModuleSociaty, "boss"): { + common.MF(comm.ModuleSociaty, "boss"): { NavLabel: "BOSS", Desc: "BOSS", MainType: string(comm.ModuleSociaty), @@ -868,7 +762,7 @@ var ( MainType: string(comm.ModuleTroll), Enabled: true, }, - ff(comm.ModuleTroll, "getlist"): { + common.MF(comm.ModuleTroll, "getlist"): { NavLabel: "列表", Desc: "巨兽列表", MainType: string(comm.ModuleTroll), @@ -881,7 +775,7 @@ var ( MainType: string(comm.ModuleGrowtask), Enabled: true, }, - ff(comm.ModuleGrowtask, growtask.GrowtaskSubTypeList): { + common.MF(comm.ModuleGrowtask, growtask.GrowtaskSubTypeList): { NavLabel: "列表", Desc: "成长任务列表", MainType: string(comm.ModuleGrowtask), @@ -894,7 +788,7 @@ var ( MainType: string(comm.ModuleWorldtask), Enabled: true, }, - ff(comm.ModuleWorldtask, worldtask.WorldtaskSubtypeMine): { + common.MF(comm.ModuleWorldtask, worldtask.WorldtaskSubtypeMine): { NavLabel: "我的任务", Desc: "世界任务剧情", MainType: string(comm.ModuleWorldtask), @@ -907,7 +801,7 @@ var ( MainType: string(comm.ModuleSmithy), Enabled: true, }, - ff(comm.ModuleSmithy, "customer"): { + common.MF(comm.ModuleSmithy, "customer"): { NavLabel: "顾客", Desc: "当前铁匠铺中的顾客", MainType: string(comm.ModuleSmithy), @@ -920,7 +814,7 @@ var ( MainType: string(comm.ModuleDispatch), Enabled: true, }, - ff(comm.ModuleDispatch, "dispatch"): { + common.MF(comm.ModuleDispatch, "dispatch"): { NavLabel: "派遣", Desc: "派遣", MainType: string(comm.ModuleDispatch), @@ -933,7 +827,7 @@ var ( MainType: string(comm.ModuleReputation), Enabled: true, }, - ff(comm.ModuleReputation, "reputation"): { + common.MF(comm.ModuleReputation, "reputation"): { NavLabel: "声望管理", Desc: "声望管理", MainType: string(comm.ModuleReputation), @@ -946,7 +840,7 @@ var ( MainType: string(comm.ModuleOldtimes), Enabled: true, }, - ff(comm.ModuleOldtimes, "oldtimes"): { + common.MF(comm.ModuleOldtimes, "oldtimes"): { NavLabel: "关卡", Desc: "关卡编辑器", MainType: string(comm.ModuleOldtimes), @@ -955,7 +849,3 @@ var ( }, } ) - -func ff(s1 core.M_Modules, s2 string) string { - return fmt.Sprintf("%s.%s", s1, s2) -} diff --git a/cmd/v2/lib/pb/task_protocol.go b/cmd/v2/lib/pb/task_protocol.go new file mode 100644 index 000000000..e64bcc659 --- /dev/null +++ b/cmd/v2/lib/pb/task_protocol.go @@ -0,0 +1,22 @@ +package pb + +import ( + "go_dreamfactory/cmd/v2/lib/common" + "go_dreamfactory/cmd/v2/model" + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +var ( + TaskCase = map[string]*model.TestCase{ + common.MF(comm.ModuleAcademy, "receive"): { + NavLabel: "联盟学院 领取奖励", + Desc: "新手训练营", + MainType: string(comm.ModuleAcademy), + SubType: "receive", + Enabled: true, + Req: &pb.AcademyReceiveReq{}, + Rsp: &pb.AcademyReceiveResp{}, + }, + } +) diff --git a/cmd/v2/model/testcase.go b/cmd/v2/model/testcase.go index 194bc3b91..6ddd87527 100644 --- a/cmd/v2/model/testcase.go +++ b/cmd/v2/model/testcase.go @@ -13,4 +13,4 @@ type TestCase struct { Enabled bool //是否启用 // View MyCaseView //视图 Print func(rsp proto.Message) string //定义打印 -} +} \ No newline at end of file diff --git a/cmd/v2/ui/app_testcase.go b/cmd/v2/ui/app_testcase.go index 381dc73fd..66f365209 100644 --- a/cmd/v2/ui/app_testcase.go +++ b/cmd/v2/ui/app_testcase.go @@ -3,6 +3,7 @@ package ui import ( "fmt" "go_dreamfactory/cmd/v2/lib/common" + pb2 "go_dreamfactory/cmd/v2/lib/pb" "go_dreamfactory/cmd/v2/model" "go_dreamfactory/cmd/v2/service" "go_dreamfactory/cmd/v2/service/observer" @@ -51,7 +52,7 @@ func (a *appTester) LazyInit(service service.PttService, obs observer.Observer) intro.SetText(t.Desc) content.Objects = []fyne.CanvasObject{} - if view, ok := viewRegister[viewKey]; ok { + if view, ok := ViewRegister[viewKey]; ok { timeLbl := widget.NewLabel("time") resLog := widget.NewMultiLineEntry() view.Init(service, obs, globalWin.w, resLog) @@ -114,17 +115,17 @@ func (a *appTester) LazyInit(service service.PttService, obs observer.Observer) func (a *appTester) makeNav(setNav func(testCase *model.TestCase)) fyne.CanvasObject { tree := &widget.Tree{ ChildUIDs: func(uid string) (c []widget.TreeNodeID) { - return CaseIndex[uid] + return pb2.CaseIndex[uid] }, IsBranch: func(uid string) bool { - children, ok := CaseIndex[uid] + children, ok := pb2.CaseIndex[uid] return ok && len(children) > 0 }, CreateNode: func(branch bool) fyne.CanvasObject { return widget.NewLabel("(empty)") }, UpdateNode: func(uid string, branch bool, obj fyne.CanvasObject) { - t, ok := CaseNav[uid] + t, ok := pb2.CaseNav[uid] if !ok { logrus.WithField("id", uid).Warnf("Missing tutorial panel") return @@ -155,7 +156,7 @@ func (a *appTester) makeNav(setNav func(testCase *model.TestCase)) fyne.CanvasOb } }, OnSelected: func(uid string) { - if t, ok := CaseNav[uid]; ok { + if t, ok := pb2.CaseNav[uid]; ok { logrus.WithFields(logrus.Fields{"mainType": t.MainType, "subType": t.SubType}).Debug("select") if a.disEnabled(t) { return diff --git a/cmd/v2/ui/navview.go b/cmd/v2/ui/navview.go new file mode 100644 index 000000000..f010e2092 --- /dev/null +++ b/cmd/v2/ui/navview.go @@ -0,0 +1,125 @@ +package ui + +import ( + "go_dreamfactory/cmd/v2/lib/common" + "go_dreamfactory/cmd/v2/ui/views" + "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/modules/growtask" + "go_dreamfactory/modules/hero" + "go_dreamfactory/modules/library" + "go_dreamfactory/modules/linestory" + "go_dreamfactory/modules/mline" + "go_dreamfactory/modules/sociaty" + "go_dreamfactory/modules/task" + "go_dreamfactory/modules/user" + "go_dreamfactory/modules/worldtask" + + "fyne.io/fyne/v2" + "fyne.io/fyne/v2/widget" +) + +type MyCaseView interface { + Init(service service.PttService, obs observer.Observer, w fyne.Window, res *widget.Entry) + CreateView(t *model.TestCase) fyne.CanvasObject + Load() +} + +// 1 注册接口测试的表单试图 +var ( + ViewRegister = map[string]MyCaseView{ + // gm + common.MF(comm.ModuleGM, "cmd"): &formview.BingoView{}, + // reddot + common.MF(comm.ModuleReddot, "get"): &formview.ReddotView{}, + //sys + common.MF(comm.ModuleSys, "funclist"): &formview.SysFuncListView{}, + //user + common.MF(comm.ModuleUser, user.UserSubTypeModifyAvatar): &formview.UserModifyavatarView{}, + common.MF(comm.ModuleUser, user.UserSubTypeModifyName): &formview.UserModifynameView{}, + common.MF(comm.ModuleUser, user.UserSubTypeModifyFigure): &formview.UserModifyfigureView{}, + common.MF(comm.ModuleUser, user.UserSubTYpeModifyBgp): &formview.UserModifybgpView{}, + common.MF(comm.ModuleUser, user.UserSubTypeModifySign): &formview.UserSignView{}, + common.MF(comm.ModuleUser, user.UserSubTypeBattlerecord): &formview.UserBattlerecordView{}, + // items + common.MF(comm.ModuleItems, "getlist"): &formview.ItemListView{}, + common.MF(comm.ModuleItems, "sellitem"): &formview.ItemsSellView{}, + common.MF(comm.ModuleItems, "useitem"): &formview.ItemsUseView{}, + //mail + common.MF(comm.ModuleMail, "getlist"): &formview.MailListView{}, + common.MF(comm.ModuleMail, "readmail"): &formview.MailReadMailView{}, + common.MF(comm.ModuleMail, "delmail"): &formview.MailDelView{}, + common.MF(comm.ModuleMail, "getusermailattachment"): &formview.MailAttachmentView{}, + common.MF(comm.ModuleMail, "getallmailattachment"): &formview.MailAttachmentAllView{}, + //task + common.MF(comm.ModuleTask, task.TaskSubTypeList): &formview.TaskListView{}, + common.MF(comm.ModuleTask, task.TaskSubTypeActiveList): &formview.TaskActiveListView{}, + common.MF(comm.ModuleTask, task.TaskSubTypeActiveReceive): &formview.TaskActiveReceiveView{}, + common.MF(comm.ModuleTask, task.TaskSubTypeGetrecord): &formview.RtaskRecordView{}, + // hero + common.MF(comm.ModuleHero, hero.HeroSubTypeList): &formview.HeroListView{}, + common.MF(comm.ModuleHero, hero.StrengthenUplv): &formview.HeroStrengthenUplvView{}, + common.MF(comm.ModuleHero, hero.StrengthenUpStar): &formview.HeroStrengthenUpStarView{}, + common.MF(comm.ModuleHero, hero.DrawCard): &formview.HeroZhaomuView{}, + common.MF(comm.ModuleHero, "info"): &formview.HeroInfoView{}, + //equip + common.MF(comm.ModuleEquipment, "getlist"): &formview.EquipListView{}, + common.MF(comm.ModuleEquipment, "equip"): &formview.EquipUpDownView{}, + common.MF(comm.ModuleEquipment, "upgrade"): &formview.EquipUpgradeView{}, + //friend + common.MF(comm.ModuleFriend, friend.FriendSubTypeList): &formview.FriendListView{}, + // common.MF(comm.ModuleFriend, friend.FriendSubTypeApply): &formview.FriendApplyView{}, + common.MF(comm.ModuleFriend, friend.FriendSubTypeAgree): &formview.FriendAgreeView{}, + common.MF(comm.ModuleFriend, friend.FriendSubTypeBlacklist): &formview.FriendBlacklistView{}, + common.MF(comm.ModuleFriend, friend.FriendSubTypeAddBlack): &formview.FriendAddBlackView{}, + common.MF(comm.ModuleFriend, friend.FriendSubTypeDelBlack): &formview.FriendDelblackView{}, + common.MF(comm.ModuleFriend, friend.FriendSubTypeSearch): &formview.FriendSearchView{}, + // common.MF(comm.ModuleFriend, friend.FriendSubTypeZanList): &formview.FriendZanView{}, + common.MF(comm.ModuleFriend, friend.FriendSubTypeRandList): &formview.FriendRandListView{}, + common.MF(comm.ModuleFriend, friend.FriendSubTypeGetreward): &formview.FriendGetrewardView{}, + common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistlist): &formview.FriendAssistListView{}, + common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistHero): &formview.FriendAssistHeroView{}, + common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistHeroList): &formview.FriendAssistHeroListView{}, + + // shop + common.MF(comm.ModuleShop, "getlist"): &formview.ShopListView{}, + common.MF(comm.ModuleShop, "buy"): &formview.ShopBuyView{}, + // mailine + common.MF(comm.ModuleMline, mline.MlineGetListResp): &formview.MainlineListView{}, + common.MF(comm.ModuleMline, mline.MlineChallengeResp): &formview.MainlineChallengeView{}, + common.MF(comm.ModuleMline, mline.MlineGetRewardResp): &formview.MainlineRewardView{}, + // pagoda + common.MF(comm.ModulePagoda, "getlist"): &formview.PagodaListView{}, + // rtask + common.MF(comm.ModuleRtask, "rtest"): &formview.RtaskTestView{}, + // linestory + common.MF(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): &formview.LinestoryMineView{}, + common.MF(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): &formview.FetterstoryView{}, + // gourmet + common.MF(comm.ModuleGourmet, "getranduser"): &formview.GourmentGetRandView{}, + // sociaty + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeList): &formview.SociatyListView{}, + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeCreate): &formview.SociatyCreateView{}, + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeMine): &formview.SociatyMineView{}, + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist): &formview.SociatyTasklistView{}, + common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeRank): &formview.SociatyRankView{}, + common.MF(comm.ModuleSociaty, "boss"): &formview.SociatyBossView{}, + // troll + common.MF(comm.ModuleTroll, "getlist"): &formview.TrollGetlistView{}, + // growtask + common.MF(comm.ModuleGrowtask, growtask.GrowtaskSubTypeList): &formview.GrowtaskListView{}, + //worldtask + common.MF(comm.ModuleWorldtask, worldtask.WorldtaskSubtypeMine): &formview.WorldtaskMineView{}, + //smithy + common.MF(comm.ModuleSmithy, "customer"): &formview.SmithyView{}, + //武馆派遣 + common.MF(comm.ModuleDispatch, "dispatch"): &formview.DispatchView{}, + //声望 + common.MF(comm.ModuleReputation, "reputation"): &formview.ReputationView{}, + //旧时光 + common.MF(comm.ModuleOldtimes, "oldtimes"): &formview.OldtimesView{}, + } +) diff --git a/cmd/v2/ui/views/dispatch.go b/cmd/v2/ui/views/dispatch.go index 8e8545a5a..c725b7367 100644 --- a/cmd/v2/ui/views/dispatch.go +++ b/cmd/v2/ui/views/dispatch.go @@ -56,7 +56,7 @@ func (d *DispatchView) CreateView(t *model.TestCase) fyne.CanvasObject { noticeFun() }) //刷新公告 - refreshBtn := widget.NewButton("刷新公告", func() { + refresh := func() { if err := service.GetPttService().SendToClient( t.MainType, "refresh", @@ -66,6 +66,16 @@ func (d *DispatchView) CreateView(t *model.TestCase) fyne.CanvasObject { return } noticeFun() + } + refreshBtn := widget.NewButton("刷新公告", func() { + refresh() + }) + // 测试刷新 + testRefreshBtn := widget.NewButton("测试重复", func() { + for i := 0; i < 100; i++ { + refresh() + time.Sleep(time.Millisecond * 200) + } }) //领取奖励 @@ -136,7 +146,7 @@ func (d *DispatchView) CreateView(t *model.TestCase) fyne.CanvasObject { paiWin.Resize(fyne.NewSize(600, 300)) paiWin.Show() }) - + //周奖励领取 weekReceiveBtn := widget.NewButton("周奖励", func() { if err := service.GetPttService().SendToClient( @@ -152,7 +162,7 @@ func (d *DispatchView) CreateView(t *model.TestCase) fyne.CanvasObject { }) - top := container.NewHBox(noticeBtn, refreshBtn, receiveBtn, + top := container.NewHBox(noticeBtn, refreshBtn, testRefreshBtn, receiveBtn, autoReceiveBtn, paiqianBtn, weekReceiveBtn) bottom := container.NewHBox(d.noticeLabl) c := container.NewBorder(top, bottom, nil, nil, d.itemList.ItemList) @@ -182,27 +192,36 @@ func (a *DispatchView) noticeList() { return } - a.noticeLabl.SetText(fmt.Sprintf("公告等级:%v 免费次数:%v 刷新次数:%v 任务数:%v 周任务数:%v 周奖励领取:%v", - rsp.Dispatch.Lv, - rsp.Dispatch.FreeCount, - rsp.Dispatch.RefreshCount, - rsp.Dispatch.TaskCount, - rsp.Dispatch.WeekCount, - rsp.Dispatch.WeekReceived, - )) - a.noticeLabl.Refresh() + //验证结果是否有重复 + tidMap := make(map[int32]int32) + var r bool for _, v := range rsp.Dispatch.Tasks { + if _, ok := tidMap[v.TaskId]; ok { + r = true + } + tidMap[v.TaskId] = v.TaskId t1 := time.Unix(v.Duration, 0) lt1 := t1.Format("15:04:05") t2 := time.Unix(v.LeftTime, 0) lt2 := t2.Format("15:04:05") item := common.Item{ Id: cast.ToString(v.TaskId), - Text: fmt.Sprintf("ID:%v 状态:%v 任务截至:%v 派遣截至:%v", v.TaskId, v.Status, lt1, lt2), + Text: fmt.Sprintf("ID:%v 状态:%v 任务截至:%v 派遣截至:%v ", v.TaskId, v.Status, lt1, lt2), Data: v, } a.itemList.AddItem(item) } + + a.noticeLabl.SetText(fmt.Sprintf("公告等级:%v 免费次数:%v 刷新次数:%v 任务数:%v 周任务数:%v 周奖励领取:%v 重复:%v", + rsp.Dispatch.Lv, + rsp.Dispatch.FreeCount, + rsp.Dispatch.RefreshCount, + rsp.Dispatch.TaskCount, + rsp.Dispatch.WeekCount, + rsp.Dispatch.WeekReceived, + r, + )) + a.noticeLabl.Refresh() } }, }) diff --git a/cmd/v2/ui/views/rtask_testview.go b/cmd/v2/ui/views/rtask_testview.go index d209b7080..ef0cfe1e2 100644 --- a/cmd/v2/ui/views/rtask_testview.go +++ b/cmd/v2/ui/views/rtask_testview.go @@ -1,12 +1,21 @@ package formview import ( + "fmt" + "go_dreamfactory/cmd/v2/lib/common" + pb2 "go_dreamfactory/cmd/v2/lib/pb" "go_dreamfactory/cmd/v2/model" "go_dreamfactory/cmd/v2/service" "go_dreamfactory/pb" "go_dreamfactory/utils" + "strings" + "sync" + + cfg "go_dreamfactory/sys/configure/structs" "fyne.io/fyne/v2" + "fyne.io/fyne/v2/container" + "fyne.io/fyne/v2/dialog" "fyne.io/fyne/v2/widget" "github.com/sirupsen/logrus" "github.com/spf13/cast" @@ -14,9 +23,21 @@ import ( type RtaskTestView struct { BaseformView + itemList *common.ItemList + result chan int } func (this *RtaskTestView) CreateView(t *model.TestCase) fyne.CanvasObject { + defer this.loadProtocol() + this.itemList = common.NewItemList() + this.itemList.ItemList = this.itemList.CreateDefaultCheckList() + + this.result = make(chan int) + + go func() { + + }() + rtaskTypeInput := widget.NewEntry() paramsInput := widget.NewEntry() @@ -34,29 +55,111 @@ func (this *RtaskTestView) CreateView(t *model.TestCase) fyne.CanvasObject { this.form.AppendItem(widget.NewFormItem("分组编号", input)) - this.form.OnSubmit = func() { - // if rtaskTypeInput.Text == "" { - // dialog.ShowError(errors.New("请填写任务类型ID"), this.w) - // return - // } + testBtn := widget.NewButton("手动触发", func() { + this.form.OnSubmit = func() { + if err := service.GetPttService().SendToClient( + t.MainType, + t.SubType, + &pb.RtaskTestReq{ + RtaskType: cast.ToInt32(rtaskTypeInput.Text), + Params: utils.TrInt32(paramsInput.Text), + CondiId: cast.ToInt32(condiInput.Text), + }, + ); err != nil { + logrus.Error(err) + return + } + } - // if paramsInput.Text == "" { - // dialog.ShowError(errors.New("请填写任务条件参数"), this.w) - // return - // } + paiWin := dialog.NewCustom("手动触发", "关闭", this.form, this.w) + paiWin.Resize(fyne.NewSize(600, 300)) + paiWin.Show() + }) - if err := service.GetPttService().SendToClient( - t.MainType, - t.SubType, - &pb.RtaskTestReq{ - RtaskType: cast.ToInt32(rtaskTypeInput.Text), - Params: utils.TrInt32(paramsInput.Text), - CondiId: cast.ToInt32(condiInput.Text), - }, - ); err != nil { - logrus.Error(err) - return + //"F:\\projects\\workspace\\go_dreamfactory\\bin\\json" + jsonPathEntry := widget.NewEntry() + jsonPathEntry.SetText("F:\\projects\\workspace\\go_dreamfactory\\bin\\json") + reportEntry := widget.NewEntry() + reportEntry.SetText("F:\\result.txt") + + autoTestForm := widget.NewForm( + widget.NewFormItem("Json配置", jsonPathEntry), + widget.NewFormItem("报告目录", reportEntry), + ) + + autoTestForm.OnSubmit = func() { + commCfg := &common.Config{ + Path: jsonPathEntry.Text, + } + var wg sync.WaitGroup + if tb, err := cfg.NewTables(commCfg.Loader); err == nil { + for _, v := range tb.RdtaskCondi.GetDataList() { + wg.Add(1) + params := []int32{v.Data1, v.Data2, v.Data3, v.Data4, v.Data5} + var p []int32 + for _, v := range params { + if v > 0 { + p = append(p, v) + } + } + go func(condId, rtype int32, p []int32) { + defer wg.Done() + if err := service.GetPttService().SendToClient( + t.MainType, + t.SubType, + &pb.RtaskTestReq{ + RtaskType: rtype, + Params: p, + }, + ); err != nil { + logrus.Error(err) + return + } + logrus.Debugf("执行任务 id:%v rtype:%v params:%v", condId, rtype, p) + }(v.Id, v.Type, p) + wg.Wait() + // time.Sleep(time.Millisecond * 100) + } } } - return this.form + + autoTestBtn := widget.NewButton("自动触发配置", func() { + paiWin := dialog.NewCustom("自动触发配置", "关闭", autoTestForm, this.w) + paiWin.Resize(fyne.NewSize(600, 300)) + paiWin.Show() + }) + + autoBtn := widget.NewButton("模拟API测试", func() { + for k, v := range pb2.TaskCase { + if k != "" && strings.Contains(k, ".") && v.Enabled { + if err := service.GetPttService().SendToClient( + v.MainType, + v.SubType, + v.Req, + ); err != nil { + logrus.Errorf("%v.%v err:%v", v.MainType, v.SubType, err) + return + } + logrus.Debugf("%v.%v", v.MainType, v.SubType) + } + } + }) + + c := container.NewBorder( + container.NewHBox(testBtn, autoTestBtn, autoBtn), nil, nil, nil, this.itemList.ItemList) + + return c +} + +func (this *RtaskTestView) loadProtocol() { + for k, v := range pb2.TaskCase { + if k != "" && strings.Contains(k, ".") && v.Enabled { + item := common.Item{ + Id: k, + Text: fmt.Sprintf("%v (%v)", v.NavLabel, k), + } + this.itemList.AddItem(item) + } + } + } diff --git a/modules/dispatch/api_notice.go b/modules/dispatch/api_notice.go index 78f9635fa..1a76f1ee7 100644 --- a/modules/dispatch/api_notice.go +++ b/modules/dispatch/api_notice.go @@ -35,7 +35,7 @@ func (a *apiComp) Notice(session comm.IUserSession, req *pb.DispatchNoticeReq) ( freeCount := a.module.ModuleTools.GetGlobalConf().DispatchFreecheck nb := &pb.Noticeboard{ - Lv: 1, //公告初始升级 + Lv: 1, //公告初始等级 FreeCount: freeCount, Tasks: tasks, UpdateTime: configure.Now().Unix(),