go_dreamfactory/cmd/v2/ui/protocol.go
2022-10-31 15:12:01 +08:00

844 lines
27 KiB
Go

package ui
import (
"errors"
"fmt"
"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/hero"
"go_dreamfactory/modules/linestory"
"go_dreamfactory/modules/mainline"
"go_dreamfactory/modules/rtask"
"go_dreamfactory/modules/sociaty"
"go_dreamfactory/modules/sys"
"go_dreamfactory/modules/task"
"go_dreamfactory/modules/user"
"go_dreamfactory/pb"
"strings"
"fyne.io/fyne/v2"
"github.com/sirupsen/logrus"
"github.com/spf13/cast"
"google.golang.org/protobuf/proto"
)
type MyCaseView interface {
Init(service service.PttService, 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{},
//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{},
// 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.ModuleMainline, mainline.MainlineGetListResp): &formview.MainlineListView{},
ff(comm.ModuleMainline, mainline.MainlineChallengeResp): &formview.MainlineChallengeView{},
ff(comm.ModuleMainline, mainline.MainlineGetRewardResp): &formview.MainlineRewardView{},
// pagoda
ff(comm.ModulePagoda, "getlist"): &formview.PagodaListView{},
// rtask
ff(comm.ModuleRtask, rtask.RtaskSubTypeList): &formview.RtaskListView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeApply): &formview.RtaskDoitView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose): &formview.RtaskChooseView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeReward): &formview.RtaskRewardView{},
ff(comm.ModuleRtask, "rtest"): &formview.RtaskTestView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleStart): &formview.RtaskBattlestartView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleFinish): &formview.RtaskBattleFinishView{},
ff(comm.ModuleRtask, rtask.RtaskSubTypeGetrecord): &formview.RtaskRecordView{},
// linestory
ff(comm.ModuleLinestory, linestory.LinestorySubTypeDostart): &formview.LinestoryStartView{},
ff(comm.ModuleLinestory, linestory.LinestorySubTypeDotask): &formview.LinestoryTaskView{},
// 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{},
}
)
// 2 添加导航菜单
var (
CaseIndex = map[string][]string{
"": {
string(comm.ModuleGM),
string(comm.ModuleSys),
string(comm.ModuleUser),
string(comm.ModuleHero),
string(comm.ModuleTask),
string(comm.ModuleFriend),
string(comm.ModuleMail),
string(comm.ModuleItems),
string(comm.ModuleEquipment),
string(comm.ModuleShop),
string(comm.ModuleMainline),
string(comm.ModulePagoda),
string(comm.ModuleRtask),
string(comm.ModuleLinestory),
string(comm.ModuleGourmet),
string(comm.ModuleSociaty),
},
"gm": {ff(comm.ModuleGM, "cmd")},
"sys": {
ff(comm.ModuleSys, "funclist"),
},
"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),
},
"items": {
ff(comm.ModuleItems, "getlist"),
ff(comm.ModuleItems, "sellitem"),
ff(comm.ModuleItems, "useitem"),
},
"mail": {
ff(comm.ModuleMail, "getlist"),
ff(comm.ModuleMail, "readmail"),
ff(comm.ModuleMail, "delmail"),
ff(comm.ModuleMail, "getusermailattachment"),
ff(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"),
},
"equipment": {
ff(comm.ModuleEquipment, "getlist"),
ff(comm.ModuleEquipment, "equip"),
ff(comm.ModuleEquipment, "upgrade"),
},
"task": {
ff(comm.ModuleTask, task.TaskSubTypeList),
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.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),
},
"shop": {
ff(comm.ModuleShop, "getlist"),
ff(comm.ModuleShop, "buy"),
},
"mainline": {
ff(comm.ModuleMainline, mainline.MainlineGetListResp),
ff(comm.ModuleMainline, mainline.MainlineChallengeResp),
ff(comm.ModuleMainline, mainline.MainlineGetRewardResp),
},
"pagoda": {
ff(comm.ModulePagoda, "getlist"),
},
"rtask": {
ff(comm.ModuleRtask, rtask.RtaskSubTypeList),
ff(comm.ModuleRtask, rtask.RtaskSubTypeApply),
ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose),
ff(comm.ModuleRtask, rtask.RtaskSubTypeReward),
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleStart),
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleFinish),
ff(comm.ModuleRtask, rtask.RtaskSubTypeGetrecord),
ff(comm.ModuleRtask, "rtest"),
},
"linestory": {
ff(comm.ModuleLinestory, linestory.LinestorySubTypeDostart),
ff(comm.ModuleLinestory, linestory.LinestorySubTypeDotask),
},
"gourmet": {
ff(comm.ModuleGourmet, "getranduser"),
},
"sociaty": {
ff(comm.ModuleSociaty, sociaty.SociatySubTypeList),
ff(comm.ModuleSociaty, sociaty.SociatySubTypeCreate),
ff(comm.ModuleSociaty, sociaty.SociatySubTypeMine),
},
}
)
// 3 注册测试用例
var (
CaseNav = map[string]*model.TestCase{
// gm
"gm": {
NavLabel: "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,
},
"sys": {
NavLabel: "系统",
MainType: string(comm.ModuleSys),
Enabled: true,
},
ff(comm.ModuleSys, "funclist"): {
NavLabel: "功能列表",
Desc: "返回未开启的功能列表",
MainType: string(comm.ModuleSys),
SubType: sys.SysSubTypeFunc,
Enabled: true,
},
// user
"user": {
NavLabel: "用户",
MainType: "user",
Enabled: true,
},
ff(comm.ModuleUser, user.UserSubTypeModifyAvatar): {
Desc: "用户头像修改",
NavLabel: "修改头像",
MainType: string(comm.ModuleUser),
SubType: user.UserSubTypeModifyAvatar,
Enabled: true,
},
"user.modifyname": {
Desc: "用户昵称修改",
NavLabel: "修改昵称",
MainType: "user",
SubType: "modifyname",
Req: &pb.UserModifynameReq{},
Rsp: &pb.UserModifynameResp{},
Print: func(rsp proto.Message) string {
logrus.WithFields(logrus.Fields{"main": "user", "stype": "modifyname"}).Debug("print")
var formatStr strings.Builder
if in, ok := rsp.(*pb.UserMessage); ok {
out := &pb.UserModifynameResp{}
if !comm.ProtoUnmarshal(in, out) {
return errors.New("unmarshal err").Error()
}
formatStr.WriteString(fmt.Sprintf("Uid:%s count:%d", out.Uid, out.Count))
}
return formatStr.String()
},
Enabled: true,
},
ff(comm.ModuleUser, user.UserSubTypeModifyFigure): {
Desc: "用户形象修改",
NavLabel: "修改形象",
MainType: string(comm.ModuleUser),
SubType: user.UserSubTypeModifyFigure,
Enabled: true,
},
ff(comm.ModuleUser, user.UserSubTYpeModifyBgp): {
Desc: "背景修改",
NavLabel: "修改背景",
MainType: string(comm.ModuleUser),
SubType: user.UserSubTYpeModifyBgp,
Enabled: true,
},
ff(comm.ModuleUser, user.UserSubTypeModifySign): {
NavLabel: "修改签名",
Desc: "用户签名修改",
MainType: string(comm.ModuleUser),
SubType: user.UserSubTypeModifySign,
Enabled: true,
},
ff(comm.ModuleUser, user.UserSubTypeBattlerecord): {
NavLabel: "战斗记录",
Desc: "玩家在心魔塔、狩猎、维京远征的战斗记录",
MainType: string(comm.ModuleUser),
SubType: user.UserSubTypeBattlerecord,
Enabled: true,
},
//items
string(comm.ModuleItems): {
NavLabel: "道具",
MainType: string(comm.ModuleItems),
Enabled: true,
},
ff(comm.ModuleItems, "getlist"): {
NavLabel: "道具列表",
Desc: "道具列表",
MainType: string(comm.ModuleItems),
SubType: "getlist",
Enabled: true,
},
ff(comm.ModuleItems, "sellitem"): {
NavLabel: "道具售卖",
Desc: "道具售卖",
MainType: string(comm.ModuleItems),
SubType: "sellitem",
Enabled: true,
},
ff(comm.ModuleItems, "useitem"): {
NavLabel: "道具使用",
Desc: "道具使用",
MainType: string(comm.ModuleItems),
SubType: "useitem",
Enabled: true,
},
//mail
string(comm.ModuleMail): {
NavLabel: "邮箱",
MainType: string(comm.ModuleMail),
Enabled: true,
},
ff(comm.ModuleMail, "getlist"): {
NavLabel: "邮件列表",
Desc: "邮件列表",
MainType: string(comm.ModuleMail),
SubType: "getlist",
Enabled: true,
},
ff(comm.ModuleMail, "readmail"): {
NavLabel: "读邮件",
Desc: "读取邮件",
MainType: string(comm.ModuleMail),
SubType: "readmail",
Enabled: true,
},
ff(comm.ModuleMail, "delmail"): {
NavLabel: "删除邮件",
Desc: "删除邮件",
MainType: string(comm.ModuleMail),
SubType: "delmail",
Enabled: true,
},
ff(comm.ModuleMail, "getusermailattachment"): {
NavLabel: "领取附件",
Desc: "领取附件",
MainType: string(comm.ModuleMail),
SubType: "getusermailattachment",
Enabled: true,
},
ff(comm.ModuleMail, "getallmailattachment"): {
NavLabel: "一键领取",
Desc: "领取所有附件",
MainType: string(comm.ModuleMail),
SubType: "getallmailattachment",
Enabled: true,
},
// task
"task": {
NavLabel: "任务",
MainType: "task",
Enabled: true,
},
"task.list": {
NavLabel: "任务列表",
Desc: "用户任务列表",
MainType: "task",
SubType: "list",
Req: &pb.TaskListReq{},
Rsp: &pb.TaskListResp{},
Enabled: true,
Print: func(rsp proto.Message) string {
logrus.WithFields(logrus.Fields{"main": "task", "stype": "list"}).Debug("print")
var formatStr strings.Builder
if in, ok := rsp.(*pb.UserMessage); ok {
out := &pb.TaskListResp{}
if !comm.ProtoUnmarshal(in, out) {
return errors.New("unmarshal err").Error()
}
for i, v := range out.List {
formatStr.WriteString(fmt.Sprintf("%d- %v\n", (i + 1), v))
}
}
return formatStr.String()
},
},
ff(comm.ModuleTask, task.TaskSubTypeActiveList): {
NavLabel: "活跃度列表",
Desc: "用户活跃度列表",
MainType: string(comm.ModuleTask),
SubType: task.TaskSubTypeActiveList,
Req: &pb.TaskActiveListReq{},
Rsp: &pb.TaskActiveListResp{},
Enabled: true,
},
ff(comm.ModuleTask, task.TaskSubTypeActiveReceive): {
NavLabel: "活跃度领取",
Desc: "用户活跃度领取",
MainType: string(comm.ModuleTask),
SubType: task.TaskSubTypeActiveReceive,
Req: &pb.TaskActiveReceiveReq{},
Rsp: &pb.TaskActiveReceiveResp{},
Enabled: true,
},
// hero
string(comm.ModuleHero): {
NavLabel: "英雄",
MainType: string(comm.ModuleHero),
Enabled: true,
},
ff(comm.ModuleHero, hero.HeroSubTypeList): {
NavLabel: "英雄列表",
Desc: "英雄列表",
MainType: string(comm.ModuleHero),
SubType: hero.HeroSubTypeList,
Print: func(rsp proto.Message) string {
logrus.WithFields(logrus.Fields{"main": comm.ModuleHero, "stype": hero.HeroSubTypeList}).Debug("print")
var formatStr strings.Builder
if in, ok := rsp.(*pb.UserMessage); ok {
out := &pb.HeroListResp{}
if !comm.ProtoUnmarshal(in, out) {
return errors.New("unmarshal err").Error()
}
for i, v := range out.List {
formatStr.WriteString(fmt.Sprintf("%d- %v\n", (i + 1), v))
}
}
return formatStr.String()
},
Enabled: true,
},
ff(comm.ModuleHero, hero.StrengthenUplv): {
NavLabel: "英雄升级",
Desc: "英雄等级升级",
MainType: string(comm.ModuleHero),
SubType: hero.StrengthenUplv,
Req: &pb.HeroStrengthenUplvReq{},
Rsp: &pb.HeroStrengthenUplvResp{},
Enabled: true,
},
ff(comm.ModuleHero, hero.StrengthenUpStar): {
NavLabel: "英雄升星",
Desc: "英雄星级升级",
MainType: string(comm.ModuleHero),
SubType: hero.StrengthenUpStar,
Req: &pb.HeroStrengthenUpStarReq{},
Rsp: &pb.HeroStrengthenUpStarResp{},
Enabled: true,
},
ff(comm.ModuleHero, hero.DrawCard): {
NavLabel: "招募",
Desc: "抽卡招募",
MainType: string(comm.ModuleHero),
SubType: hero.DrawCard,
Enabled: true,
},
ff(comm.ModuleHero, "info"): {
NavLabel: "英雄信息",
Desc: "英雄信息",
MainType: string(comm.ModuleHero),
SubType: "info",
Enabled: true,
},
//equipment
string(comm.ModuleEquipment): {
NavLabel: "装备",
MainType: string(comm.ModuleEquipment),
Enabled: true,
},
ff(comm.ModuleEquipment, "getlist"): {
NavLabel: "装备列表",
Desc: "装备列表",
MainType: string(comm.ModuleEquipment),
SubType: "getlist",
Enabled: true,
},
ff(comm.ModuleEquipment, "equip"): {
NavLabel: "穿卸装备",
Desc: "穿/卸装备",
MainType: string(comm.ModuleEquipment),
SubType: "equip",
Enabled: true,
},
ff(comm.ModuleEquipment, "upgrade"): {
NavLabel: "升级装备",
Desc: "升级装备",
MainType: string(comm.ModuleEquipment),
SubType: "upgrade",
Enabled: true,
},
//friend
string(comm.ModuleFriend): {
NavLabel: "好友",
MainType: string(comm.ModuleFriend),
Enabled: true,
},
ff(comm.ModuleFriend, friend.FriendSubTypeRandList): {
NavLabel: "在线玩家",
Desc: "在线玩家列表",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeRandList,
Enabled: true,
Print: func(rsp proto.Message) string {
var formatStr strings.Builder
if in, ok := rsp.(*pb.UserMessage); ok {
out := &pb.FriendRandlistResp{}
if !comm.ProtoUnmarshal(in, out) {
return errors.New("unmarshal err").Error()
}
for i, v := range out.List {
formatStr.WriteString(fmt.Sprintf("%d- %v\n", (i + 1), v))
}
}
return formatStr.String()
},
},
ff(comm.ModuleFriend, friend.FriendSubTypeList): {
NavLabel: "我的好友",
Desc: "我的好友列表",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeList,
Req: &pb.FriendListReq{},
Rsp: &pb.FriendListResp{},
Enabled: true,
},
ff(comm.ModuleFriend, friend.FriendSubTypeApply): {
NavLabel: "好友申请",
Desc: "好友申请",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeApply,
Req: &pb.FriendApplyReq{},
Rsp: &pb.FriendApplyResp{},
Enabled: false,
},
ff(comm.ModuleFriend, friend.FriendSubTypeBlacklist): {
NavLabel: "黑名单",
Desc: "黑名单列表",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeBlacklist,
Req: &pb.FriendBlackListReq{},
Rsp: &pb.FriendBlackListResp{},
Enabled: true,
},
ff(comm.ModuleFriend, friend.FriendSubTypeAddBlack): {
NavLabel: "加黑名单",
Desc: "添加黑名单",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeAddBlack,
Req: &pb.FriendAddBlackReq{},
Rsp: &pb.FriendAddBlackResp{},
Enabled: true,
},
ff(comm.ModuleFriend, friend.FriendSubTypeDelBlack): {
NavLabel: "删黑名单",
Desc: "删除黑名单",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeDelBlack,
Req: &pb.FriendDelBlackReq{},
Rsp: &pb.FriendDelBlackResp{},
Enabled: true,
},
ff(comm.ModuleFriend, friend.FriendSubTypeAgree): {
NavLabel: "好友审批",
Desc: "好友申请审批",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeAgree,
Req: &pb.FriendAgreeReq{},
Rsp: &pb.FriendAgreeResp{},
Enabled: true,
},
// ff(comm.ModuleFriend, friend.FriendSubTypeSearch): {
// NavLabel: "好友搜索",
// Desc: "搜索好友",
// MainType: string(comm.ModuleFriend),
// SubType: friend.FriendSubTypeSearch,
// Req: &pb.FriendSearchReq{},
// Rsp: &pb.FriendSearchResp{},
// Enabled: true,
// },
ff(comm.ModuleFriend, friend.FriendSubTypeAssistHero): {
NavLabel: "助战英雄",
Desc: "助战英雄",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeAssistHero,
Enabled: true,
},
ff(comm.ModuleFriend, friend.FriendSubTypeAssistlist): {
NavLabel: "助战列表",
Desc: "助战英雄列表",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeAssistlist,
Enabled: true,
},
ff(comm.ModuleFriend, friend.FriendSubTypeGetreward): {
NavLabel: "助战奖励",
Desc: "助战奖励",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeGetreward,
Enabled: true,
},
ff(comm.ModuleFriend, friend.FriendSubTypeAssistHeroList): {
NavLabel: "助战英雄列表",
Desc: "我的好友助战英雄列表",
MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeAssistHeroList,
Enabled: true,
},
//shop
string(comm.ModuleShop): {
NavLabel: "商店",
MainType: string(comm.ModuleShop),
Enabled: true,
},
ff(comm.ModuleShop, "getlist"): {
NavLabel: "商店列表",
Desc: "商店列表",
MainType: string(comm.ModuleShop),
SubType: "getlist",
Enabled: true,
},
ff(comm.ModuleShop, "buy"): {
NavLabel: "购买商品",
Desc: "购买商品",
MainType: string(comm.ModuleShop),
SubType: "buy",
Enabled: true,
},
// mainline
string(comm.ModuleMainline): {
NavLabel: "主线关卡",
MainType: string(comm.ModuleShop),
Enabled: true,
},
ff(comm.ModuleMainline, mainline.MainlineGetListResp): {
NavLabel: "主线关卡",
Desc: "主线关卡",
MainType: string(comm.ModuleMainline),
SubType: mainline.MainlineGetListResp,
Enabled: true,
},
ff(comm.ModuleMainline, mainline.MainlineChallengeResp): {
NavLabel: "关卡挑战",
Desc: "关卡挑战",
MainType: string(comm.ModuleMainline),
SubType: mainline.MainlineChallengeResp,
Enabled: true,
},
ff(comm.ModuleMainline, mainline.MainlineGetRewardResp): {
NavLabel: "关卡奖励",
Desc: "获取关卡奖励",
MainType: string(comm.ModuleMainline),
SubType: mainline.MainlineGetRewardResp,
Enabled: true,
},
//pagoda
string(comm.ModulePagoda): {
NavLabel: "魔塔",
MainType: string(comm.ModulePagoda),
Enabled: true,
},
ff(comm.ModulePagoda, "getlist"): {
NavLabel: "魔塔列表",
Desc: "魔塔列表",
MainType: string(comm.ModulePagoda),
SubType: "getlist",
Enabled: true,
},
// rtask
string(comm.ModuleRtask): {
NavLabel: "随机任务",
MainType: string(comm.ModuleRtask),
Enabled: true,
},
ff(comm.ModuleRtask, rtask.RtaskSubTypeList): {
NavLabel: "任务列表",
MainType: string(comm.ModuleRtask),
SubType: rtask.RtaskSubTypeList,
Enabled: true,
Print: func(rsp proto.Message) string {
if in, ok := rsp.(*pb.UserMessage); ok {
out := &pb.RtasklistResp{}
if !comm.ProtoUnmarshal(in, out) {
return errors.New("unmarshal err").Error()
}
return strings.Join(cast.ToStringSlice(out.RtaskIds), ",")
}
return ""
},
},
ff(comm.ModuleRtask, rtask.RtaskSubTypeApply): {
NavLabel: "做任务",
Desc: "执行随机任务",
MainType: string(comm.ModuleRtask),
SubType: rtask.RtaskSubTypeApply,
Enabled: true,
},
ff(comm.ModuleRtask, rtask.RtaskSubTypeChoose): {
NavLabel: "情景对答",
Desc: "情景对答",
MainType: string(comm.ModuleRtask),
SubType: rtask.RtaskSubTypeChoose,
Enabled: true,
},
ff(comm.ModuleRtask, rtask.RtaskSubTypeReward): {
NavLabel: "领奖",
Desc: "领奖",
MainType: string(comm.ModuleRtask),
SubType: rtask.RtaskSubTypeReward,
Enabled: true,
},
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleStart): {
NavLabel: "战斗开始",
Desc: "战斗开始",
MainType: string(comm.ModuleRtask),
SubType: rtask.RtaskSubTypeBattleStart,
Enabled: true,
},
ff(comm.ModuleRtask, rtask.RtaskSubTypeBattleFinish): {
NavLabel: "战斗结束",
Desc: "战斗结束",
MainType: string(comm.ModuleRtask),
SubType: rtask.RtaskSubTypeBattleFinish,
Enabled: true,
},
ff(comm.ModuleRtask, rtask.RtaskSubTypeGetrecord): {
NavLabel: "任务数据",
Desc: "任务数据",
MainType: string(comm.ModuleRtask),
SubType: rtask.RtaskSubTypeGetrecord,
Enabled: true,
},
ff(comm.ModuleRtask, "rtest"): {
NavLabel: "测试条件",
Desc: "测试任务触发",
MainType: string(comm.ModuleRtask),
SubType: "rtest",
Enabled: true,
},
//linestory
string(comm.ModuleLinestory): {
NavLabel: "支线剧情任务",
MainType: string(comm.ModuleLinestory),
Enabled: true,
},
ff(comm.ModuleLinestory, linestory.LinestorySubTypeDostart): {
NavLabel: "启动",
Desc: "启动剧情任务",
MainType: string(comm.ModuleLinestory),
SubType: linestory.LinestorySubTypeDostart,
Enabled: true,
},
ff(comm.ModuleLinestory, linestory.LinestorySubTypeDotask): {
NavLabel: "做任务",
Desc: "做任务",
MainType: string(comm.ModuleLinestory),
SubType: linestory.LinestorySubTypeDotask,
Enabled: true,
},
// gourmet
string(comm.ModuleGourmet): {
NavLabel: "美食馆",
MainType: string(comm.ModuleGourmet),
Enabled: true,
},
ff(comm.ModuleGourmet, "getranduser"): {
NavLabel: "随机玩家",
Desc: "随机玩家",
MainType: string(comm.ModuleGourmet),
SubType: "getranduser",
Enabled: true,
},
// sociaty
string(comm.ModuleSociaty): {
NavLabel: "公会",
MainType: string(comm.ModuleSociaty),
Enabled: true,
},
ff(comm.ModuleSociaty, sociaty.SociatySubTypeCreate): {
NavLabel: "公会创建",
Desc: "公会创建",
MainType: string(comm.ModuleSociaty),
SubType: sociaty.SociatySubTypeCreate,
Enabled: true,
},
ff(comm.ModuleSociaty, sociaty.SociatySubTypeList): {
NavLabel: "公会推荐",
Desc: "公会列表",
MainType: string(comm.ModuleSociaty),
SubType: sociaty.SociatySubTypeList,
Enabled: true,
},
ff(comm.ModuleSociaty, sociaty.SociatySubTypeMine): {
NavLabel: "我的公会",
Desc: "我的公会",
MainType: string(comm.ModuleSociaty),
SubType: sociaty.SociatySubTypeMine,
Enabled: true,
},
}
)
func ff(s1 core.M_Modules, s2 string) string {
return fmt.Sprintf("%s.%s", s1, s2)
}