工具测试协议优化

This commit is contained in:
wh_zcy 2023-05-08 18:19:57 +08:00
parent dbe12ea192
commit 00eab14456
11 changed files with 471 additions and 289 deletions

View File

@ -1,8 +1,8 @@
package main_test package main_test
import ( import (
cfg "go_dreamfactory/sys/configure/structs"
"go_dreamfactory/cmd/v2/lib/common" "go_dreamfactory/cmd/v2/lib/common"
cfg "go_dreamfactory/sys/configure/structs"
"html/template" "html/template"
"os" "os"
"testing" "testing"
@ -13,7 +13,10 @@ type TaskCond struct {
} }
func TestTask(t *testing.T) { 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() data := tb.RdtaskCondi.GetDataMap()
tmpl := template.New("task") tmpl := template.New("task")

View File

@ -4,6 +4,7 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"go_dreamfactory/cmd/v2/lib/common" "go_dreamfactory/cmd/v2/lib/common"
"go_dreamfactory/cmd/v2/service/observer" "go_dreamfactory/cmd/v2/service/observer"
"go_dreamfactory/pb" "go_dreamfactory/pb"

View File

@ -3,7 +3,9 @@ package common
import ( import (
"bytes" "bytes"
"encoding/json" "encoding/json"
"errors"
"fmt" "fmt"
"go_dreamfactory/lego/core"
"io" "io"
"io/ioutil" "io/ioutil"
"math" "math"
@ -18,6 +20,10 @@ import (
"google.golang.org/protobuf/proto" "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) { func FormatJson(data string) (string, error) {
var out bytes.Buffer var out bytes.Buffer
err := json.Indent(&out, []byte(data), "", " ") err := json.Indent(&out, []byte(data), "", " ")
@ -161,8 +167,20 @@ func ConvertFileSize(size int64) string {
return "0" return "0"
} }
func Loader(file string) ([]map[string]interface{}, error) { type Config struct {
path := filepath.Join("E:\\projects\\workspace\\go_dreamfactory\\bin\\json", file+".json") 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 { if bytes, err := ioutil.ReadFile(path); err != nil {
return nil, err return nil, err
} else { } else {
@ -237,7 +255,7 @@ func FormatFloatCeil(num float64, decimal int) (float64, error) {
func LastChars(str string, count int) string { func LastChars(str string, count int) string {
if len(str) <= count { if len(str) <= count {
return str return str
} }
return str[len(str)-count:] return str[len(str)-count:]
} }

View File

@ -1,14 +1,12 @@
package ui package pb
import ( import (
"errors" "errors"
"fmt" "fmt"
"go_dreamfactory/cmd/v2/lib/common"
"go_dreamfactory/cmd/v2/model" "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/comm"
"go_dreamfactory/lego/core"
"go_dreamfactory/modules/friend" "go_dreamfactory/modules/friend"
"go_dreamfactory/modules/growtask" "go_dreamfactory/modules/growtask"
"go_dreamfactory/modules/hero" "go_dreamfactory/modules/hero"
@ -23,114 +21,10 @@ import (
"go_dreamfactory/pb" "go_dreamfactory/pb"
"strings" "strings"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/widget"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"google.golang.org/protobuf/proto" "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 添加导航菜单 // 2 添加导航菜单
var ( var (
CaseIndex = map[string][]string{ CaseIndex = map[string][]string{
@ -160,114 +54,114 @@ var (
string(comm.ModuleReputation), string(comm.ModuleReputation),
string(comm.ModuleOldtimes), string(comm.ModuleOldtimes),
}, },
"gm": {ff(comm.ModuleGM, "cmd")}, "gm": {common.MF(comm.ModuleGM, "cmd")},
"sys": { "sys": {
ff(comm.ModuleSys, "funclist"), common.MF(comm.ModuleSys, "funclist"),
}, },
"reddot": {ff(comm.ModuleReddot, "get")}, "reddot": {common.MF(comm.ModuleReddot, "get")},
"user": { "user": {
ff(comm.ModuleUser, user.UserSubTypeModifyAvatar), common.MF(comm.ModuleUser, user.UserSubTypeModifyAvatar),
ff(comm.ModuleUser, user.UserSubTypeModifyName), common.MF(comm.ModuleUser, user.UserSubTypeModifyName),
ff(comm.ModuleUser, user.UserSubTypeModifyFigure), common.MF(comm.ModuleUser, user.UserSubTypeModifyFigure),
ff(comm.ModuleUser, user.UserSubTYpeModifyBgp), common.MF(comm.ModuleUser, user.UserSubTYpeModifyBgp),
ff(comm.ModuleUser, user.UserSubTypeModifySign), common.MF(comm.ModuleUser, user.UserSubTypeModifySign),
ff(comm.ModuleUser, user.UserSubTypeBattlerecord), common.MF(comm.ModuleUser, user.UserSubTypeBattlerecord),
}, },
"items": { "items": {
ff(comm.ModuleItems, "getlist"), common.MF(comm.ModuleItems, "getlist"),
ff(comm.ModuleItems, "sellitem"), common.MF(comm.ModuleItems, "sellitem"),
ff(comm.ModuleItems, "useitem"), common.MF(comm.ModuleItems, "useitem"),
}, },
"mail": { "mail": {
ff(comm.ModuleMail, "getlist"), common.MF(comm.ModuleMail, "getlist"),
ff(comm.ModuleMail, "readmail"), common.MF(comm.ModuleMail, "readmail"),
ff(comm.ModuleMail, "delmail"), common.MF(comm.ModuleMail, "delmail"),
ff(comm.ModuleMail, "getusermailattachment"), common.MF(comm.ModuleMail, "getusermailattachment"),
ff(comm.ModuleMail, "getallmailattachment"), common.MF(comm.ModuleMail, "getallmailattachment"),
}, },
"hero": { "hero": {
ff(comm.ModuleHero, hero.HeroSubTypeList), common.MF(comm.ModuleHero, hero.HeroSubTypeList),
ff(comm.ModuleHero, hero.StrengthenUplv), common.MF(comm.ModuleHero, hero.StrengthenUplv),
ff(comm.ModuleHero, hero.StrengthenUpStar), common.MF(comm.ModuleHero, hero.StrengthenUpStar),
ff(comm.ModuleHero, hero.DrawCard), common.MF(comm.ModuleHero, hero.DrawCard),
ff(comm.ModuleHero, "info"), common.MF(comm.ModuleHero, "info"),
}, },
"equipment": { "equipment": {
ff(comm.ModuleEquipment, "getlist"), common.MF(comm.ModuleEquipment, "getlist"),
ff(comm.ModuleEquipment, "equip"), common.MF(comm.ModuleEquipment, "equip"),
ff(comm.ModuleEquipment, "upgrade"), common.MF(comm.ModuleEquipment, "upgrade"),
}, },
"task": { "task": {
ff(comm.ModuleTask, task.TaskSubTypeList), common.MF(comm.ModuleTask, task.TaskSubTypeList),
ff(comm.ModuleTask, task.TaskSubTypeActiveList), common.MF(comm.ModuleTask, task.TaskSubTypeActiveList),
ff(comm.ModuleTask, task.TaskSubTypeActiveReceive), common.MF(comm.ModuleTask, task.TaskSubTypeActiveReceive),
ff(comm.ModuleTask, task.TaskSubTypeGetrecord), common.MF(comm.ModuleTask, task.TaskSubTypeGetrecord),
}, },
"friend": { "friend": {
ff(comm.ModuleFriend, friend.FriendSubTypeList), common.MF(comm.ModuleFriend, friend.FriendSubTypeList),
// ff(comm.ModuleFriend, friend.FriendSubTypeApply), // common.MF(comm.ModuleFriend, friend.FriendSubTypeApply),
ff(comm.ModuleFriend, friend.FriendSubTypeAgree), common.MF(comm.ModuleFriend, friend.FriendSubTypeAgree),
ff(comm.ModuleFriend, friend.FriendSubTypeBlacklist), common.MF(comm.ModuleFriend, friend.FriendSubTypeBlacklist),
ff(comm.ModuleFriend, friend.FriendSubTypeAddBlack), common.MF(comm.ModuleFriend, friend.FriendSubTypeAddBlack),
ff(comm.ModuleFriend, friend.FriendSubTypeDelBlack), common.MF(comm.ModuleFriend, friend.FriendSubTypeDelBlack),
// ff(comm.ModuleFriend, friend.FriendSubTypeSearch), // common.MF(comm.ModuleFriend, friend.FriendSubTypeSearch),
// ff(comm.ModuleFriend, friend.FriendSubTypeZanList), // common.MF(comm.ModuleFriend, friend.FriendSubTypeZanList),
ff(comm.ModuleFriend, friend.FriendSubTypeRandList), common.MF(comm.ModuleFriend, friend.FriendSubTypeRandList),
ff(comm.ModuleFriend, friend.FriendSubTypeGetreward), common.MF(comm.ModuleFriend, friend.FriendSubTypeGetreward),
ff(comm.ModuleFriend, friend.FriendSubTypeAssistHero), common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistHero),
ff(comm.ModuleFriend, friend.FriendSubTypeAssistlist), common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistlist),
ff(comm.ModuleFriend, friend.FriendSubTypeAssistHeroList), common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistHeroList),
}, },
"shop": { "shop": {
ff(comm.ModuleShop, "getlist"), common.MF(comm.ModuleShop, "getlist"),
ff(comm.ModuleShop, "buy"), common.MF(comm.ModuleShop, "buy"),
}, },
"mainline": { "mainline": {
ff(comm.ModuleMline, mline.MlineGetListResp), common.MF(comm.ModuleMline, mline.MlineGetListResp),
ff(comm.ModuleMline, mline.MlineChallengeResp), common.MF(comm.ModuleMline, mline.MlineChallengeResp),
ff(comm.ModuleMline, mline.MlineGetRewardResp), common.MF(comm.ModuleMline, mline.MlineGetRewardResp),
}, },
"pagoda": { "pagoda": {
ff(comm.ModulePagoda, "getlist"), common.MF(comm.ModulePagoda, "getlist"),
}, },
"rtask": { "rtask": {
ff(comm.ModuleRtask, "rtest"), common.MF(comm.ModuleRtask, "rtest"),
}, },
"linestory": { "linestory": {
ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter), common.MF(comm.ModuleLinestory, linestory.LinestorySubTypeChapter),
ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp), common.MF(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp),
}, },
"gourmet": { "gourmet": {
ff(comm.ModuleGourmet, "getranduser"), common.MF(comm.ModuleGourmet, "getranduser"),
}, },
"sociaty": { "sociaty": {
ff(comm.ModuleSociaty, sociaty.SociatySubTypeList), common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeList),
ff(comm.ModuleSociaty, sociaty.SociatySubTypeCreate), common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeCreate),
ff(comm.ModuleSociaty, sociaty.SociatySubTypeMine), common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeMine),
ff(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist), common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist),
ff(comm.ModuleSociaty, sociaty.SociatySubTypeRank), common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeRank),
ff(comm.ModuleSociaty, "boss"), common.MF(comm.ModuleSociaty, "boss"),
}, },
"troll": { "troll": {
ff(comm.ModuleTroll, "getlist"), common.MF(comm.ModuleTroll, "getlist"),
}, },
"growtask": { "growtask": {
ff(comm.ModuleGrowtask, growtask.GrowtaskSubTypeList), common.MF(comm.ModuleGrowtask, growtask.GrowtaskSubTypeList),
}, },
"worldtask": { "worldtask": {
ff(comm.ModuleWorldtask, worldtask.WorldtaskSubtypeMine), common.MF(comm.ModuleWorldtask, worldtask.WorldtaskSubtypeMine),
}, },
"smithy": { "smithy": {
ff(comm.ModuleSmithy, "customer"), common.MF(comm.ModuleSmithy, "customer"),
}, },
"dispatch": { "dispatch": {
ff(comm.ModuleDispatch, "dispatch"), common.MF(comm.ModuleDispatch, "dispatch"),
}, },
"reputation": { "reputation": {
ff(comm.ModuleReputation, "reputation"), common.MF(comm.ModuleReputation, "reputation"),
}, },
"oldtimes": { "oldtimes": {
ff(comm.ModuleOldtimes, "oldtimes"), common.MF(comm.ModuleOldtimes, "oldtimes"),
}, },
} }
) )
@ -281,7 +175,7 @@ var (
MainType: string(comm.ModuleGM), MainType: string(comm.ModuleGM),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleGM, "cmd"): { common.MF(comm.ModuleGM, "cmd"): {
Desc: "eg. bingo:item,10001,1 bingo:attr,gold,1000000", Desc: "eg. bingo:item,10001,1 bingo:attr,gold,1000000",
MainType: string(comm.ModuleGM), MainType: string(comm.ModuleGM),
SubType: "cmd", SubType: "cmd",
@ -294,7 +188,7 @@ var (
MainType: string(comm.ModuleReddot), MainType: string(comm.ModuleReddot),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleReddot, "get"): { common.MF(comm.ModuleReddot, "get"): {
Desc: "红点", Desc: "红点",
NavLabel: "红点", NavLabel: "红点",
MainType: string(comm.ModuleReddot), MainType: string(comm.ModuleReddot),
@ -306,7 +200,7 @@ var (
MainType: string(comm.ModuleSys), MainType: string(comm.ModuleSys),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleSys, "funclist"): { common.MF(comm.ModuleSys, "funclist"): {
NavLabel: "功能列表", NavLabel: "功能列表",
Desc: "返回未开启的功能列表", Desc: "返回未开启的功能列表",
MainType: string(comm.ModuleSys), MainType: string(comm.ModuleSys),
@ -319,7 +213,7 @@ var (
MainType: "user", MainType: "user",
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleUser, user.UserSubTypeModifyAvatar): { common.MF(comm.ModuleUser, user.UserSubTypeModifyAvatar): {
Desc: "用户头像修改", Desc: "用户头像修改",
NavLabel: "修改头像", NavLabel: "修改头像",
MainType: string(comm.ModuleUser), MainType: string(comm.ModuleUser),
@ -348,28 +242,28 @@ var (
}, },
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleUser, user.UserSubTypeModifyFigure): { common.MF(comm.ModuleUser, user.UserSubTypeModifyFigure): {
Desc: "用户形象修改", Desc: "用户形象修改",
NavLabel: "修改形象", NavLabel: "修改形象",
MainType: string(comm.ModuleUser), MainType: string(comm.ModuleUser),
SubType: user.UserSubTypeModifyFigure, SubType: user.UserSubTypeModifyFigure,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleUser, user.UserSubTYpeModifyBgp): { common.MF(comm.ModuleUser, user.UserSubTYpeModifyBgp): {
Desc: "背景修改", Desc: "背景修改",
NavLabel: "修改背景", NavLabel: "修改背景",
MainType: string(comm.ModuleUser), MainType: string(comm.ModuleUser),
SubType: user.UserSubTYpeModifyBgp, SubType: user.UserSubTYpeModifyBgp,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleUser, user.UserSubTypeModifySign): { common.MF(comm.ModuleUser, user.UserSubTypeModifySign): {
NavLabel: "修改签名", NavLabel: "修改签名",
Desc: "用户签名修改", Desc: "用户签名修改",
MainType: string(comm.ModuleUser), MainType: string(comm.ModuleUser),
SubType: user.UserSubTypeModifySign, SubType: user.UserSubTypeModifySign,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleUser, user.UserSubTypeBattlerecord): { common.MF(comm.ModuleUser, user.UserSubTypeBattlerecord): {
NavLabel: "战斗记录", NavLabel: "战斗记录",
Desc: "玩家在心魔塔、狩猎、维京远征的战斗记录", Desc: "玩家在心魔塔、狩猎、维京远征的战斗记录",
MainType: string(comm.ModuleUser), MainType: string(comm.ModuleUser),
@ -382,21 +276,21 @@ var (
MainType: string(comm.ModuleItems), MainType: string(comm.ModuleItems),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleItems, "getlist"): { common.MF(comm.ModuleItems, "getlist"): {
NavLabel: "道具列表", NavLabel: "道具列表",
Desc: "道具列表", Desc: "道具列表",
MainType: string(comm.ModuleItems), MainType: string(comm.ModuleItems),
SubType: "getlist", SubType: "getlist",
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleItems, "sellitem"): { common.MF(comm.ModuleItems, "sellitem"): {
NavLabel: "道具售卖", NavLabel: "道具售卖",
Desc: "道具售卖", Desc: "道具售卖",
MainType: string(comm.ModuleItems), MainType: string(comm.ModuleItems),
SubType: "sellitem", SubType: "sellitem",
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleItems, "useitem"): { common.MF(comm.ModuleItems, "useitem"): {
NavLabel: "道具使用", NavLabel: "道具使用",
Desc: "道具使用", Desc: "道具使用",
MainType: string(comm.ModuleItems), MainType: string(comm.ModuleItems),
@ -410,35 +304,35 @@ var (
MainType: string(comm.ModuleMail), MainType: string(comm.ModuleMail),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleMail, "getlist"): { common.MF(comm.ModuleMail, "getlist"): {
NavLabel: "我的邮件", NavLabel: "我的邮件",
Desc: "我的邮件", Desc: "我的邮件",
MainType: string(comm.ModuleMail), MainType: string(comm.ModuleMail),
SubType: "getlist", SubType: "getlist",
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleMail, "readmail"): { common.MF(comm.ModuleMail, "readmail"): {
NavLabel: "读邮件", NavLabel: "读邮件",
Desc: "读取邮件", Desc: "读取邮件",
MainType: string(comm.ModuleMail), MainType: string(comm.ModuleMail),
SubType: "readmail", SubType: "readmail",
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleMail, "delmail"): { common.MF(comm.ModuleMail, "delmail"): {
NavLabel: "删除邮件", NavLabel: "删除邮件",
Desc: "删除邮件", Desc: "删除邮件",
MainType: string(comm.ModuleMail), MainType: string(comm.ModuleMail),
SubType: "delmail", SubType: "delmail",
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleMail, "getusermailattachment"): { common.MF(comm.ModuleMail, "getusermailattachment"): {
NavLabel: "领取附件", NavLabel: "领取附件",
Desc: "领取附件", Desc: "领取附件",
MainType: string(comm.ModuleMail), MainType: string(comm.ModuleMail),
SubType: "getusermailattachment", SubType: "getusermailattachment",
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleMail, "getallmailattachment"): { common.MF(comm.ModuleMail, "getallmailattachment"): {
NavLabel: "一键领取", NavLabel: "一键领取",
Desc: "领取所有附件", Desc: "领取所有附件",
MainType: string(comm.ModuleMail), MainType: string(comm.ModuleMail),
@ -475,7 +369,7 @@ var (
return formatStr.String() return formatStr.String()
}, },
}, },
ff(comm.ModuleTask, task.TaskSubTypeGetrecord): { common.MF(comm.ModuleTask, task.TaskSubTypeGetrecord): {
NavLabel: "任务数据", NavLabel: "任务数据",
Desc: "任务数据", Desc: "任务数据",
MainType: string(comm.ModuleTask), MainType: string(comm.ModuleTask),
@ -483,7 +377,7 @@ var (
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleTask, task.TaskSubTypeActiveList): { common.MF(comm.ModuleTask, task.TaskSubTypeActiveList): {
NavLabel: "活跃度列表", NavLabel: "活跃度列表",
Desc: "用户活跃度列表", Desc: "用户活跃度列表",
MainType: string(comm.ModuleTask), MainType: string(comm.ModuleTask),
@ -492,7 +386,7 @@ var (
Rsp: &pb.TaskActiveListResp{}, Rsp: &pb.TaskActiveListResp{},
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleTask, task.TaskSubTypeActiveReceive): { common.MF(comm.ModuleTask, task.TaskSubTypeActiveReceive): {
NavLabel: "活跃度领取", NavLabel: "活跃度领取",
Desc: "用户活跃度领取", Desc: "用户活跃度领取",
MainType: string(comm.ModuleTask), MainType: string(comm.ModuleTask),
@ -507,7 +401,7 @@ var (
MainType: string(comm.ModuleHero), MainType: string(comm.ModuleHero),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleHero, hero.HeroSubTypeList): { common.MF(comm.ModuleHero, hero.HeroSubTypeList): {
NavLabel: "英雄列表", NavLabel: "英雄列表",
Desc: "英雄列表", Desc: "英雄列表",
MainType: string(comm.ModuleHero), MainType: string(comm.ModuleHero),
@ -528,7 +422,7 @@ var (
}, },
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleHero, hero.StrengthenUplv): { common.MF(comm.ModuleHero, hero.StrengthenUplv): {
NavLabel: "英雄升级", NavLabel: "英雄升级",
Desc: "英雄等级升级", Desc: "英雄等级升级",
MainType: string(comm.ModuleHero), MainType: string(comm.ModuleHero),
@ -537,7 +431,7 @@ var (
Rsp: &pb.HeroStrengthenUplvResp{}, Rsp: &pb.HeroStrengthenUplvResp{},
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleHero, hero.StrengthenUpStar): { common.MF(comm.ModuleHero, hero.StrengthenUpStar): {
NavLabel: "英雄升星", NavLabel: "英雄升星",
Desc: "英雄星级升级", Desc: "英雄星级升级",
MainType: string(comm.ModuleHero), MainType: string(comm.ModuleHero),
@ -546,14 +440,14 @@ var (
Rsp: &pb.HeroStrengthenUpStarResp{}, Rsp: &pb.HeroStrengthenUpStarResp{},
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleHero, hero.DrawCard): { common.MF(comm.ModuleHero, hero.DrawCard): {
NavLabel: "招募", NavLabel: "招募",
Desc: "抽卡招募", Desc: "抽卡招募",
MainType: string(comm.ModuleHero), MainType: string(comm.ModuleHero),
SubType: hero.DrawCard, SubType: hero.DrawCard,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleHero, "info"): { common.MF(comm.ModuleHero, "info"): {
NavLabel: "英雄信息", NavLabel: "英雄信息",
Desc: "英雄信息", Desc: "英雄信息",
MainType: string(comm.ModuleHero), MainType: string(comm.ModuleHero),
@ -566,21 +460,21 @@ var (
MainType: string(comm.ModuleEquipment), MainType: string(comm.ModuleEquipment),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleEquipment, "getlist"): { common.MF(comm.ModuleEquipment, "getlist"): {
NavLabel: "装备列表", NavLabel: "装备列表",
Desc: "装备列表", Desc: "装备列表",
MainType: string(comm.ModuleEquipment), MainType: string(comm.ModuleEquipment),
SubType: "getlist", SubType: "getlist",
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleEquipment, "equip"): { common.MF(comm.ModuleEquipment, "equip"): {
NavLabel: "穿卸装备", NavLabel: "穿卸装备",
Desc: "穿/卸装备", Desc: "穿/卸装备",
MainType: string(comm.ModuleEquipment), MainType: string(comm.ModuleEquipment),
SubType: "equip", SubType: "equip",
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleEquipment, "upgrade"): { common.MF(comm.ModuleEquipment, "upgrade"): {
NavLabel: "升级装备", NavLabel: "升级装备",
Desc: "升级装备", Desc: "升级装备",
MainType: string(comm.ModuleEquipment), MainType: string(comm.ModuleEquipment),
@ -593,7 +487,7 @@ var (
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleFriend, friend.FriendSubTypeRandList): { common.MF(comm.ModuleFriend, friend.FriendSubTypeRandList): {
NavLabel: "在线玩家", NavLabel: "在线玩家",
Desc: "在线玩家列表", Desc: "在线玩家列表",
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
@ -613,7 +507,7 @@ var (
return formatStr.String() return formatStr.String()
}, },
}, },
ff(comm.ModuleFriend, friend.FriendSubTypeList): { common.MF(comm.ModuleFriend, friend.FriendSubTypeList): {
NavLabel: "我的好友", NavLabel: "我的好友",
Desc: "我的好友列表", Desc: "我的好友列表",
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
@ -622,7 +516,7 @@ var (
Rsp: &pb.FriendListResp{}, Rsp: &pb.FriendListResp{},
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleFriend, friend.FriendSubTypeApply): { common.MF(comm.ModuleFriend, friend.FriendSubTypeApply): {
NavLabel: "好友申请", NavLabel: "好友申请",
Desc: "好友申请", Desc: "好友申请",
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
@ -631,7 +525,7 @@ var (
Rsp: &pb.FriendApplyResp{}, Rsp: &pb.FriendApplyResp{},
Enabled: false, Enabled: false,
}, },
ff(comm.ModuleFriend, friend.FriendSubTypeBlacklist): { common.MF(comm.ModuleFriend, friend.FriendSubTypeBlacklist): {
NavLabel: "黑名单", NavLabel: "黑名单",
Desc: "黑名单列表", Desc: "黑名单列表",
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
@ -640,7 +534,7 @@ var (
Rsp: &pb.FriendBlackListResp{}, Rsp: &pb.FriendBlackListResp{},
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleFriend, friend.FriendSubTypeAddBlack): { common.MF(comm.ModuleFriend, friend.FriendSubTypeAddBlack): {
NavLabel: "加黑名单", NavLabel: "加黑名单",
Desc: "添加黑名单", Desc: "添加黑名单",
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
@ -649,7 +543,7 @@ var (
Rsp: &pb.FriendAddBlackResp{}, Rsp: &pb.FriendAddBlackResp{},
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleFriend, friend.FriendSubTypeDelBlack): { common.MF(comm.ModuleFriend, friend.FriendSubTypeDelBlack): {
NavLabel: "删黑名单", NavLabel: "删黑名单",
Desc: "删除黑名单", Desc: "删除黑名单",
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
@ -658,7 +552,7 @@ var (
Rsp: &pb.FriendDelBlackResp{}, Rsp: &pb.FriendDelBlackResp{},
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleFriend, friend.FriendSubTypeAgree): { common.MF(comm.ModuleFriend, friend.FriendSubTypeAgree): {
NavLabel: "好友审批", NavLabel: "好友审批",
Desc: "好友申请审批", Desc: "好友申请审批",
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
@ -667,7 +561,7 @@ var (
Rsp: &pb.FriendAgreeResp{}, Rsp: &pb.FriendAgreeResp{},
Enabled: true, Enabled: true,
}, },
// ff(comm.ModuleFriend, friend.FriendSubTypeSearch): { // common.MF(comm.ModuleFriend, friend.FriendSubTypeSearch): {
// NavLabel: "好友搜索", // NavLabel: "好友搜索",
// Desc: "搜索好友", // Desc: "搜索好友",
// MainType: string(comm.ModuleFriend), // MainType: string(comm.ModuleFriend),
@ -676,28 +570,28 @@ var (
// Rsp: &pb.FriendSearchResp{}, // Rsp: &pb.FriendSearchResp{},
// Enabled: true, // Enabled: true,
// }, // },
ff(comm.ModuleFriend, friend.FriendSubTypeAssistHero): { common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistHero): {
NavLabel: "助战英雄", NavLabel: "助战英雄",
Desc: "助战英雄", Desc: "助战英雄",
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeAssistHero, SubType: friend.FriendSubTypeAssistHero,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleFriend, friend.FriendSubTypeAssistlist): { common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistlist): {
NavLabel: "助战列表", NavLabel: "助战列表",
Desc: "助战英雄列表", Desc: "助战英雄列表",
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeAssistlist, SubType: friend.FriendSubTypeAssistlist,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleFriend, friend.FriendSubTypeGetreward): { common.MF(comm.ModuleFriend, friend.FriendSubTypeGetreward): {
NavLabel: "助战奖励", NavLabel: "助战奖励",
Desc: "助战奖励", Desc: "助战奖励",
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
SubType: friend.FriendSubTypeGetreward, SubType: friend.FriendSubTypeGetreward,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleFriend, friend.FriendSubTypeAssistHeroList): { common.MF(comm.ModuleFriend, friend.FriendSubTypeAssistHeroList): {
NavLabel: "助战英雄列表", NavLabel: "助战英雄列表",
Desc: "我的好友助战英雄列表", Desc: "我的好友助战英雄列表",
MainType: string(comm.ModuleFriend), MainType: string(comm.ModuleFriend),
@ -711,14 +605,14 @@ var (
MainType: string(comm.ModuleShop), MainType: string(comm.ModuleShop),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleShop, "getlist"): { common.MF(comm.ModuleShop, "getlist"): {
NavLabel: "商店列表", NavLabel: "商店列表",
Desc: "商店列表", Desc: "商店列表",
MainType: string(comm.ModuleShop), MainType: string(comm.ModuleShop),
SubType: "getlist", SubType: "getlist",
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleShop, "buy"): { common.MF(comm.ModuleShop, "buy"): {
NavLabel: "购买商品", NavLabel: "购买商品",
Desc: "购买商品", Desc: "购买商品",
MainType: string(comm.ModuleShop), MainType: string(comm.ModuleShop),
@ -731,21 +625,21 @@ var (
MainType: string(comm.ModuleShop), MainType: string(comm.ModuleShop),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleMline, mline.MlineGetListResp): { common.MF(comm.ModuleMline, mline.MlineGetListResp): {
NavLabel: "主线关卡", NavLabel: "主线关卡",
Desc: "主线关卡", Desc: "主线关卡",
MainType: string(comm.ModuleMline), MainType: string(comm.ModuleMline),
SubType: mline.MlineGetListResp, SubType: mline.MlineGetListResp,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleMline, mline.MlineChallengeResp): { common.MF(comm.ModuleMline, mline.MlineChallengeResp): {
NavLabel: "关卡挑战", NavLabel: "关卡挑战",
Desc: "关卡挑战", Desc: "关卡挑战",
MainType: string(comm.ModuleMline), MainType: string(comm.ModuleMline),
SubType: mline.MlineChallengeResp, SubType: mline.MlineChallengeResp,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleMline, mline.MlineGetRewardResp): { common.MF(comm.ModuleMline, mline.MlineGetRewardResp): {
NavLabel: "关卡奖励", NavLabel: "关卡奖励",
Desc: "获取关卡奖励", Desc: "获取关卡奖励",
MainType: string(comm.ModuleMline), MainType: string(comm.ModuleMline),
@ -758,7 +652,7 @@ var (
MainType: string(comm.ModulePagoda), MainType: string(comm.ModulePagoda),
Enabled: true, Enabled: true,
}, },
ff(comm.ModulePagoda, "getlist"): { common.MF(comm.ModulePagoda, "getlist"): {
NavLabel: "魔塔列表", NavLabel: "魔塔列表",
Desc: "魔塔列表", Desc: "魔塔列表",
MainType: string(comm.ModulePagoda), MainType: string(comm.ModulePagoda),
@ -771,7 +665,7 @@ var (
MainType: string(comm.ModuleRtask), MainType: string(comm.ModuleRtask),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleRtask, "rtest"): { common.MF(comm.ModuleRtask, "rtest"): {
NavLabel: "测试条件", NavLabel: "测试条件",
Desc: "测试任务触发", Desc: "测试任务触发",
MainType: string(comm.ModuleRtask), MainType: string(comm.ModuleRtask),
@ -784,14 +678,14 @@ var (
MainType: string(comm.ModuleLinestory), MainType: string(comm.ModuleLinestory),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): { common.MF(comm.ModuleLinestory, linestory.LinestorySubTypeChapter): {
NavLabel: "支线任务", NavLabel: "支线任务",
Desc: "我的剧情任务", Desc: "我的剧情任务",
MainType: string(comm.ModuleLinestory), MainType: string(comm.ModuleLinestory),
SubType: linestory.LinestorySubTypeChapter, SubType: linestory.LinestorySubTypeChapter,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): { common.MF(comm.ModuleLibrary, library.LibraryFetterstoryTaskResp): {
NavLabel: "羁绊任务", NavLabel: "羁绊任务",
Desc: "我的剧情任务", Desc: "我的剧情任务",
MainType: string(comm.ModuleLibrary), MainType: string(comm.ModuleLibrary),
@ -804,7 +698,7 @@ var (
MainType: string(comm.ModuleGourmet), MainType: string(comm.ModuleGourmet),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleGourmet, "getranduser"): { common.MF(comm.ModuleGourmet, "getranduser"): {
NavLabel: "随机玩家", NavLabel: "随机玩家",
Desc: "随机玩家", Desc: "随机玩家",
MainType: string(comm.ModuleGourmet), MainType: string(comm.ModuleGourmet),
@ -817,14 +711,14 @@ var (
MainType: string(comm.ModuleSociaty), MainType: string(comm.ModuleSociaty),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleSociaty, sociaty.SociatySubTypeCreate): { common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeCreate): {
NavLabel: "公会创建", NavLabel: "公会创建",
Desc: "公会创建", Desc: "公会创建",
MainType: string(comm.ModuleSociaty), MainType: string(comm.ModuleSociaty),
SubType: sociaty.SociatySubTypeCreate, SubType: sociaty.SociatySubTypeCreate,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleSociaty, sociaty.SociatySubTypeList): { common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeList): {
NavLabel: "公会推荐", NavLabel: "公会推荐",
Desc: "公会列表", Desc: "公会列表",
MainType: string(comm.ModuleSociaty), MainType: string(comm.ModuleSociaty),
@ -834,28 +728,28 @@ var (
return "不打印" return "不打印"
}, },
}, },
ff(comm.ModuleSociaty, sociaty.SociatySubTypeMine): { common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeMine): {
NavLabel: "我的公会", NavLabel: "我的公会",
Desc: "我的公会", Desc: "我的公会",
MainType: string(comm.ModuleSociaty), MainType: string(comm.ModuleSociaty),
SubType: sociaty.SociatySubTypeMine, SubType: sociaty.SociatySubTypeMine,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist): { common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeTasklist): {
NavLabel: "任务列表", NavLabel: "任务列表",
Desc: "任务列表", Desc: "任务列表",
MainType: string(comm.ModuleSociaty), MainType: string(comm.ModuleSociaty),
SubType: sociaty.SociatySubTypeTasklist, SubType: sociaty.SociatySubTypeTasklist,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleSociaty, sociaty.SociatySubTypeRank): { common.MF(comm.ModuleSociaty, sociaty.SociatySubTypeRank): {
NavLabel: "排行榜", NavLabel: "排行榜",
Desc: "排行榜", Desc: "排行榜",
MainType: string(comm.ModuleSociaty), MainType: string(comm.ModuleSociaty),
SubType: sociaty.SociatySubTypeRank, SubType: sociaty.SociatySubTypeRank,
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleSociaty, "boss"): { common.MF(comm.ModuleSociaty, "boss"): {
NavLabel: "BOSS", NavLabel: "BOSS",
Desc: "BOSS", Desc: "BOSS",
MainType: string(comm.ModuleSociaty), MainType: string(comm.ModuleSociaty),
@ -868,7 +762,7 @@ var (
MainType: string(comm.ModuleTroll), MainType: string(comm.ModuleTroll),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleTroll, "getlist"): { common.MF(comm.ModuleTroll, "getlist"): {
NavLabel: "列表", NavLabel: "列表",
Desc: "巨兽列表", Desc: "巨兽列表",
MainType: string(comm.ModuleTroll), MainType: string(comm.ModuleTroll),
@ -881,7 +775,7 @@ var (
MainType: string(comm.ModuleGrowtask), MainType: string(comm.ModuleGrowtask),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleGrowtask, growtask.GrowtaskSubTypeList): { common.MF(comm.ModuleGrowtask, growtask.GrowtaskSubTypeList): {
NavLabel: "列表", NavLabel: "列表",
Desc: "成长任务列表", Desc: "成长任务列表",
MainType: string(comm.ModuleGrowtask), MainType: string(comm.ModuleGrowtask),
@ -894,7 +788,7 @@ var (
MainType: string(comm.ModuleWorldtask), MainType: string(comm.ModuleWorldtask),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleWorldtask, worldtask.WorldtaskSubtypeMine): { common.MF(comm.ModuleWorldtask, worldtask.WorldtaskSubtypeMine): {
NavLabel: "我的任务", NavLabel: "我的任务",
Desc: "世界任务剧情", Desc: "世界任务剧情",
MainType: string(comm.ModuleWorldtask), MainType: string(comm.ModuleWorldtask),
@ -907,7 +801,7 @@ var (
MainType: string(comm.ModuleSmithy), MainType: string(comm.ModuleSmithy),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleSmithy, "customer"): { common.MF(comm.ModuleSmithy, "customer"): {
NavLabel: "顾客", NavLabel: "顾客",
Desc: "当前铁匠铺中的顾客", Desc: "当前铁匠铺中的顾客",
MainType: string(comm.ModuleSmithy), MainType: string(comm.ModuleSmithy),
@ -920,7 +814,7 @@ var (
MainType: string(comm.ModuleDispatch), MainType: string(comm.ModuleDispatch),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleDispatch, "dispatch"): { common.MF(comm.ModuleDispatch, "dispatch"): {
NavLabel: "派遣", NavLabel: "派遣",
Desc: "派遣", Desc: "派遣",
MainType: string(comm.ModuleDispatch), MainType: string(comm.ModuleDispatch),
@ -933,7 +827,7 @@ var (
MainType: string(comm.ModuleReputation), MainType: string(comm.ModuleReputation),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleReputation, "reputation"): { common.MF(comm.ModuleReputation, "reputation"): {
NavLabel: "声望管理", NavLabel: "声望管理",
Desc: "声望管理", Desc: "声望管理",
MainType: string(comm.ModuleReputation), MainType: string(comm.ModuleReputation),
@ -946,7 +840,7 @@ var (
MainType: string(comm.ModuleOldtimes), MainType: string(comm.ModuleOldtimes),
Enabled: true, Enabled: true,
}, },
ff(comm.ModuleOldtimes, "oldtimes"): { common.MF(comm.ModuleOldtimes, "oldtimes"): {
NavLabel: "关卡", NavLabel: "关卡",
Desc: "关卡编辑器", Desc: "关卡编辑器",
MainType: string(comm.ModuleOldtimes), 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)
}

View File

@ -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{},
},
}
)

View File

@ -13,4 +13,4 @@ type TestCase struct {
Enabled bool //是否启用 Enabled bool //是否启用
// View MyCaseView //视图 // View MyCaseView //视图
Print func(rsp proto.Message) string //定义打印 Print func(rsp proto.Message) string //定义打印
} }

View File

@ -3,6 +3,7 @@ package ui
import ( import (
"fmt" "fmt"
"go_dreamfactory/cmd/v2/lib/common" "go_dreamfactory/cmd/v2/lib/common"
pb2 "go_dreamfactory/cmd/v2/lib/pb"
"go_dreamfactory/cmd/v2/model" "go_dreamfactory/cmd/v2/model"
"go_dreamfactory/cmd/v2/service" "go_dreamfactory/cmd/v2/service"
"go_dreamfactory/cmd/v2/service/observer" "go_dreamfactory/cmd/v2/service/observer"
@ -51,7 +52,7 @@ func (a *appTester) LazyInit(service service.PttService, obs observer.Observer)
intro.SetText(t.Desc) intro.SetText(t.Desc)
content.Objects = []fyne.CanvasObject{} content.Objects = []fyne.CanvasObject{}
if view, ok := viewRegister[viewKey]; ok { if view, ok := ViewRegister[viewKey]; ok {
timeLbl := widget.NewLabel("time") timeLbl := widget.NewLabel("time")
resLog := widget.NewMultiLineEntry() resLog := widget.NewMultiLineEntry()
view.Init(service, obs, globalWin.w, resLog) 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 { func (a *appTester) makeNav(setNav func(testCase *model.TestCase)) fyne.CanvasObject {
tree := &widget.Tree{ tree := &widget.Tree{
ChildUIDs: func(uid string) (c []widget.TreeNodeID) { ChildUIDs: func(uid string) (c []widget.TreeNodeID) {
return CaseIndex[uid] return pb2.CaseIndex[uid]
}, },
IsBranch: func(uid string) bool { IsBranch: func(uid string) bool {
children, ok := CaseIndex[uid] children, ok := pb2.CaseIndex[uid]
return ok && len(children) > 0 return ok && len(children) > 0
}, },
CreateNode: func(branch bool) fyne.CanvasObject { CreateNode: func(branch bool) fyne.CanvasObject {
return widget.NewLabel("(empty)") return widget.NewLabel("(empty)")
}, },
UpdateNode: func(uid string, branch bool, obj fyne.CanvasObject) { UpdateNode: func(uid string, branch bool, obj fyne.CanvasObject) {
t, ok := CaseNav[uid] t, ok := pb2.CaseNav[uid]
if !ok { if !ok {
logrus.WithField("id", uid).Warnf("Missing tutorial panel") logrus.WithField("id", uid).Warnf("Missing tutorial panel")
return return
@ -155,7 +156,7 @@ func (a *appTester) makeNav(setNav func(testCase *model.TestCase)) fyne.CanvasOb
} }
}, },
OnSelected: func(uid string) { 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") logrus.WithFields(logrus.Fields{"mainType": t.MainType, "subType": t.SubType}).Debug("select")
if a.disEnabled(t) { if a.disEnabled(t) {
return return

125
cmd/v2/ui/navview.go Normal file
View File

@ -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{},
}
)

View File

@ -56,7 +56,7 @@ func (d *DispatchView) CreateView(t *model.TestCase) fyne.CanvasObject {
noticeFun() noticeFun()
}) })
//刷新公告 //刷新公告
refreshBtn := widget.NewButton("刷新公告", func() { refresh := func() {
if err := service.GetPttService().SendToClient( if err := service.GetPttService().SendToClient(
t.MainType, t.MainType,
"refresh", "refresh",
@ -66,6 +66,16 @@ func (d *DispatchView) CreateView(t *model.TestCase) fyne.CanvasObject {
return return
} }
noticeFun() 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.Resize(fyne.NewSize(600, 300))
paiWin.Show() paiWin.Show()
}) })
//周奖励领取 //周奖励领取
weekReceiveBtn := widget.NewButton("周奖励", func() { weekReceiveBtn := widget.NewButton("周奖励", func() {
if err := service.GetPttService().SendToClient( 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) autoReceiveBtn, paiqianBtn, weekReceiveBtn)
bottom := container.NewHBox(d.noticeLabl) bottom := container.NewHBox(d.noticeLabl)
c := container.NewBorder(top, bottom, nil, nil, d.itemList.ItemList) c := container.NewBorder(top, bottom, nil, nil, d.itemList.ItemList)
@ -182,27 +192,36 @@ func (a *DispatchView) noticeList() {
return return
} }
a.noticeLabl.SetText(fmt.Sprintf("公告等级:%v 免费次数:%v 刷新次数:%v 任务数:%v 周任务数:%v 周奖励领取:%v", //验证结果是否有重复
rsp.Dispatch.Lv, tidMap := make(map[int32]int32)
rsp.Dispatch.FreeCount, var r bool
rsp.Dispatch.RefreshCount,
rsp.Dispatch.TaskCount,
rsp.Dispatch.WeekCount,
rsp.Dispatch.WeekReceived,
))
a.noticeLabl.Refresh()
for _, v := range rsp.Dispatch.Tasks { 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) t1 := time.Unix(v.Duration, 0)
lt1 := t1.Format("15:04:05") lt1 := t1.Format("15:04:05")
t2 := time.Unix(v.LeftTime, 0) t2 := time.Unix(v.LeftTime, 0)
lt2 := t2.Format("15:04:05") lt2 := t2.Format("15:04:05")
item := common.Item{ item := common.Item{
Id: cast.ToString(v.TaskId), 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, Data: v,
} }
a.itemList.AddItem(item) 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()
} }
}, },
}) })

View File

@ -1,12 +1,21 @@
package formview package formview
import ( import (
"fmt"
"go_dreamfactory/cmd/v2/lib/common"
pb2 "go_dreamfactory/cmd/v2/lib/pb"
"go_dreamfactory/cmd/v2/model" "go_dreamfactory/cmd/v2/model"
"go_dreamfactory/cmd/v2/service" "go_dreamfactory/cmd/v2/service"
"go_dreamfactory/pb" "go_dreamfactory/pb"
"go_dreamfactory/utils" "go_dreamfactory/utils"
"strings"
"sync"
cfg "go_dreamfactory/sys/configure/structs"
"fyne.io/fyne/v2" "fyne.io/fyne/v2"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/dialog"
"fyne.io/fyne/v2/widget" "fyne.io/fyne/v2/widget"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
"github.com/spf13/cast" "github.com/spf13/cast"
@ -14,9 +23,21 @@ import (
type RtaskTestView struct { type RtaskTestView struct {
BaseformView BaseformView
itemList *common.ItemList
result chan int
} }
func (this *RtaskTestView) CreateView(t *model.TestCase) fyne.CanvasObject { 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() rtaskTypeInput := widget.NewEntry()
paramsInput := 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.AppendItem(widget.NewFormItem("分组编号", input))
this.form.OnSubmit = func() { testBtn := widget.NewButton("手动触发", func() {
// if rtaskTypeInput.Text == "" { this.form.OnSubmit = func() {
// dialog.ShowError(errors.New("请填写任务类型ID"), this.w) if err := service.GetPttService().SendToClient(
// return 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 == "" { paiWin := dialog.NewCustom("手动触发", "关闭", this.form, this.w)
// dialog.ShowError(errors.New("请填写任务条件参数"), this.w) paiWin.Resize(fyne.NewSize(600, 300))
// return paiWin.Show()
// } })
if err := service.GetPttService().SendToClient( //"F:\\projects\\workspace\\go_dreamfactory\\bin\\json"
t.MainType, jsonPathEntry := widget.NewEntry()
t.SubType, jsonPathEntry.SetText("F:\\projects\\workspace\\go_dreamfactory\\bin\\json")
&pb.RtaskTestReq{ reportEntry := widget.NewEntry()
RtaskType: cast.ToInt32(rtaskTypeInput.Text), reportEntry.SetText("F:\\result.txt")
Params: utils.TrInt32(paramsInput.Text),
CondiId: cast.ToInt32(condiInput.Text), autoTestForm := widget.NewForm(
}, widget.NewFormItem("Json配置", jsonPathEntry),
); err != nil { widget.NewFormItem("报告目录", reportEntry),
logrus.Error(err) )
return
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)
}
}
} }

View File

@ -35,7 +35,7 @@ func (a *apiComp) Notice(session comm.IUserSession, req *pb.DispatchNoticeReq) (
freeCount := a.module.ModuleTools.GetGlobalConf().DispatchFreecheck freeCount := a.module.ModuleTools.GetGlobalConf().DispatchFreecheck
nb := &pb.Noticeboard{ nb := &pb.Noticeboard{
Lv: 1, //公告初始 Lv: 1, //公告初始
FreeCount: freeCount, FreeCount: freeCount,
Tasks: tasks, Tasks: tasks,
UpdateTime: configure.Now().Unix(), UpdateTime: configure.Now().Unix(),