优化
This commit is contained in:
parent
d4d32df1ff
commit
4aa44457e9
@ -22,9 +22,10 @@ import (
|
||||
)
|
||||
|
||||
type CommonResourceService struct {
|
||||
projectRepo repo.IProjectRepo
|
||||
serverRepo repo.IServerRepo
|
||||
noticeRepo repo.INoticeRepo
|
||||
projectRepo repo.IProjectRepo
|
||||
serverRepo repo.IServerRepo
|
||||
noticeRepo repo.INoticeRepo
|
||||
genAccountRepo repo.IGenAccountRepo
|
||||
}
|
||||
|
||||
func (svc *CommonResourceService) initCommonResourcesRepo(db *gorm.DB) {
|
||||
@ -70,15 +71,25 @@ func (svc *CommonResourceService) initCommonResourcesRepo(db *gorm.DB) {
|
||||
|
||||
r(consts.ResourcesName_CDKey, "礼包码", repo.NewCommonResourceRepo(db, &model.CDKey{}), ShowMethod_Get|ShowMethod_Post|ShowMethod_Put|ShowMethod_Delete)
|
||||
r(consts.ResourcesName_ItemBag, "道具礼包", repo.NewCommonResourceRepo(db, &model.ItemBag{}), ShowMethod_Get|ShowMethod_Post|ShowMethod_Put|ShowMethod_Delete)
|
||||
{
|
||||
genAccountRepo := r(consts.ResourcesName_GenAccount, "登录白名单", repo.NewCommonResourceRepo(db, &model.GenAccount{}), ShowMethod_Get|ShowMethod_Post|ShowMethod_Delete)
|
||||
genAccountRepo.GlobalBtns = []*ResourceBtnInfo{
|
||||
{&api.ResourceBtnInfo{Key: consts.BtnKeyGlobal_GenAccount_ExportAll, Name: "导出", BtnColorType: "warning"}, svc.handleGenAccountExport},
|
||||
}
|
||||
genAccountRepo.RowBtns = []*ResourceBtnInfo{
|
||||
{&api.ResourceBtnInfo{Key: consts.BtnKeyGlobal_GenAccount_Export, Name: "导出", BtnColorType: "warning"}, svc.handleGenAccountExport},
|
||||
}
|
||||
}
|
||||
|
||||
//r(consts.ResourcesName_DevicePush, "设备推送(暂无)", repo.NewCommonResourceRepo(db, &model.DevicePush{}), ShowMethod_Get)
|
||||
}
|
||||
|
||||
func NewCommonResourceService(db *gorm.DB) *CommonResourceService {
|
||||
svc := &CommonResourceService{
|
||||
projectRepo: repo.NewProjectRepo(db),
|
||||
serverRepo: repo.NewServerRepo(db),
|
||||
noticeRepo: repo.NewNoticeRepo(db),
|
||||
projectRepo: repo.NewProjectRepo(db),
|
||||
serverRepo: repo.NewServerRepo(db),
|
||||
noticeRepo: repo.NewNoticeRepo(db),
|
||||
genAccountRepo: repo.NewGenAccountRepo(db),
|
||||
}
|
||||
svc.initCommonResourcesRepo(db)
|
||||
svc.startEventSubscriber()
|
||||
@ -238,6 +249,13 @@ func (svc *CommonResourceService) Create(projectId int, resource string, dtoObj
|
||||
} else {
|
||||
return projectEt, nil, errcode.New(errcode.ParamsInvalid, "account empty:%+v", dtoObj)
|
||||
}
|
||||
} else if resource == consts.ResourcesName_GenAccount {
|
||||
accountList, findAccount := dtoObj["AccountList"]
|
||||
if findAccount {
|
||||
list := strings.Split(accountList.(string), ",")
|
||||
dtoObj["AccountNum"] = len(list)
|
||||
}
|
||||
newDtoObj, err = createOne(dtoObj)
|
||||
} else {
|
||||
newDtoObj, err = createOne(dtoObj)
|
||||
}
|
||||
|
@ -3,7 +3,12 @@ package domain
|
||||
import (
|
||||
"admin/apps/game/domain/entity"
|
||||
"admin/apps/game/domain/projects"
|
||||
"admin/apps/game/model"
|
||||
dto2 "admin/internal/model/dto"
|
||||
"bytes"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
func (svc *CommonResourceService) handleServerUpOrDown(projectEt *entity.Project, resourceName string, params *dto2.CommonRowsSelectionReq) (*dto2.CommonRowsSelectionRsp, error) {
|
||||
@ -76,3 +81,45 @@ func (svc *CommonResourceService) handleNoticeEnable(projectEt *entity.Project,
|
||||
NeedRefresh: true,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (svc *CommonResourceService) handleGenAccountExport(projectEt *entity.Project, resourceName string, params *dto2.CommonRowsSelectionReq) (*dto2.CommonRowsSelectionRsp, error) {
|
||||
|
||||
fileContent := bytes.NewBuffer(nil)
|
||||
|
||||
getContentFun := func(po *model.GenAccount) {
|
||||
buf := bytes.NewBuffer(nil)
|
||||
|
||||
accounts := strings.Split(po.AccountList, ",")
|
||||
buf.WriteString(fmt.Sprintf("id:%v\n", po.ID))
|
||||
buf.WriteString(fmt.Sprintf("区服:%v\n", po.ServerConfID))
|
||||
buf.WriteString(fmt.Sprintf("创建时间:%v\n", po.CreatedAt.Format(time.DateTime)))
|
||||
buf.WriteString(fmt.Sprintf("账号数量:%v\n", len(accounts)))
|
||||
buf.WriteString(fmt.Sprintf("账号列表:\n"))
|
||||
for _, account := range accounts {
|
||||
buf.WriteString(fmt.Sprintf("%v\n", account))
|
||||
}
|
||||
buf.WriteString(fmt.Sprintf("\n"))
|
||||
fileContent.WriteString(buf.String())
|
||||
}
|
||||
if len(params.Rows) == 0 {
|
||||
poList, err := svc.genAccountRepo.ListAll(projectEt.GetProjectID())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
for _, po := range poList {
|
||||
getContentFun(po)
|
||||
}
|
||||
} else {
|
||||
for _, dtoObj := range params.Rows {
|
||||
et := new(entity.CommonResource).FromPo(&model.GenAccount{}).FromDto(dtoObj)
|
||||
po := et.Po.(*model.GenAccount)
|
||||
getContentFun(po)
|
||||
}
|
||||
}
|
||||
|
||||
return &dto2.CommonRowsSelectionRsp{
|
||||
Msg: fileContent.String(),
|
||||
NeedRefresh: false,
|
||||
FileName: projectEt.GetProjectPo().Name + "-登录白名单账号列表.txt",
|
||||
}, nil
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ var projectsResourceHookMgr = map[string]map[string]any{
|
||||
consts.ResourcesName_MailGlobal: &smdl.MailGlobalHook{}, // 所有角色走神魔大陆api直接获取
|
||||
consts.ResourcesName_MailRole: &smdl.MailRoleHook{}, // 所有角色走神魔大陆api直接获取
|
||||
consts.ResourcesName_WhiteList: &smdl.WhitelistHook{}, // 所有角色走神魔大陆api直接获取
|
||||
consts.ResourcesName_GenAccount: &smdl.GenAccountHook{}, // 所有角色走神魔大陆api直接获取
|
||||
},
|
||||
}
|
||||
|
||||
|
100
admin/apps/game/domain/projects/smdl/gen_account.go
Normal file
100
admin/apps/game/domain/projects/smdl/gen_account.go
Normal file
@ -0,0 +1,100 @@
|
||||
package smdl
|
||||
|
||||
import (
|
||||
"admin/apps/game/domain/entity"
|
||||
"admin/apps/game/model"
|
||||
"admin/internal/errcode"
|
||||
"admin/internal/model/dto"
|
||||
"admin/lib/httpclient"
|
||||
"admin/lib/xlog"
|
||||
"net/url"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
type GenAccountHook struct {
|
||||
}
|
||||
|
||||
func (hook *GenAccountHook) Create(projectInfo *entity.Project, resource string, dtoObj dto.CommonDtoValues) error {
|
||||
alisrvAddr := projectInfo.GetApiAddr()
|
||||
if alisrvAddr == "" {
|
||||
return errcode.New(errcode.ServerError, "项目%v没有配置api服务器地址", projectInfo.Po.Name)
|
||||
}
|
||||
|
||||
et := (&entity.CommonResource{}).FromPo(&model.GenAccount{}).FromDto(dtoObj)
|
||||
info := et.ToPo().(*model.GenAccount)
|
||||
|
||||
// 扶持账号借用白名单表存储,懒得建表了
|
||||
params := &url.Values{}
|
||||
params.Add("cmd_data", "OpWhitelist")
|
||||
params.Add("type", "generate")
|
||||
params.Add("op", "add")
|
||||
params.Add("server", info.ServerConfID)
|
||||
|
||||
accountList := strings.Split(info.AccountList, ",")
|
||||
notifyFun := func() {
|
||||
for _, account := range accountList {
|
||||
params.Set("value", account)
|
||||
rsp := make(map[string]any)
|
||||
err := httpclient.Request(alisrvAddr+"/gm", "get", params, &rsp)
|
||||
if err != nil {
|
||||
err = errcode.New(errcode.ServerError, "发送登录白名单(生成账号)添加请求:%+v错误:%v", account, err)
|
||||
xlog.Warnf("%v", err)
|
||||
} else {
|
||||
xlog.Infof("发送登录白名单(生成账号)添加请求:%+v成功", account)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if len(accountList) >= 30 {
|
||||
// 账号多就异步,不然卡死前端
|
||||
go notifyFun()
|
||||
} else {
|
||||
notifyFun()
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (hook *GenAccountHook) Delete(projectInfo *entity.Project, resource string, dtoObj dto.CommonDtoValues) error {
|
||||
alisrvAddr := projectInfo.GetApiAddr()
|
||||
if alisrvAddr == "" {
|
||||
return errcode.New(errcode.ServerError, "项目%v没有配置api服务器地址", projectInfo.Po.Name)
|
||||
}
|
||||
|
||||
et := (&entity.CommonResource{}).FromPo(&model.GenAccount{}).FromDto(dtoObj)
|
||||
info := et.ToPo().(*model.GenAccount)
|
||||
|
||||
params := &url.Values{}
|
||||
params.Add("cmd_data", "OpWhitelist")
|
||||
params.Add("type", "generate")
|
||||
params.Add("op", "remove")
|
||||
params.Add("server", info.ServerConfID)
|
||||
|
||||
accountList := strings.Split(info.AccountList, ",")
|
||||
notifyFun := func() {
|
||||
for _, account := range accountList {
|
||||
params.Set("value", account)
|
||||
rsp := make(map[string]any)
|
||||
err := httpclient.Request(alisrvAddr+"/gm", "get", params, &rsp)
|
||||
if err != nil {
|
||||
err = errcode.New(errcode.ServerError, "发送登录白名单(生成账号)删除请求:%+v错误:%v", account, err)
|
||||
xlog.Warnf("%v", err)
|
||||
} else {
|
||||
xlog.Infof("发送登录白名单(生成账号)删除请求:%+v成功", account)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if len(accountList) >= 30 {
|
||||
// 账号多就异步,不然卡死前端
|
||||
go func() {
|
||||
notifyFun()
|
||||
}()
|
||||
time.Sleep(time.Second * 5)
|
||||
} else {
|
||||
notifyFun()
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
@ -238,7 +238,13 @@ func (repo *commonResourceRepoImpl) parseWhereConditions2Sql(conditions []*dto2.
|
||||
}
|
||||
|
||||
}
|
||||
switch field.Tag.Get("where") {
|
||||
|
||||
tagWhere := field.Tag.Get("where")
|
||||
condWhere := cond.Op
|
||||
if condWhere == "" {
|
||||
condWhere = tagWhere
|
||||
}
|
||||
switch condWhere {
|
||||
case "eq":
|
||||
if field.Tag.Get("type") == "[]string" && field.Tag.Get("multi_choice") == "true" {
|
||||
// eq也要查出来为空的
|
||||
@ -281,7 +287,6 @@ func (repo *commonResourceRepoImpl) parseWhereConditions2Sql(conditions []*dto2.
|
||||
whereClause = append(whereClause, fmt.Sprintf("`%v` >= ? and `%v` <= ?", dbFieldName, dbFieldName))
|
||||
whereArgs = append(whereArgs, cond.Value1, cond.Value2)
|
||||
}
|
||||
case "":
|
||||
default:
|
||||
panic(fmt.Errorf("unsupport where tag %v", field.Tag))
|
||||
}
|
||||
|
28
admin/apps/game/domain/repo/gen_account.go
Normal file
28
admin/apps/game/domain/repo/gen_account.go
Normal file
@ -0,0 +1,28 @@
|
||||
package repo
|
||||
|
||||
import (
|
||||
"admin/apps/game/model"
|
||||
"admin/internal/errcode"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type IGenAccountRepo interface {
|
||||
ListAll(projectId int) ([]*model.GenAccount, error)
|
||||
}
|
||||
|
||||
func NewGenAccountRepo(db *gorm.DB) IGenAccountRepo {
|
||||
return &genAccountRepoImpl{db: db}
|
||||
}
|
||||
|
||||
type genAccountRepoImpl struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func (impl *genAccountRepoImpl) ListAll(projectId int) ([]*model.GenAccount, error) {
|
||||
po := make([]*model.GenAccount, 0)
|
||||
err := impl.db.Where("project_id = ?", projectId).Find(&po).Error
|
||||
if err != nil {
|
||||
return nil, errcode.New(errcode.ParamsInvalid, "list gen account error:%v", err)
|
||||
}
|
||||
return po, nil
|
||||
}
|
34
admin/apps/game/model/gen_account.go
Normal file
34
admin/apps/game/model/gen_account.go
Normal file
@ -0,0 +1,34 @@
|
||||
package model
|
||||
|
||||
import (
|
||||
"admin/internal/db"
|
||||
"admin/internal/model/dto"
|
||||
"time"
|
||||
)
|
||||
|
||||
func init() {
|
||||
db.RegisterTableModels(GenAccount{})
|
||||
}
|
||||
|
||||
type GenAccount struct {
|
||||
ID int `gorm:"primarykey" readonly:"true"`
|
||||
ProjectId int `gorm:"uniqueIndex:idx_account"`
|
||||
ServerConfID string `gorm:"type:varchar(200);uniqueIndex:idx_account;index:idx_server" name:"区服id" required:"true" choices:"GetChoiceServers" where:"eq"`
|
||||
AccountNum int `name:"账号数量" readonly:"true"`
|
||||
AccountList string `gorm:"type:longtext" name:"账号列表" type:"randAccount" desc:"用逗号标记多个" required:"true" big_column:"true"`
|
||||
|
||||
CreatedAt time.Time `readonly:"true" where:"range"`
|
||||
UpdatedAt time.Time `readonly:"true"`
|
||||
}
|
||||
|
||||
func (lm *GenAccount) TableName() string {
|
||||
return "gen_account"
|
||||
}
|
||||
|
||||
func (m *GenAccount) GetId() int {
|
||||
return m.ID
|
||||
}
|
||||
|
||||
func (m *GenAccount) GetChoiceServers(project *Project) []*dto.CommonDtoFieldChoice {
|
||||
return getChoiceServers(project)
|
||||
}
|
@ -16,7 +16,7 @@ type Server struct {
|
||||
ID int `gorm:"primarykey" readonly:"true"`
|
||||
ProjectId int `gorm:"uniqueIndex:idx_server"`
|
||||
ServerConfID string `gorm:"type:varchar(200);uniqueIndex:idx_server" name:"区服id" required:"true" uneditable:"true"`
|
||||
Desc string `name:"描述"`
|
||||
Desc string `name:"描述" required:"true"`
|
||||
ClientConnAddr string `name:"客户端连接地址" desc:"填 公网ip:公网端口" required:"true"`
|
||||
RunningStatus string `name:"进程运行状态" desc:"进程运行状态:未知、运行中、停止" readonly:"true" uneditable:"true" type:"tagStatus" choices:"GetRunningStatusChoices"`
|
||||
Ccu int `name:"实时在线" desc:"ccu" readonly:"true" uneditable:"true"`
|
||||
|
@ -17,7 +17,7 @@ func init() {
|
||||
type Token struct {
|
||||
ID int `gorm:"primarykey" readonly:"true"`
|
||||
Token string `gorm:"type:varchar(256);index" required:"true"`
|
||||
UserId int `gorm:"type:int(20);uniqueIndex:user" name:"用户id" readonly:"true"`
|
||||
UserId int `gorm:"type:int(20);unique" name:"用户id" readonly:"true"`
|
||||
ExpireAt time.Time `name:"到期时间" readonly:"true"`
|
||||
CreatedAt time.Time `readonly:"true"`
|
||||
}
|
||||
|
Binary file not shown.
@ -2,9 +2,9 @@
|
||||
|
||||
app="admin"
|
||||
img_prefix="harbor.devops.u.niu/mid-platform"
|
||||
img_tag="2.0.0"
|
||||
img_tag="2.0.1"
|
||||
|
||||
go build -tags netgo -ldflags "-s -w" -trimpath -buildvcs=false -o $app
|
||||
echo "准备构建:$app"
|
||||
docker build -t $img_prefix/$app:$img_tag --file Dockerfile .
|
||||
docker push $img_prefix/$app:$img_tag
|
||||
docker push $img_prefix/$app:$img_tag
|
||||
|
@ -36,6 +36,7 @@ const (
|
||||
ResourcesName_CDKey = "cdkey"
|
||||
ResourcesName_DevicePush = "device_push"
|
||||
ResourcesName_ItemBag = "item_bag"
|
||||
ResourcesName_GenAccount = "gen_account"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -58,14 +59,15 @@ const (
|
||||
)
|
||||
|
||||
const (
|
||||
BtnKeyGlobal_Server_DownAll = "server:down:all" // 一键维护
|
||||
BtnKeyGlobal_Server_UpAll = "server:up:all" // 一键维护结束
|
||||
BtnKeyGlobal_Server_ExportCdn = "server:export:cdn" // 一键导出cdn
|
||||
BtnKeyGlobal_Notice_DisableAll = "notice:disable:all" // 一键禁用
|
||||
BtnKeyGlobal_Notice_EnableAll = "notice:enable:all" // 一键启用
|
||||
BtnKeyGlobal_Notice_Disable = "notice:disable" // 禁用
|
||||
BtnKeyGlobal_Notice_Enable = "notice:enable" // 启用
|
||||
|
||||
BtnKeyGlobal_Server_DownAll = "server:down:all" // 一键维护
|
||||
BtnKeyGlobal_Server_UpAll = "server:up:all" // 一键维护结束
|
||||
BtnKeyGlobal_Server_ExportCdn = "server:export:cdn" // 一键导出cdn
|
||||
BtnKeyGlobal_Notice_DisableAll = "notice:disable:all" // 一键禁用
|
||||
BtnKeyGlobal_Notice_EnableAll = "notice:enable:all" // 一键启用
|
||||
BtnKeyGlobal_Notice_Disable = "notice:disable" // 禁用
|
||||
BtnKeyGlobal_Notice_Enable = "notice:enable" // 启用
|
||||
BtnKeyGlobal_GenAccount_ExportAll = "gen_account:export:all" // 导出
|
||||
BtnKeyGlobal_GenAccount_Export = "gen_account:export" // 导出
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -5,7 +5,7 @@
|
||||
<link rel="icon" href="/favicon.ico">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Vite App</title>
|
||||
<script type="module" crossorigin src="/static/js/index-CHdVgwQA.js"></script>
|
||||
<script type="module" crossorigin src="/static/js/index-UuEmTaM1.js"></script>
|
||||
<link rel="modulepreload" crossorigin href="/static/js/vendor-CF1QNs3T.js">
|
||||
<link rel="stylesheet" crossorigin href="/static/css/vendor-DnLjZ1mj.css">
|
||||
<link rel="stylesheet" crossorigin href="/static/css/index-BqAGgcXq.css">
|
||||
|
@ -0,0 +1 @@
|
||||
.clearfix[data-v-94c97751]:after{content:"";display:block;clear:both}.editorContainer[data-v-94c97751]{width:100%;height:100%;position:relative}.editorFinishArea[data-v-94c97751]{width:100%;height:60px;position:absolute;bottom:0;left:0;border-top:1px solid #dddddd;display:flex;align-items:center;justify-content:end}.editorFinishBtns[data-v-94c97751]{margin-right:10px}.editorOperationArea[data-v-94c97751]{width:100%;height:calc(100% - 60px);position:absolute;top:0;left:0}
|
1
admin/ui/static/static/css/groupBySelect-CFOi4zHL.css
Normal file
1
admin/ui/static/static/css/groupBySelect-CFOi4zHL.css
Normal file
@ -0,0 +1 @@
|
||||
.groupByOneArea[data-v-5cb43c01]{width:100%}
|
1
admin/ui/static/static/css/index-B3tO-Skr.css
Normal file
1
admin/ui/static/static/css/index-B3tO-Skr.css
Normal file
@ -0,0 +1 @@
|
||||
.editorTopRightToolBarBtn[data-v-4d718c2b]{margin:0;padding:0 8px;border:0}.editorAreaOuter[data-v-4d718c2b]{width:100%;height:100%;position:relative}.editorAreaInner[data-v-4d718c2b]{width:calc(100% - 30px);height:calc(100% - 10px);position:absolute;top:10px;left:15px}
|
1
admin/ui/static/static/css/metricSelect-NSGkGZUF.css
Normal file
1
admin/ui/static/static/css/metricSelect-NSGkGZUF.css
Normal file
@ -0,0 +1 @@
|
||||
.editorTopRightToolBarBtn[data-v-f344ede9]{margin:0;padding:0 8px;border:0}.editorOperationArea[data-v-f344ede9]{height:100%;display:inline-flex;flex-direction:row;align-items:center;margin-bottom:5px;border-left:3px solid #202241;padding-left:5px}
|
@ -0,0 +1 @@
|
||||
.filterToolBtn[data-v-57807f7e]{margin:0;padding:0;border:0;width:20px;height:20px}
|
@ -0,0 +1 @@
|
||||
.andOrArea[data-v-ac96b3b4]{width:40px;height:100%;display:inline-flex;flex-direction:column;justify-content:center;align-items:center}.andOrWrapLine[data-v-ac96b3b4]{width:1px;height:calc(50% - 13px);border-right:1px solid #d2d2d4;background-color:#d2d2d4}.andOrBtn[data-v-ac96b3b4]{width:25px;height:25px;margin:0;padding:0;border-radius:5px;border:1px solid #d2d2d4}.selectNodeArea[data-v-ac96b3b4]{width:100%}
|
1
admin/ui/static/static/css/table-Cq-mWM91.css
Normal file
1
admin/ui/static/static/css/table-Cq-mWM91.css
Normal file
@ -0,0 +1 @@
|
||||
.roleDetailList[data-v-5a8d8958] .el-table__header-wrapper th{word-break:break-word;background-color:#f8f8f9!important;color:#515a6e;height:40px!important;font-size:13px}.roleDetailList[data-v-5a8d8958] .el-table__header .el-table-column--selection .cell{width:60px!important}.roleDetailList[data-v-5a8d8958] .el-table .fixed-width .el-button--small{padding-left:0;padding-right:0;width:20px!important}.roleDetailList[data-v-5a8d8958] .el-table__header{background:#f5f7fa!important}.roleDetailList[data-v-5a8d8958] .el-table__row td{border-color:#ebeef5}.app-content[data-v-45466dde]{height:calc(100vh - 100px);display:flex}.app-content .table-content[data-v-45466dde]{display:flex;flex-direction:column;justify-content:space-between;height:100%;overflow:auto}.app-content .table-content .table[data-v-45466dde]{flex:1;position:relative}.app-content .table-content .table[data-v-45466dde] .el-table{flex:1;position:absolute}.app-content .table-content .table[data-v-45466dde] .el-popper{max-width:640px;word-break:break-all}.pagination-container .el-pagination[data-v-45466dde]{right:0;position:absolute;height:25px;margin-bottom:50px;margin-top:0;padding:10px 30px!important;z-index:2}.pagination-container.hidden[data-v-45466dde]{display:none}@media (max-width: 768px){.pagination-container .el-pagination>.el-pagination__jump[data-v-45466dde]{display:none!important}.pagination-container .el-pagination>.el-pagination__sizes[data-v-45466dde]{display:none!important}}
|
1
admin/ui/static/static/js/Login-TrQ9GHLr.js
Normal file
1
admin/ui/static/static/js/Login-TrQ9GHLr.js
Normal file
@ -0,0 +1 @@
|
||||
import{r as e,ab as a,a as s,o,d as r,b as l,w as n,a0 as t,a3 as u,ac as d,W as i,v as p,$ as c,a9 as m,I as v}from"./vendor-CF1QNs3T.js";import{_ as f,u as _,r as g}from"./index-UuEmTaM1.js";const y={class:"login-box"},h={class:m({container:!0,animate__animated:!0,animate__flipInX:!0})},w={class:"form-container sign-in-container"},b=f({__name:"Login",setup(m){e(void 0);const{proxy:f}=a(),b=e({user:"",password:""}),V={user:[{required:!0,trigger:"blur",message:"请输入您的账号"}],password:[{required:!0,trigger:"blur",message:"请输入您的密码"}]},x=e=>{e&&f.$refs.ruleFormRef.validate((e=>{if(!e)return console.log("error submit!"),!1;_().login(b.value.user,b.value.password).then((()=>{console.log("登录成功,推送首页。。"),g.push({path:"/welcome"})}),(e=>{})).catch((()=>{v.error("login response error")}))}))};return(e,a)=>{const m=u,v=t,f=i,_=c;return o(),s("div",y,[r("div",h,[r("div",w,[l(_,{ref:"ruleFormRef",model:b.value,"status-icon":"",rules:V,class:"form"},{default:n((()=>[l(v,{class:"form-item",prop:"username"},{default:n((()=>[l(m,{modelValue:b.value.user,"onUpdate:modelValue":a[0]||(a[0]=e=>b.value.user=e),placeholder:"用户名",autocomplete:"off",onKeyup:a[1]||(a[1]=d((e=>x(b.value)),["enter"]))},null,8,["modelValue"])])),_:1}),l(v,{class:"form-item",prop:"password"},{default:n((()=>[l(m,{modelValue:b.value.password,"onUpdate:modelValue":a[2]||(a[2]=e=>b.value.password=e),placeholder:"密码",type:"password",autocomplete:"off",onKeyup:a[3]||(a[3]=d((e=>x(b.value)),["enter"]))},null,8,["modelValue"])])),_:1}),l(f,{class:"theme-button",type:"primary",onClick:a[4]||(a[4]=e=>x(b.value)),onKeydown:a[5]||(a[5]=d((e=>{var a;13!==a.keyCode&&100!==a.keyCode||x(b.value)}),["enter"]))},{default:n((()=>a[6]||(a[6]=[p("登 陆 ")]))),_:1})])),_:1},8,["model"])]),a[7]||(a[7]=r("div",{class:"overlay_container"},[r("div",{class:"overlay"},[r("div",{class:"overlay_panel overlay_right_container"},[r("h2",{class:"container-title"},"hello friend!"),r("p",null,"输入您的个人信息,以便使用后台管理系统")])])],-1))])])}}},[["__scopeId","data-v-68d4afe9"]]);export{b as default};
|
2
admin/ui/static/static/js/analyseIndex-Csxsvrp1.js
Normal file
2
admin/ui/static/static/js/analyseIndex-Csxsvrp1.js
Normal file
@ -0,0 +1,2 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["static/js/index-zt3BRHpG.js","static/js/index-UuEmTaM1.js","static/js/vendor-CF1QNs3T.js","static/css/vendor-DnLjZ1mj.css","static/css/index-BqAGgcXq.css","static/css/index-DCz6qoKM.css","static/js/index-DzfN_Q6p.js","static/css/index-BPoLGm0d.css"])))=>i.map(i=>d[i]);
|
||||
import{b as s}from"./index-UuEmTaM1.js";import{c as a,o as e,w as t,b as n,u as r,ad as o,D as _}from"./vendor-CF1QNs3T.js";const i={__name:"analyseIndex",setup(i){const d=o((()=>s((()=>import("./index-zt3BRHpG.js")),__vite__mapDeps([0,1,2,3,4,5])))),c=o((()=>s((()=>import("./index-DzfN_Q6p.js")),__vite__mapDeps([6,2,3,1,4,7]))));return(s,o)=>{const i=_;return e(),a(i,{class:"bi_container",direction:"vertical"},{default:t((()=>[n(r(d)),n(r(c))])),_:1})}}};export{i as default};
|
2
admin/ui/static/static/js/analyseMainContent-CB5MT4oL.js
Normal file
2
admin/ui/static/static/js/analyseMainContent-CB5MT4oL.js
Normal file
@ -0,0 +1,2 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["static/js/analyseMainContentLeft-C7wXzq5w.js","static/js/index-UuEmTaM1.js","static/js/vendor-CF1QNs3T.js","static/css/vendor-DnLjZ1mj.css","static/css/index-BqAGgcXq.css","static/css/analyseMainContentLeft-CKg7AoA4.css","static/js/analyseMainContentRight-CdqYcJY1.js","static/css/analyseMainContentRight-DqjIe2oH.css"])))=>i.map(i=>d[i]);
|
||||
import{_ as n,b as a}from"./index-UuEmTaM1.js";import{c as e,o,w as s,b as t,u as l,am as f,ad as i,an as m}from"./vendor-CF1QNs3T.js";const u=n({__name:"analyseMainContent",props:{analyseCustomInfo:{analyseName:"",leftPaneInfo:{paneComponent:null},rightPaneInfo:{paneComponent:null}}},setup(n){const u=n;console.log("custom info:",u.analyseCustomInfo);const _=i((()=>a((()=>import("./analyseMainContentLeft-C7wXzq5w.js")),__vite__mapDeps([0,1,2,3,4,5])))),p=i((()=>a((()=>import("./analyseMainContentRight-CdqYcJY1.js")),__vite__mapDeps([6,1,2,3,4,7]))));return(a,i)=>(o(),e(l(m),null,{default:s((()=>[t(l(f),{size:"25","min-size":"20","max-size":"40"},{default:s((()=>[t(l(_),{paneInfo:n.analyseCustomInfo.leftPaneInfo},null,8,["paneInfo"])])),_:1}),t(l(f),{size:"75","min-size":"60","max-size":"80"},{default:s((()=>[t(l(p),{paneInfo:n.analyseCustomInfo.rightPaneInfo},null,8,["paneInfo"])])),_:1})])),_:1}))}},[["__scopeId","data-v-5ab4c275"]]);export{u as default};
|
@ -0,0 +1 @@
|
||||
import{_ as n}from"./index-UuEmTaM1.js";import{a,o as e,c as o,B as s}from"./vendor-CF1QNs3T.js";const t={class:"contentPane"},p=n({__name:"analyseMainContentLeft",props:{paneInfo:{paneComponent:null}},setup:n=>(p,d)=>(e(),a("div",t,[(e(),o(s(n.paneInfo.paneComponent)))]))},[["__scopeId","data-v-5e99bb1d"]]);export{p as default};
|
@ -0,0 +1,2 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["static/js/analyseMainContentRightToolbar-DWZ1UF5V.js","static/js/vendor-CF1QNs3T.js","static/css/vendor-DnLjZ1mj.css","static/js/index-UuEmTaM1.js","static/css/index-BqAGgcXq.css","static/css/analyseMainContentRightToolbar-CCLHpzDP.css","static/js/analyseMainContentRightResult-hXb8BPCX.js","static/css/analyseMainContentRightResult-DBbfxKRW.css"])))=>i.map(i=>d[i]);
|
||||
import{_ as a,b as s}from"./index-UuEmTaM1.js";import{a as t,o as n,d as o,b as e,u as r,ad as l}from"./vendor-CF1QNs3T.js";const _={class:"result"},i={class:"resultToolbar"},d={class:"resultContent"},p=a({__name:"analyseMainContentRight",props:{paneInfo:{paneComponent:null}},setup(a){const p=l((()=>s((()=>import("./analyseMainContentRightToolbar-DWZ1UF5V.js")),__vite__mapDeps([0,1,2,3,4,5])))),u=l((()=>s((()=>import("./analyseMainContentRightResult-hXb8BPCX.js")),__vite__mapDeps([6,1,2,3,4,7]))));return(a,s)=>(n(),t("div",_,[o("div",i,[e(r(p))]),o("div",d,[e(r(u))])]))}},[["__scopeId","data-v-c93e8dd8"]]);export{p as default};
|
@ -0,0 +1 @@
|
||||
import{r as a,T as e,aw as t,a as l,o as s,d as n,b as d,aa as i,w as r,aj as u,ax as f,W as o,v as c,a7 as y,X as p,Y as _,t as x,F as m,ay as g}from"./vendor-CF1QNs3T.js";import{_ as h}from"./index-UuEmTaM1.js";const w={class:"clearfix",style:{width:"100%","text-align":"center",display:"flex","align-items":"center","justify-content":"center"}},v={style:{width:"100%",height:"1px",display:"flex","align-items":"center","justify-content":"center"}},b={href:"#"},A={href:"#"},j={href:"#"},P={href:"#"},z={href:"#"},R=h({__name:"analyseMainContentRightResult",setup(h){const R=a(null);let E=null;const L=a([{metric:"APP关闭.总次数",stageAcc:"426",day20250530:"49",day20250531:"70",day20250601:"61",day20250602:"78"},{metric:"APP打开.总次数",stageAcc:"401",day20250530:"45",day20250531:"63",day20250601:"45",day20250602:"32"}]),k=()=>{null==E||E.resize()};return e((()=>{(()=>{if(R.value){E=g(R.value);const a={title:{text:"事件分析图"},tooltip:{},legend:{data:["销量"]},xAxis:{data:["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]},yAxis:{},series:[{name:"销量",type:"bar",data:[5,20,36,10,10,20]}]};E.setOption(a)}})(),window.addEventListener("resize",k)})),t((()=>{window.removeEventListener("resize",k),null==E||E.dispose()})),(a,e)=>{const t=i,g=o,h=f,E=u,k=y,C=_,F=p;return s(),l(m,null,[n("div",w,[n("div",{ref_key:"chartRef",ref:R,style:{width:"100%",height:"400px",margin:"10px 0 0 10px"}},null,512)]),n("div",v,[d(t,{style:{width:"90%"},"content-position":"center"})]),d(k,{style:{"margin-top":"10px","margin-bottom":"10px","margin-left":"10px"}},{default:r((()=>[d(E,{span:6},{default:r((()=>[d(h,null,{default:r((()=>[d(g,null,{default:r((()=>e[0]||(e[0]=[c("合并")]))),_:1}),d(g,null,{default:r((()=>e[1]||(e[1]=[c("平铺")]))),_:1})])),_:1})])),_:1}),d(E,{span:10,offset:8},{default:r((()=>[d(h,{style:{float:"right","margin-right":"20px"}},{default:r((()=>[d(g,null,{default:r((()=>e[2]||(e[2]=[c("按日期")]))),_:1}),d(g,null,{default:r((()=>e[3]||(e[3]=[c("阶段汇总配置")]))),_:1}),d(g,null,{default:r((()=>e[4]||(e[4]=[c("导出")]))),_:1})])),_:1})])),_:1})])),_:1}),d(k,null,{default:r((()=>[d(F,{data:L.value},{default:r((()=>[d(C,{prop:"metric",label:"指标"}),d(C,{label:"阶段汇总"},{default:r((a=>[n("a",b,x(a.row.stageAcc),1)])),_:1}),d(C,{label:"2025-05-30(五)"},{default:r((a=>[n("a",A,x(a.row.day20250530),1)])),_:1}),d(C,{label:"2025-05-31(六)"},{default:r((a=>[n("a",j,x(a.row.day20250531),1)])),_:1}),d(C,{label:"2025-06-01(日)"},{default:r((a=>[n("a",P,x(a.row.day20250601),1)])),_:1}),d(C,{label:"2025-06-02(一)"},{default:r((a=>[n("a",z,x(a.row.day20250602),1)])),_:1})])),_:1},8,["data"])])),_:1})],64)}}},[["__scopeId","data-v-b8b97447"]]);export{R as default};
|
@ -0,0 +1 @@
|
||||
import{r as e,aq as a,T as l,a as t,o as s,b as n,a4 as d,l as o,w as r,d as u,t as c,ar as p,a7 as i,v,W as m,p as f,as as g,at as _,au as b,av as x,c as h,aj as y,F as T,z as k,u as C,E as P,B as V}from"./vendor-CF1QNs3T.js";import{_ as w}from"./index-UuEmTaM1.js";function D(){const e=new Date;return e.setHours(0,0,0,0),e}const j={class:"timeRangePicker"},E={__name:"dateDayRanger",setup(o){const r=e("过去7天"),u=D();u.setTime(u.getTime()-6048e5);const c=D(),p=e([u,c]);a((()=>{console.log(`选择日期范围:${r.value[0]} 到 ${r.value[1]}`)})),l((()=>{}));const i=[{text:"昨日",value:()=>{const e=D(),a=D();return e.setTime(e.getTime()-864e5),[e,a]}},{text:"今日",value:()=>[D(),D()]},{text:"过去7天",value:()=>[u,c]},{text:"本月",value:()=>{const e=D(),a=D();return e.setDate(1),[e,a]}}];return(e,a)=>{const l=d;return s(),t("div",j,[n(l,{teleported:!1,modelValue:r.value,"onUpdate:modelValue":a[0]||(a[0]=e=>r.value=e),type:"daterange","range-separator":"到","start-placeholder":"Start date","end-placeholder":"End date",shortcuts:i,"default-time":p.value},null,8,["modelValue","default-time"])])}}},I={class:"dateDaySelect clearfix"},R=["title"],S={style:{"margin-right":"10px"}},B={class:"timePickerPane"},U=w({__name:"dateDaySelect",setup(a){const l=e("按天"),d=[{label:"按天",value:"按天"},{label:"按分钟",value:"按分钟",children:[{label:"1分钟",value:"1分钟"},{label:"5分钟",value:"5分钟"},{label:"10分钟",value:"10分钟"}]},{label:"按小时",value:"按小时"},{label:"按周",value:"按周"},{label:"按月",value:"按月"},{label:"按季度",value:"按季度"},{label:"按年",value:"按年"},{label:"合计",value:"合计"}],_=e("今日"),b=()=>{};return(e,a)=>{const x=p,h=o("Calendar"),y=f,T=m,k=i,C=g;return s(),t("div",I,[n(x,{popperClass:"cascaderPopper",modelValue:l.value,"onUpdate:modelValue":a[0]||(a[0]=e=>l.value=e),options:d,"show-all-levels":!1,props:{expandTrigger:"hover",emitPath:!1}},{default:r((({data:e})=>[u("span",{title:e.label},c(e.value),9,R)])),_:1},8,["modelValue"]),n(C,{placement:"bottom-start",trigger:"click",width:800,onClick:b,"popper-style":"box-shadow: rgb(14 18 22 / 35%) 0px 10px 38px -10px, rgb(14 18 22 / 20%) 0px 10px 20px -15px; padding: 0px;"},{reference:r((()=>[n(T,{style:{"margin-left":"10px"}},{default:r((()=>[u("p",S,c(_.value),1),n(y,{class:"el-icon--right"},{default:r((()=>[n(h)])),_:1})])),_:1})])),default:r((()=>[u("div",B,[n(k,null,{default:r((()=>a[1]||(a[1]=[v("日期范围")]))),_:1}),n(k,null,{default:r((()=>[n(E)])),_:1})])])),_:1})])}}},[["__scopeId","data-v-65ce36af"]]),$=w({__name:"analyseMainContentRightToolbar",setup(a){const l=e([{comp:_,desc:"趋势图",selected:!0},{comp:b,desc:"上升图",selected:!1},{comp:x,desc:"饼图",selected:!1}]);return(e,a)=>{const d=y,o=m,u=P,c=i;return s(),h(c,{gutter:20,align:"middle",class:"toolbarPane"},{default:r((()=>[n(d,{span:6},{default:r((()=>[n(U,{style:{"margin-left":"10px"}})])),_:1}),n(d,{span:6,offset:12},{default:r((()=>[n(c,{style:{height:"100%"},align:"middle",justify:"end"},{default:r((()=>[(s(!0),t(T,null,k(C(l),((e,a)=>(s(),h(u,{placement:"top",effect:"light",content:e.desc},{default:r((()=>[n(o,{disabled:e.selected,class:"chartBtn",onClick:a=>(e=>{l.value.forEach((a=>{a.selected=a.desc===e.desc}))})(e)},{default:r((()=>[(s(),h(V(e.comp),{class:"chartIcon"}))])),_:2},1032,["disabled","onClick"])])),_:2},1032,["content"])))),256))])),_:1})])),_:1})])),_:1})}}},[["__scopeId","data-v-584d9183"]]);export{$ as default};
|
1
admin/ui/static/static/js/analyseMainHeader-DVMuVXEy.js
Normal file
1
admin/ui/static/static/js/analyseMainHeader-DVMuVXEy.js
Normal file
@ -0,0 +1 @@
|
||||
import{l as a,a as s,o as l,b as n,w as e,d as t,p as o,aj as d,al as r,n as p,W as f,v as u,F as i}from"./vendor-CF1QNs3T.js";import{_ as c}from"./index-UuEmTaM1.js";const _={class:"headerAnalyseDesc"},b={class:"headerAnalyseToolbar",style:{display:"flex",float:"right"}},h={class:"toolbarSpan"},S={class:"toolbarSpan"},g={class:"toolbarSpan"},m={class:"toolbarSpan"},v={class:"toolbarSpan"};const y=c({},[["render",function(c,y){const x=a("Warning"),j=o,w=d,z=r,A=f,D=p,T=a("Refresh"),W=a("Download");return l(),s(i,null,[n(w,{span:6},{default:e((()=>[t("div",_,[y[0]||(y[0]=t("p",{style:{"margin-right":"6px","font-weight":"bold"}},"事件分析",-1)),n(j,{size:"20"},{default:e((()=>[n(x)])),_:1})])])),_:1}),n(w,{span:10,offset:8},{default:e((()=>[t("div",b,[y[3]||(y[3]=t("span",{class:"toolbarSpan"},[t("p",null,"近似计算")],-1)),t("span",h,[n(z)]),t("span",S,[n(D,null,{default:e((()=>[n(A,null,{default:e((()=>y[1]||(y[1]=[u(" UTC +8 ")]))),_:1})])),_:1})]),t("span",g,[n(A,null,{default:e((()=>[n(j,{size:"20"},{default:e((()=>[n(T)])),_:1})])),_:1})]),t("span",m,[n(A,null,{default:e((()=>[n(j,{size:"20"},{default:e((()=>[n(W)])),_:1})])),_:1})]),t("span",v,[n(A,null,{default:e((()=>y[2]||(y[2]=[u("已存报表")]))),_:1})])])])),_:1})],64)}],["__scopeId","data-v-1b836963"]]);export{y as default};
|
2
admin/ui/static/static/js/analyseMainIndex-D3uxViE1.js
Normal file
2
admin/ui/static/static/js/analyseMainIndex-D3uxViE1.js
Normal file
@ -0,0 +1,2 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["static/js/analyseMainHeader-DVMuVXEy.js","static/js/vendor-CF1QNs3T.js","static/css/vendor-DnLjZ1mj.css","static/js/index-UuEmTaM1.js","static/css/index-BqAGgcXq.css","static/css/analyseMainHeader-R7amk0nh.css","static/js/analyseMainContent-CB5MT4oL.js","static/css/analyseMainContent-BvJwrdRn.css"])))=>i.map(i=>d[i]);
|
||||
import{_ as a,b as n}from"./index-UuEmTaM1.js";import{a as s,o as e,b as o,w as t,u as l,ad as _,a7 as r}from"./vendor-CF1QNs3T.js";const m={class:"analyseMain"},p=a({__name:"analyseMainIndex",props:{analyseCustomInfo:{analyseName:"",leftPaneInfo:{paneComponent:null},rightPaneInfo:{paneComponent:null}}},setup(a){const p=_((()=>n((()=>import("./analyseMainHeader-DVMuVXEy.js")),__vite__mapDeps([0,1,2,3,4,5])))),u=_((()=>n((()=>import("./analyseMainContent-CB5MT4oL.js")),__vite__mapDeps([6,3,1,2,4,7]))));return(n,_)=>{const i=r;return e(),s("div",m,[o(i,{class:"analyseMainHeader"},{default:t((()=>[o(l(p))])),_:1}),o(i,{class:"analyseMainContent"},{default:t((()=>[o(l(u),{analyseCustomInfo:a.analyseCustomInfo},null,8,["analyseCustomInfo"])])),_:1})])}}},[["__scopeId","data-v-33346a41"]]);export{p as default};
|
@ -0,0 +1 @@
|
||||
import{a,o as e,d as s,b as r,w as i,c as t,B as o,ai as d,v as n,W as l}from"./vendor-CF1QNs3T.js";import{_ as c}from"./index-UuEmTaM1.js";const p={class:"editorContainer .clearfix"},f={class:"editorOperationArea"},u={class:"editorFinishArea"},_={class:"editorFinishBtns"},v=c({__name:"analyseMetricEditorLayout",props:{editorAreaInfo:{editorPane:null}},setup:c=>(v,m)=>{const y=d,A=l;return e(),a("div",p,[s("div",f,[r(y,null,{default:i((()=>[(e(),t(o(c.editorAreaInfo.editorPane)))])),_:1})]),s("div",u,[s("div",_,[r(A,{size:"large"},{default:i((()=>m[0]||(m[0]=[n(" 保存 ")]))),_:1}),r(A,{type:"primary",size:"large"},{default:i((()=>m[1]||(m[1]=[n(" 计算 ")]))),_:1})])])])}},[["__scopeId","data-v-94c97751"]]);export{v as default};
|
1
admin/ui/static/static/js/character-nfMAdFRb.js
Normal file
1
admin/ui/static/static/js/character-nfMAdFRb.js
Normal file
@ -0,0 +1 @@
|
||||
import{t as e}from"./tableUser-CnqaLxm-.js";import{u as r,L as t}from"./index-UuEmTaM1.js";import{a as s,o as a,c as o,B as c}from"./vendor-CF1QNs3T.js";import"./resource-BKdHLLMe.js";import"./empty-BUY6hahc.js";const m={__name:"character",setup(m){let u={meta:{desc:"character",resource:"character",resource_url:"/resource/character",methods:{get:!0,post:!0,put:!0,delete:!0}}};return"admin"!==r().userInfo.character&&(u.meta.methods={}),t.setCache("resource",u),(r,t)=>(a(),s("div",null,[(a(),o(c(e)))]))}};export{m as default};
|
1
admin/ui/static/static/js/dashboardIndex-CoIpcZcT.js
Normal file
1
admin/ui/static/static/js/dashboardIndex-CoIpcZcT.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as r}from"./index-UuEmTaM1.js";import"./vendor-CF1QNs3T.js";const e=r({},[["render",function(r,e){return" 看板界面 "}]]);export{e as default};
|
1
admin/ui/static/static/js/empty-BUY6hahc.js
Normal file
1
admin/ui/static/static/js/empty-BUY6hahc.js
Normal file
@ -0,0 +1 @@
|
||||
import{c as o,o as r,ah as s}from"./vendor-CF1QNs3T.js";import{_ as n}from"./index-UuEmTaM1.js";const e=n({},[["render",function(n,e){const t=s;return r(),o(t,{description:"没有权限!请联系管理员添加权限!"})}]]);export{e};
|
2
admin/ui/static/static/js/event-ByFJ2aDl.js
Normal file
2
admin/ui/static/static/js/event-ByFJ2aDl.js
Normal file
@ -0,0 +1,2 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["static/js/analyseMetricEditorLayout-BV3v_DJK.js","static/js/vendor-CF1QNs3T.js","static/css/vendor-DnLjZ1mj.css","static/js/index-UuEmTaM1.js","static/css/index-BqAGgcXq.css","static/css/analyseMetricEditorLayout-C535QVBW.css","static/js/index-sUbZK50i.js","static/css/index-B3tO-Skr.css","static/js/analyseMainIndex-D3uxViE1.js","static/css/analyseMainIndex-tuhwk4Nv.css"])))=>i.map(i=>d[i]);
|
||||
import{b as e}from"./index-UuEmTaM1.js";import{r as n,c as a,o as t,ad as o,B as s,u as r}from"./vendor-CF1QNs3T.js";const _={__name:"analyseMetricEditorEvent",setup(_){const i=o((()=>e((()=>import("./analyseMetricEditorLayout-BV3v_DJK.js")),__vite__mapDeps([0,1,2,3,4,5])))),m={editorPane:o((()=>e((()=>import("./index-sUbZK50i.js")),__vite__mapDeps([6,3,1,2,4,7]))))};return n(""),(e,n)=>(t(),a(s(r(i)),{editorAreaInfo:m}))}},i={__name:"event",setup(n){const s=o((()=>e((()=>import("./analyseMainIndex-D3uxViE1.js")),__vite__mapDeps([8,3,1,2,4,9])))),i={analyseName:"事件分析",leftPaneInfo:{paneComponent:_},rightPaneInfo:{paneComponent:_}};return(e,n)=>(t(),a(r(s),{analyseCustomInfo:i}))}};export{i as default};
|
1
admin/ui/static/static/js/groupBySelect-BdvtIjfJ.js
Normal file
1
admin/ui/static/static/js/groupBySelect-BdvtIjfJ.js
Normal file
@ -0,0 +1 @@
|
||||
import{r as e,l as a,c as l,o as t,w as o,b as r,u as p,a8 as s,a7 as u}from"./vendor-CF1QNs3T.js";import{_ as n}from"./index-UuEmTaM1.js";const m=n({__name:"groupBySelect",setup(n){const m=e([{label:"用户属性",options:[{value:"account_id",label:"游戏账号",meta:{propertyType:2}},{value:"role_id",label:"角色id",meta:{propertyType:2}},{value:"role_name",label:"角色名",meta:{propertyType:2}}]},{label:"事件属性",options:[{value:"item_id",label:"道具id",meta:{propertyType:2}},{value:"item_name",label:"道具名",meta:{propertyType:2}},{value:"cur_num",label:"cur_num",meta:{propertyType:2}}]}]),i=e("");return(e,n)=>{const y=a("a-select"),c=u;return t(),l(c,{class:"groupByOneArea"},{default:o((()=>[r(y,{showArrow:"",value:p(i),"onUpdate:value":n[0]||(n[0]=e=>s(i)?i.value=e:null),options:p(m),onChange:n[1]||(n[1]=()=>{}),style:{width:"100px",margin:"0"}},null,8,["value","options"])])),_:1})}}},[["__scopeId","data-v-5cb43c01"]]);export{m as default};
|
1
admin/ui/static/static/js/history-2-P7j7wj.js
Normal file
1
admin/ui/static/static/js/history-2-P7j7wj.js
Normal file
@ -0,0 +1 @@
|
||||
import{r as e,T as a,a as l,o as t,c as o,u,B as n,F as s,U as p,w as r,b as d,V as i,a7 as v,a3 as m,a8 as c,W as g,v as h,C as y,d as f,X as V,Y as b,Z as x,D as w,a9 as I}from"./vendor-CF1QNs3T.js";import{_ as k,u as _,a as C}from"./index-UuEmTaM1.js";import{e as U}from"./empty-BUY6hahc.js";const z={class:"table-content"},j={class:"table"},D={class:"pagination-container"},R=k({__name:"history",props:{rowInfo:{},disableConditionInput:!0},setup(k){const R=k;let S=!0;!1===R.disableConditionInput&&(S=!1);const T="admin"===_().userInfo.character,A=e(T),B=e(1),F=e(20),G=e(R.userId);R.rowInfo&&void 0!==R.rowInfo.ID&&(G.value=R.rowInfo.ID);const K=e(""),N=e(""),P=e(""),W=e(""),X=e(!1),Y=[20,50,100],Z=e(0),q=e([]),E=()=>{C(B.value,F.value,G.value,K.value,N.value,P.value,W.value).then((e=>{q.value=e.data.list,Z.value=e.data.totalCount,X.value=!0}),(e=>{}))};a((()=>{E()}));const H=()=>{G.value="",K.value="",N.value="",P.value="",W.value=""},J=e=>{Z.value<=0||F.value*B.value>Z.value&&q.value.length>=Z.value||E()},L=e=>{E()};return(e,a)=>{const k=m,_=g,C=v,R=i,T=b,M=V,O=x,Q=y,$=w;return t(),l("div",{class:I(u(S)?"app-content1":"app-content")},[u(A)?(t(),l(s,{key:1},[u(X)?(t(),o($,{key:0},{default:r((()=>[d(R,{style:{"margin-bottom":"10px"}},{default:r((()=>[d(C,null,{default:r((()=>[!1===u(S)?(t(),o(k,{key:0,modelValue:u(G),"onUpdate:modelValue":a[0]||(a[0]=e=>c(G)?G.value=e:null),placeholder:"用户id",style:{width:"150px","margin-right":"10px"}},null,8,["modelValue"])):p("",!0),!1===u(S)?(t(),o(k,{key:1,modelValue:u(K),"onUpdate:modelValue":a[1]||(a[1]=e=>c(K)?K.value=e:null),placeholder:"操作资源类型",style:{width:"150px","margin-right":"10px"}},null,8,["modelValue"])):p("",!0),!1===u(S)?(t(),o(k,{key:2,modelValue:u(N),"onUpdate:modelValue":a[2]||(a[2]=e=>c(N)?N.value=e:null),placeholder:"操作资源组",style:{width:"150px","margin-right":"10px"}},null,8,["modelValue"])):p("",!0),!1===u(S)?(t(),o(k,{key:3,modelValue:u(P),"onUpdate:modelValue":a[3]||(a[3]=e=>c(P)?P.value=e:null),placeholder:"操作对象",style:{width:"150px","margin-right":"10px"}},null,8,["modelValue"])):p("",!0),!1===u(S)?(t(),o(k,{key:4,modelValue:u(W),"onUpdate:modelValue":a[4]||(a[4]=e=>c(W)?W.value=e:null),placeholder:"操作方法",style:{width:"150px","margin-right":"10px"}},null,8,["modelValue"])):p("",!0),!1===u(S)?(t(),o(_,{key:5,onClick:E,type:"primary",style:{"margin-right":"10px"}},{default:r((()=>a[7]||(a[7]=[h("条件搜索 ")]))),_:1})):p("",!0),!1===u(S)?(t(),o(_,{key:6,onClick:H},{default:r((()=>a[8]||(a[8]=[h("清空条件")]))),_:1})):p("",!0)])),_:1})])),_:1}),d(Q,null,{default:r((()=>[f("div",z,[f("div",j,[d(M,{data:u(q),style:{width:"100%"},"table-layout":"auto",stripe:"","tooltip-effect":"light"},{default:r((()=>[d(T,{prop:"userId",label:"用户id"}),d(T,{prop:"userName",label:"用户名"}),d(T,{prop:"opResourceType",label:"操作资源类型"}),d(T,{prop:"opResourceGroup",label:"操作资源组"}),d(T,{prop:"opResourceKey",label:"操作对象"}),d(T,{prop:"method",label:"操作方法"}),d(T,{prop:"createdAt",label:"创建时间"}),d(T,{prop:"detailInfo",label:"详情数据","show-overflow-tooltip":""})])),_:1},8,["data"])]),f("div",D,[d(O,{"current-page":u(B),"onUpdate:currentPage":a[5]||(a[5]=e=>c(B)?B.value=e:null),"page-size":u(F),"onUpdate:pageSize":a[6]||(a[6]=e=>c(F)?F.value=e:null),"page-sizes":Y,layout:"total, sizes, prev, pager, next, jumper",total:u(Z),onSizeChange:J,onCurrentChange:L},null,8,["current-page","page-size","total"])])])])),_:1})])),_:1})):p("",!0)],64)):(t(),o(n(U),{key:0}))],2)}}},[["__scopeId","data-v-926d7759"]]);export{R as t};
|
1
admin/ui/static/static/js/history-DzTwqgVw.js
Normal file
1
admin/ui/static/static/js/history-DzTwqgVw.js
Normal file
@ -0,0 +1 @@
|
||||
import{t as s}from"./history-2-P7j7wj.js";import{c as o,o as t,B as i}from"./vendor-CF1QNs3T.js";import"./index-UuEmTaM1.js";import"./empty-BUY6hahc.js";const r={__name:"history",setup:r=>(r,a)=>(t(),o(i(s),{disableConditionInput:false}))};export{r as default};
|
1
admin/ui/static/static/js/horizonMenu-C0xfyLrV.js
Normal file
1
admin/ui/static/static/js/horizonMenu-C0xfyLrV.js
Normal file
@ -0,0 +1 @@
|
||||
import{i as a,c as e,o as s,w as n,a as o,F as t,z as l,u as r,y as d,A as i,v as u,t as c,d as h,x as p}from"./vendor-CF1QNs3T.js";import{L as m}from"./index-UuEmTaM1.js";const f={__name:"horizonMenu",setup(f){const x=a(),_=m.getCache("resource");console.log("analyse route info:",_);return(a,m)=>{const f=i,v=d,g=p;return s(),e(g,{mode:"horizontal"},{default:n((()=>[(s(!0),o(t,null,l(r(_).children,(a=>(s(),e(v,{index:a.path},{title:n((()=>[h("span",null,c(a.meta.desc),1)])),default:n((()=>[(s(!0),o(t,null,l(a.children,(a=>(s(),e(f,{key:a.path,index:a.path,onClick:e=>{return s=a,console.log("点击资源:",s),void x.push({path:s.path});var s}},{default:n((()=>[u(c(a.meta.desc),1)])),_:2},1032,["index","onClick"])))),128))])),_:2},1032,["index"])))),256))])),_:1})}}};export{f as default};
|
1
admin/ui/static/static/js/index-DzfN_Q6p.js
Normal file
1
admin/ui/static/static/js/index-DzfN_Q6p.js
Normal file
@ -0,0 +1 @@
|
||||
import{i as s,j as a,l as e,c as t,o as i,w as o,C as r}from"./vendor-CF1QNs3T.js";import{_ as l}from"./index-UuEmTaM1.js";const n=l({__name:"index",setup:l=>(s(),a(),(s,a)=>{const l=e("router-view"),n=r;return i(),t(n,{class:"bi_main"},{default:o((()=>[(i(),t(l,{key:s.$route.fullPath,style:{display:"inline-block",height:"100%",width:"100%"}}))])),_:1})})},[["__scopeId","data-v-cf4b133f"]]);export{n as default};
|
2
admin/ui/static/static/js/index-UuEmTaM1.js
Normal file
2
admin/ui/static/static/js/index-UuEmTaM1.js
Normal file
File diff suppressed because one or more lines are too long
2
admin/ui/static/static/js/index-sUbZK50i.js
Normal file
2
admin/ui/static/static/js/index-sUbZK50i.js
Normal file
@ -0,0 +1,2 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["static/js/metricSelect-cQkHNvUm.js","static/js/vendor-CF1QNs3T.js","static/css/vendor-DnLjZ1mj.css","static/js/index-UuEmTaM1.js","static/css/index-BqAGgcXq.css","static/css/metricSelect-NSGkGZUF.css","static/js/groupBySelect-BdvtIjfJ.js","static/css/groupBySelect-CFOi4zHL.css","static/js/propertiesConditionFilter-BGVrRtlX.js"])))=>i.map(i=>d[i]);
|
||||
import{_ as e,b as a}from"./index-UuEmTaM1.js";import{r as t,T as l,l as s,a as i,o as n,d as o,b as r,w as d,aj as p,a7 as u,W as _,p as f,u as y,ak as m,F as c,z as h,c as g,ad as T}from"./vendor-CF1QNs3T.js";const v={class:"editorAreaOuter"},x={class:"editorAreaInner"},b=e({__name:"index",setup(e){const b=T((()=>a((()=>import("./metricSelect-cQkHNvUm.js")),__vite__mapDeps([0,1,2,3,4,5])))),j=T((()=>a((()=>import("./groupBySelect-BdvtIjfJ.js")),__vite__mapDeps([6,1,2,3,4,7])))),B=T((()=>a((()=>import("./propertiesConditionFilter-BGVrRtlX.js")),__vite__mapDeps([8,3,1,2,4])))),D={userProperties:[{name:"account_id",alias:"账户id",propertyType:2},{name:"account_name",alias:"账户名",propertyType:2},{name:"role_id",alias:"角色id",propertyType:2},{name:"server_id",alias:"服务器id",propertyType:2},{name:"currency_coin",alias:"金币数",propertyType:1}],eventDescList:[{name:"role_login",alias:"角色登录",fields:[{name:"sign_day",alias:"签到天数",propertyType:1}]},{name:"item_change",alias:"item_change",fields:[{name:"item_id",alias:"item_id",propertyType:1},{name:"item_name",alias:"item_name",propertyType:2},{name:"num_before",alias:"num_before",propertyType:1},{name:"num_after",alias:"num_after",propertyType:1},{name:"delta",alias:"delta",propertyType:1}]},{name:"role_logout",alias:"角色登出",fields:[{name:"online_duration",alias:"在线时长",propertyType:1}]}]},R=t(0),w=t([]),A=()=>{const e=R.value+1;R.value+=e,w.value.push(e)},k=e=>{w.value.splice(w.value.indexOf(e),1)},E=t(null),z=()=>{E.value&&E.value.onAddNode()},I=t(0),O=t([]),P=()=>{const e=I.value+1;I.value+=e,O.value.push(e)};return l((()=>{A()})),(e,a)=>{const t=p,l=s("Plus"),T=f,R=_,I=u;return n(),i("div",v,[o("div",x,[r(I,{style:{height:"40px"},align:"middle"},{default:d((()=>[r(t,{span:6},{default:d((()=>a[0]||(a[0]=[o("span",{style:{"font-weight":"bold"}}," 分析指标 ",-1)]))),_:1}),r(t,{span:10,offset:8},{default:d((()=>[r(I,{justify:"end"},{default:d((()=>[r(R,{class:"editorTopRightToolBarBtn",onClick:A},{default:d((()=>[r(T,{size:20},{default:d((()=>[r(l)])),_:1})])),_:1}),r(R,{class:"editorTopRightToolBarBtn"},{default:d((()=>[r(y(m),{style:{"font-size":"20px"}})])),_:1})])),_:1})])),_:1})])),_:1}),r(I,{style:{width:"100%","min-height":"70px"}},{default:d((()=>[(n(!0),i(c,null,h(w.value,((e,a)=>(n(),g(y(b),{key:e,index:e,canDelete:w.value.length>1,onDeleteMetricSelect:k,eventAllData:D},null,8,["index","canDelete"])))),128))])),_:1}),r(I,{style:{height:"30px"}}),r(I,{style:{height:"40px"},align:"middle"},{default:d((()=>[r(t,{span:6},{default:d((()=>a[1]||(a[1]=[o("span",{style:{"font-weight":"bold"}}," 全局筛选 ",-1)]))),_:1}),r(t,{span:10,offset:8},{default:d((()=>[r(I,{justify:"end"},{default:d((()=>[r(R,{class:"editorTopRightToolBarBtn",onClick:z},{default:d((()=>[r(T,{size:20},{default:d((()=>[r(l)])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),r(I,{style:{width:"200%","min-height":"0px"}},{default:d((()=>[r(y(B),{ref_key:"globalFilterSelectRef",ref:E},null,512)])),_:1}),r(I,{style:{height:"1px"}}),r(I,{style:{height:"40px"},align:"middle"},{default:d((()=>[r(t,{span:6},{default:d((()=>a[2]||(a[2]=[o("span",{style:{"font-weight":"bold"}}," 分组项 ",-1)]))),_:1}),r(t,{span:10,offset:8},{default:d((()=>[r(I,{justify:"end"},{default:d((()=>[r(R,{class:"editorTopRightToolBarBtn",onClick:P},{default:d((()=>[r(T,{size:20},{default:d((()=>[r(l)])),_:1})])),_:1})])),_:1})])),_:1})])),_:1}),r(I,{style:{width:"100%","min-height":"70px"}},{default:d((()=>[(n(!0),i(c,null,h(O.value,((e,a)=>(n(),g(y(j))))),256))])),_:1})])])}}},[["__scopeId","data-v-4d718c2b"]]);export{b as default};
|
2
admin/ui/static/static/js/index-zt3BRHpG.js
Normal file
2
admin/ui/static/static/js/index-zt3BRHpG.js
Normal file
@ -0,0 +1,2 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["static/js/horizonMenu-C0xfyLrV.js","static/js/vendor-CF1QNs3T.js","static/css/vendor-DnLjZ1mj.css","static/js/index-UuEmTaM1.js","static/css/index-BqAGgcXq.css"])))=>i.map(i=>d[i]);
|
||||
import{_ as s,b as a}from"./index-UuEmTaM1.js";import{i as o,c as e,o as r,w as t,b as _,u as n,ad as d,V as i}from"./vendor-CF1QNs3T.js";const c=s({__name:"index",setup(s){o();const c=d((()=>a((()=>import("./horizonMenu-C0xfyLrV.js")),__vite__mapDeps([0,1,2,3,4]))));return(s,a)=>{const o=i;return r(),e(o,{class:"bi_header"},{default:t((()=>[_(n(c))])),_:1})}}},[["__scopeId","data-v-cd726624"]]);export{c as default};
|
1
admin/ui/static/static/js/metricSelect-cQkHNvUm.js
Normal file
1
admin/ui/static/static/js/metricSelect-cQkHNvUm.js
Normal file
@ -0,0 +1 @@
|
||||
import{r as e,k as l,l as a,a as t,o as i,b as o,w as n,a7 as s,W as u,p as r,d as p}from"./vendor-CF1QNs3T.js";import{_ as d}from"./index-UuEmTaM1.js";const v={class:"editorOperationArea"},c=d({__name:"metricSelect",props:{index:0,canDelete:!0,onDeleteMetricSelect:null,eventAllData:{}},setup(d){const c=d.eventAllData,f=e(""),h=e([]);c.eventDescList.forEach((e=>{let l={value:e.name,label:e.name};void 0!==e.alias&&""!==e.alias&&(l.label=e.alias),h.value.push(l)})),f.value=h.value[0].label;const g=e({}),b={label:"预置指标",options:[{value:"totalCount",label:"总次数",opList:[]},{value:"triggerUserCount",label:"触发用户数",opList:[]},{value:"userAvgCount",label:"人均次数",opList:[]}]},y=["总和","均值","人均值","中位数","最大值","最小值","去重数","方差","标准差","99分位数","95分位数","90分位数","85分位数","80分位数","75分位数","70分位数","60分位数","50分位数","40分位数","30分位数","20分位数","10分位数","5分位数"],m=["totalCount","avg","avgPerUser","median","max","min","distinct","variance","standardDeviation","99qualtile","95qualtile","90qualtile","85qualtile","80qualtile","75qualtile","70qualtile","60qualtile","50qualtile","40qualtile","30qualtile","20qualtile","10qualtile","5qualtile"],w=[],x=[{value:"distinct",label:"去重数"}];for(let e=0;e<y.length;e++)w.push({value:m[e],label:y[e]});const q=e(""),_=e(!0),D=l((()=>{const e=c.eventDescList.find(((e,l)=>e.alias===f.value));if(!e)return[b];g.value=e;let l={label:"用户属性",options:[]},a={label:"事件属性",options:[]};return e.fields.forEach((e=>{let l=[];1===e.propertyType?l=w:2===e.propertyType&&(l=x),a.options.push({value:e.name,label:e.alias,opList:l})})),c.userProperties.forEach((e=>{let a=[];1===e.propertyType?a=w:2===e.propertyType&&(a=x),l.options.push({value:e.name,label:e.alias,opList:a})})),[b,a,l]})),C=e(""),L=l((()=>{let e=[];return D.value.find(((l,a)=>{const t=l.options.find(((e,l)=>e.value===q.value));return!!t&&(e=t.opList,!0)})),C.value="",_.value=0===e.length,e})),A=e=>{},T=(e,l)=>l.value.filter((l=>l.options&&l.options.length>0?l.options.filter((l=>l.includes(e))):l.label.includes(e)));return f.value,(e,l)=>{const c=a("Delete"),g=r,b=u,y=a("a-space"),m=s,w=a("a-select");return i(),t("div",v,[o(m,null,{default:n((()=>[o(m,null,{default:n((()=>[o(m,{justify:"end",style:{width:"100%"}},{default:n((()=>[o(y,{align:"end",style:{float:"right"}},{default:n((()=>[o(b,{class:"editorTopRightToolBarBtn",disabled:!d.canDelete,onClick:l[0]||(l[0]=e=>d.onDeleteMetricSelect(d.index))},{default:n((()=>[o(g,{size:20},{default:n((()=>[o(c)])),_:1})])),_:1},8,["disabled"])])),_:1})])),_:1}),o(y,{size:5},{default:n((()=>[o(w,{showArrow:"","show-search":!0,value:f.value,"onUpdate:value":l[1]||(l[1]=e=>f.value=e),options:h.value,onChange:A,"filter-option":T,style:{width:"100px",margin:"0"}},null,8,["value","options"]),l[6]||(l[6]=p("div",{style:{"background-color":"#202241","border-radius":"5px",width:"25px",height:"25px",display:"flex","justify-content":"center","align-items":"center"}},[p("p",{style:{color:"white",margin:"0"}},"的")],-1)),o(w,{showArrow:"","show-search":"",value:q.value,"onUpdate:value":l[2]||(l[2]=e=>q.value=e),options:D.value,"filter-option":T,onChange:l[3]||(l[3]=()=>{}),style:{width:"100px",margin:"0"}},null,8,["value","options"]),l[7]||(l[7]=p("div",{style:{height:"100%",display:"inline-flex","flex-direction":"column","justify-content":"end"}},[p("p",{style:{color:"black","font-weight":"bold","font-size":"20px",margin:"0"}},"·")],-1)),o(w,{showArrow:"",disabled:_.value,value:C.value,"onUpdate:value":l[4]||(l[4]=e=>C.value=e),"filter-option":T,options:L.value,onChange:l[5]||(l[5]=()=>{}),style:{width:"100px",margin:"0"}},null,8,["disabled","value","options"])])),_:1})])),_:1})])),_:1})])}}},[["__scopeId","data-v-f344ede9"]]);export{c as default};
|
1
admin/ui/static/static/js/project-BeETwwih.js
Normal file
1
admin/ui/static/static/js/project-BeETwwih.js
Normal file
@ -0,0 +1 @@
|
||||
import{t as e}from"./table-C92lqdDR.js";import{L as s,u as r,c as t}from"./index-UuEmTaM1.js";import{i as a,a as o,o as m,c,B as p}from"./vendor-CF1QNs3T.js";import"./resource-BKdHLLMe.js";import"./empty-BUY6hahc.js";const i={__name:"project",setup(i){s.setCache("project",{}),a();let n=t;return"admin"!==r().userInfo.character&&(n.meta.methods={}),s.setCache("resource",n),(s,r)=>(m(),o("div",null,[(m(),c(p(e)))]))}};export{i as default};
|
1
admin/ui/static/static/js/project_op-BxWYeSra.js
Normal file
1
admin/ui/static/static/js/project_op-BxWYeSra.js
Normal file
File diff suppressed because one or more lines are too long
@ -0,0 +1,2 @@
|
||||
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["static/js/propertyConditionType-cH_UXbua.js","static/js/vendor-CF1QNs3T.js","static/css/vendor-DnLjZ1mj.css","static/js/index-UuEmTaM1.js","static/css/index-BqAGgcXq.css","static/css/propertyConditionType-NSBzD7rw.css","static/js/propertyConditionFilter-Bo6S0Hpt.js","static/css/propertyConditionFilter-CwW-c0Ha.css"])))=>i.map(i=>d[i]);
|
||||
import{b as e}from"./index-UuEmTaM1.js";import{S as n,r,c as i,o as d,ad as l,u as o,ao as t}from"./vendor-CF1QNs3T.js";const p={__name:"propertiesConditionFilter",setup(p,{expose:s}){const c=l((()=>e((()=>import("./propertyConditionType-cH_UXbua.js")),__vite__mapDeps([0,1,2,3,4,5])))),h=l((()=>e((()=>import("./propertyConditionFilter-Bo6S0Hpt.js")),__vite__mapDeps([6,1,2,3,4,7])))),u=n({}),a=(e,n)=>{const r=JSON.parse(JSON.stringify(e));n.nodeType=r.nodeType,n.id=r.id,n.children=r.children,n.propertyInfo=r.propertyInfo},f=e=>{if(null===e)return null;if(""!==e.nodeType){if(0===e.children.length)return null;let n=0;for(;!(n>=e.children.length);){let r=e.children[n],i=f(r);null!==i?(e.children[n]=i,n++):e.children.splice(n,1)}1===e.children.length&&a(e.children[0],e)}return e},y=r(0),T=()=>(y.value+=1,y.value),_=e=>{if(null!==e)return e.id=T(),""!==e.nodeType&&e.children.forEach(((n,r)=>{e.children[r]=_(n)})),e},m=(e,n,r,i,d)=>{if(n.id===i)return d(e,n,r),!0;if(""===n.nodeType)return!1;for(let l=0;l<n.children.length;l++){const e=n.children[l];if(m(l,e,n,i,d))return!0}return!1},N=()=>({nodeType:"",id:T(),propertyInfo:{name:"",alias:"",cond:"",value1:"",value2:""},children:[]}),S=e=>{m(0,u,null,e,((e,n,r)=>{if(null===r){const e=JSON.parse(JSON.stringify(n));u.nodeType="and",u.id=e.id,u.children=[t(e),N()]}else r.children.push(N())})),f(u),_(u)};s({onAddNode:()=>{if(void 0===u.nodeType){const e=N();a(e,u)}else""===u.nodeType?S(u.id):u.children.push(N());f(u),_(u)}});const v={showComp:h,onSplitNode:e=>{m(0,u,null,e,((e,n,r)=>{if(null===r){const e=JSON.parse(JSON.stringify(n));u.nodeType="and",u.id=e.id,u.children=[t(e),N()]}else r.children[e]={nodeType:"and",id:T(),children:[n,N()]}})),f(u),_(u)},onAddBrother:S,onDeleteNode:e=>{m(0,u,null,e,((e,n,r)=>{null===r?(u.nodeType=void 0,u.children=[],u.id=void 0):r.children.splice(e,1)})),f(u),_(u)}};return(e,n)=>(d(),i(o(c),{node:o(u),propertyShowHandlerInfo:v},null,8,["node"]))}};export{p as default};
|
@ -0,0 +1 @@
|
||||
import{r as e,l,a as o,o as t,b as a,w as n,F as r,z as p,u as s,c as u,a8 as i,E as d,W as c,ap as f,p as v}from"./vendor-CF1QNs3T.js";import{_ as m}from"./index-UuEmTaM1.js";const y=m({__name:"propertyConditionFilter",props:{propertyHandlerInfo:{propertyInfo:{},onSplitNode:null,onAddBrother:null,onDeleteNode:null}},setup(m){const y=e([{label:"用户属性",options:[{value:"account_id",label:"游戏账号",meta:{propertyType:2}},{value:"role_id",label:"角色id",meta:{propertyType:2}},{value:"role_name",label:"角色名",meta:{propertyType:2}}]},{label:"事件属性",options:[{value:"item_id",label:"道具id",meta:{propertyType:2}},{value:"item_name",label:"道具名",meta:{propertyType:2}},{value:"cur_num",label:"cur_num",meta:{propertyType:2}}]}]),h=[["等于","不等于","小于","小于等于","大于","大于等于","有值","无值","区间"],["eq","ne","st","se","gt","ge","valued","valueless","range"]],_=[["等于","不等于","包括","不包括","有值","无值","正则匹配","正则不匹配"],["eq","ne","contain","exclusive","regmatch","regnotmatch"]],b=e([]),g=e([]);h[0].forEach(((e,l)=>{b.value.push({value:h[1][l],label:h[0][l]})})),_[0].forEach(((e,l)=>{g.value.push({value:_[1][l],label:_[0][l]})}));const w=(e,l)=>l.value.filter((l=>l.options&&l.options.length>0?l.options.filter((l=>l.includes(e))):l.label.includes(e))),I=e(""),T=e(""),x=e([]),C=(e,l)=>{console.log("select value:",e,l)};return(e,h)=>{const _=l("a-select-option"),g=l("a-select-opt-group"),H=l("a-select"),A=c,B=d,z=l("CirclePlus"),N=v,k=l("Delete"),D=l("a-space");return t(),o("div",null,[a(H,{showArrow:"","show-search":"",value:s(I),"onUpdate:value":h[0]||(h[0]=e=>i(I)?I.value=e:null),options:s(y),"filter-option":w,onSelect:C,style:{width:"100px",margin:"0"}},{default:n((()=>[(t(!0),o(r,null,p(s(y),(e=>(t(),u(g,{label:e.label},{default:n((()=>[(t(!0),o(r,null,p(e.options,(e=>(t(),u(_,{value:e,label:e.label},null,8,["value","label"])))),256))])),_:2},1032,["label"])))),256))])),_:1},8,["value","options"]),a(H,{showArrow:"",value:s(T),"onUpdate:value":h[1]||(h[1]=e=>i(T)?T.value=e:null),options:s(b),onChange:h[2]||(h[2]=()=>{}),style:{width:"70px",margin:"0"}},null,8,["value","options"]),a(H,{showArrow:"","show-search":"",mode:"multiple",value:s(x),"onUpdate:value":h[3]||(h[3]=e=>i(x)?x.value=e:null),options:s(b),onChange:h[4]||(h[4]=()=>{}),style:{width:"80px",margin:"0 5px 0 0"}},null,8,["value","options"]),a(D,{size:2},{default:n((()=>[a(B,{effect:"light",content:"裂变",placement:"top"},{default:n((()=>[a(A,{class:"filterToolBtn",onClick:h[5]||(h[5]=e=>m.propertyHandlerInfo.onSplitNode(m.propertyHandlerInfo.propertyInfo.id))},{default:n((()=>[a(s(f),{style:{transform:"rotate(90deg)"}})])),_:1})])),_:1}),a(B,{effect:"light",content:"增加平行节点",placement:"top"},{default:n((()=>[a(A,{class:"filterToolBtn",onClick:h[6]||(h[6]=e=>m.propertyHandlerInfo.onAddBrother(m.propertyHandlerInfo.propertyInfo.id))},{default:n((()=>[a(N,{size:16},{default:n((()=>[a(z)])),_:1})])),_:1})])),_:1}),a(B,{effect:"light",content:"删除",placement:"top"},{default:n((()=>[a(A,{class:"filterToolBtn",onClick:h[7]||(h[7]=e=>m.propertyHandlerInfo.onDeleteNode(m.propertyHandlerInfo.propertyInfo.id))},{default:n((()=>[a(N,{size:16},{default:n((()=>[a(k)])),_:1})])),_:1})])),_:1})])),_:1})])}}},[["__scopeId","data-v-57807f7e"]]);export{y as default};
|
@ -0,0 +1 @@
|
||||
import{l as e,c as o,U as n,o as d,w as r,d as a,b as l,W as p,a as t,F as s,z as y,a7 as i,B as f}from"./vendor-CF1QNs3T.js";import{_ as c}from"./index-UuEmTaM1.js";const h={class:"andOrArea"},u={key:0},I={key:1},w={style:{display:"inline-flex","flex-direction":"column"}},v={key:0,style:{width:"100%",height:"5px"}},H=c({__name:"propertyConditionType",props:{node:{},propertyShowHandlerInfo:{}},setup(c){const H=c;return(S,T)=>{const _=p,m=e("PropertyConditionType",!0),k=i;return void 0!==c.node.nodeType&&""!==c.node.nodeType?(d(),o(k,{key:0,class:"treeNodeArea"},{default:r((()=>[a("div",h,[T[1]||(T[1]=a("div",{class:"andOrWrapLine"},null,-1)),l(_,{class:"andOrBtn",onClick:T[0]||(T[0]=e=>{var o;"and"===(o=c.node).nodeType?o.nodeType="or":o.nodeType="and"})},{default:r((()=>["and"===c.node.nodeType?(d(),t("p",u,"与")):"or"===c.node.nodeType?(d(),t("p",I,"或")):n("",!0)])),_:1}),T[2]||(T[2]=a("div",{class:"andOrWrapLine"},null,-1))]),a("div",w,[(d(!0),t(s,null,y(c.node.children,((e,o)=>(d(),t(s,null,[l(m,{node:e,propertyShowHandlerInfo:c.propertyShowHandlerInfo},null,8,["node","propertyShowHandlerInfo"]),o!==c.node.children.length-1?(d(),t("div",v)):n("",!0)],64)))),256))])])),_:1})):void 0!==c.node.nodeType?(d(),o(k,{key:1,class:"selectNodeArea"},{default:r((()=>[(d(),o(f(c.propertyShowHandlerInfo.showComp),{style:{float:"right"},propertyHandlerInfo:{propertyInfo:c.node,onSplitNode:H.propertyShowHandlerInfo.onSplitNode,onAddBrother:H.propertyShowHandlerInfo.onAddBrother,onDeleteNode:H.propertyShowHandlerInfo.onDeleteNode}},null,8,["propertyHandlerInfo"]))])),_:1})):n("",!0)}}},[["__scopeId","data-v-ac96b3b4"]]);export{H as default};
|
1
admin/ui/static/static/js/resource-BKdHLLMe.js
Normal file
1
admin/ui/static/static/js/resource-BKdHLLMe.js
Normal file
@ -0,0 +1 @@
|
||||
import{s as t}from"./index-UuEmTaM1.js";function r(r,e){return t({url:r,method:"get",params:e})}function e(r,e){return t({url:r,method:"post",data:{dto:e}})}function o(r,e){return t({url:r,method:"put",data:{dto:e}})}function n(r,e){return t({url:r,method:"delete",data:e})}function u(r,e){return t({url:r+"/selection",method:"post",data:e})}function a(r){return t({url:"/project/"+r.toString()+"/items",method:"get"})}export{n as a,e as b,o as c,a as d,u as e,r};
|
1
admin/ui/static/static/js/retention-ja11eFY1.js
Normal file
1
admin/ui/static/static/js/retention-ja11eFY1.js
Normal file
@ -0,0 +1 @@
|
||||
import{_ as r}from"./index-UuEmTaM1.js";import"./vendor-CF1QNs3T.js";const e=r({},[["render",function(r,e){return" 留存分析 "}]]);export{e as default};
|
1
admin/ui/static/static/js/table-C92lqdDR.js
Normal file
1
admin/ui/static/static/js/table-C92lqdDR.js
Normal file
File diff suppressed because one or more lines are too long
1
admin/ui/static/static/js/tableUser-CnqaLxm-.js
Normal file
1
admin/ui/static/static/js/tableUser-CnqaLxm-.js
Normal file
File diff suppressed because one or more lines are too long
1
admin/ui/static/static/js/user-BKNZ5fs6.js
Normal file
1
admin/ui/static/static/js/user-BKNZ5fs6.js
Normal file
@ -0,0 +1 @@
|
||||
import{t as e}from"./tableUser-CnqaLxm-.js";import{u as s,L as r}from"./index-UuEmTaM1.js";import{t}from"./history-2-P7j7wj.js";import{a as o,o as a,c as m,B as u}from"./vendor-CF1QNs3T.js";import"./resource-BKdHLLMe.js";import"./empty-BUY6hahc.js";const c={__name:"user",setup(c){let n={meta:{desc:"user",resource:"user",resource_url:"/resource/user",methods:{get:!0,post:!0,put:!0,delete:!0}}};"admin"!==s().userInfo.character&&(n.meta.methods={}),r.setCache("resource",n);const i=[];return i.push({key:"user:exec:history",name:"执行记录",btn_color_type:"info",btn_type:1,btn_callback_component:t}),(s,r)=>(a(),o("div",null,[(a(),m(u(e),{rowClickDialogBtns:i}))]))}};export{c as default};
|
1
admin/ui/static/static/js/welcome-NcV1Cu66.js
Normal file
1
admin/ui/static/static/js/welcome-NcV1Cu66.js
Normal file
@ -0,0 +1 @@
|
||||
import{a as s,o as a,d as e,b as n,v as t,t as o,u as r,aa as p,F as l}from"./vendor-CF1QNs3T.js";import{u}from"./index-UuEmTaM1.js";const f={style:{"font-size":"40px"}},i={style:{color:"darkslategrey","font-size":"50px"}},m={__name:"welcome",setup(m){const c=u().userInfo;return(u,m)=>{const d=p;return a(),s(l,null,[e("span",f,[m[0]||(m[0]=t("亲爱的")),e("span",i,o(r(c).nick_name),1),m[1]||(m[1]=t("!欢迎使用本公司后台管理系统!"))]),n(d),m[2]||(m[2]=e("span",{style:{"font-size":"40px"}},"硬盘有价,数据无价,操作不规范,亲人两行泪。",-1))],64)}}};export{m as default};
|
BIN
admin/uniugm.db
Normal file
BIN
admin/uniugm.db
Normal file
Binary file not shown.
@ -110,7 +110,7 @@ const handleServerRowData = (fieldsDescInfoData, rowData) => {
|
||||
if (whereField.key === field.key) {
|
||||
whereFieldsDescInfo.value[i].type = field.type
|
||||
whereFieldsDescInfo.value[i].where = field.where
|
||||
whereFieldsDescInfo.value[i].whereDesc = getWhereConditionDesc(field.where)
|
||||
whereFieldsDescInfo.value[i].whereDes
|
||||
find = true
|
||||
break
|
||||
}
|
||||
@ -473,6 +473,10 @@ const handleCloseDialog = () => {
|
||||
query: {}
|
||||
})
|
||||
}
|
||||
genRandAccountNum.value = 0
|
||||
genRandAccountPrefix.value = ""
|
||||
genRandAccountCharBitNum.value = 5
|
||||
genRandAccountSuffix.value = ""
|
||||
}
|
||||
|
||||
const loadingRemoteItems = ref(false)
|
||||
@ -525,6 +529,42 @@ const handlePaginationCurChange = (val) => {
|
||||
listData()
|
||||
}
|
||||
|
||||
const genRandAccountNum = ref(0)
|
||||
const genRandAccountPrefix = ref('')
|
||||
const genRandAccountCharBitNum = ref(5)
|
||||
const genRandAccountSuffix = ref('')
|
||||
|
||||
const randCharArray = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',
|
||||
'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
|
||||
|
||||
const handleGenRandAccount = () => {
|
||||
if (genRandAccountNum.value <= 0 || genRandAccountNum.value > 1000) {
|
||||
alert("数量不合法!!范围[1-1000]")
|
||||
return
|
||||
}
|
||||
if (genRandAccountPrefix.value === "" && genRandAccountSuffix.value === "") {
|
||||
alert("生成账号的前缀、后缀至少填一个!!")
|
||||
return
|
||||
}
|
||||
|
||||
if (genRandAccountCharBitNum.value < 3 || genRandAccountCharBitNum.value > 20) {
|
||||
alert("生成账号的随机字串长度不合法!!范围[3-20]")
|
||||
return
|
||||
}
|
||||
|
||||
let accountList = []
|
||||
for (let i = 0; i < genRandAccountNum.value; i++) {
|
||||
let randStr = ""
|
||||
for (let j = 0; j < genRandAccountCharBitNum.value; j++) {
|
||||
randStr += randCharArray[Math.floor(Math.random() * 1000000) %randCharArray.length]
|
||||
}
|
||||
const accountName = genRandAccountPrefix.value + randStr + genRandAccountSuffix.value
|
||||
// console.log("rand account name:", Math.random())
|
||||
accountList.push(accountName)
|
||||
}
|
||||
dialogObjectForm.value.AccountList = accountList.join(",")
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<template>
|
||||
@ -778,6 +818,31 @@ const handlePaginationCurChange = (val) => {
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<template v-else-if="fieldDescInfo.type === 'randAccount'">
|
||||
<el-form-item :label="fieldDescInfo.name" :prop="fieldDescInfo.key">
|
||||
<el-row style="margin-bottom: 10px">
|
||||
<span>随机数量:</span>
|
||||
<el-tooltip effect="light" placement="top-start" content="输入生成账号的数量,数量范围[1-1000],数量太大了后台短时间生成不完,注意多等几分钟会再发放账号">
|
||||
<el-input type="number" v-model="genRandAccountNum" placeholder="账号数量" style="width: 90px"/>
|
||||
</el-tooltip>
|
||||
<span style="margin-left: 10px">随机模板:</span>
|
||||
<el-tooltip effect="light" placement="top" content="前缀、后缀必填至少一个">
|
||||
<el-input v-model="genRandAccountPrefix" placeholder="前缀" style="width: 100px;margin-right: 5px"></el-input>
|
||||
</el-tooltip>
|
||||
<el-tooltip effect="light" placement="top" content="账号随机混淆字串的位数,范围[3-20],与前缀、后缀一起组成账号">
|
||||
<el-input type="number" v-model="genRandAccountCharBitNum" placeholder="随机串数量" style="width: 80px;margin-right: 5px"/>
|
||||
</el-tooltip>
|
||||
<el-tooltip effect="light" placement="top" content="前缀、后缀必填至少一个">
|
||||
<el-input v-model="genRandAccountSuffix" placeholder="后缀" style="width: 100px;margin-right: 5px"></el-input>
|
||||
</el-tooltip>
|
||||
<el-button type="success" @click="handleGenRandAccount">生成</el-button>
|
||||
</el-row>
|
||||
<el-input v-model="dialogObjectForm[fieldDescInfo.key]"
|
||||
:placeholder="fieldDescInfo.help_text" type="textarea"
|
||||
:autosize="{minRows: 5, maxRows: 20}"></el-input>
|
||||
</el-form-item>
|
||||
</template>
|
||||
|
||||
<!-- 否则就是普通字段 -->
|
||||
<template v-else>
|
||||
<el-form-item :label="fieldDescInfo.name" :prop="fieldDescInfo.key">
|
||||
|
Loading…
x
Reference in New Issue
Block a user