From 455384a4fde2fd34a3480b0072ae2be44e30d30a Mon Sep 17 00:00:00 2001 From: shy Date: Mon, 16 Jun 2025 13:39:59 +0800 Subject: [PATCH] opt some --- src/yingxiaotuiguang/bonus.go | 8 +- src/yingxiaotuiguang/bonus.js | 6 +- src/yingxiaotuiguang/channel.go | 4 +- src/yingxiaotuiguang/channel.js | 4 +- src/yingxiaotuiguang/common.go | 117 +++++++++++++++--- src/yingxiaotuiguang/deal.go | 41 ++++++ src/yingxiaotuiguang/deal.js | 9 ++ src/yingxiaotuiguang/deal.png | Bin 0 -> 10278 bytes src/yingxiaotuiguang/document.go | 17 +++ src/yingxiaotuiguang/document.js | 8 ++ src/yingxiaotuiguang/document.png | Bin 0 -> 9515 bytes src/yingxiaotuiguang/feedback.go | 17 +++ src/yingxiaotuiguang/feedback.js | 9 ++ src/yingxiaotuiguang/feedback.png | Bin 0 -> 10858 bytes src/yingxiaotuiguang/invite.go | 38 +++++- src/yingxiaotuiguang/invite.js | 8 +- src/yingxiaotuiguang/model/model.go | 50 ++++++-- src/yingxiaotuiguang/portal.json | 11 +- src/yingxiaotuiguang/product.go | 55 ++++++-- src/yingxiaotuiguang/product.js | 9 +- src/yingxiaotuiguang/publish.css | 3 + src/yingxiaotuiguang/publish.go | 10 +- src/yingxiaotuiguang/publish.js | 6 +- src/yingxiaotuiguang/{stat.go => visite.go} | 26 ++-- src/yingxiaotuiguang/{stat.js => visite.js} | 4 +- src/yingxiaotuiguang/{stat.png => visite.png} | Bin .../web.team.gonganxitong.portal/hash.json | 42 ++++++- .../hash.json | 51 ++++++-- 28 files changed, 464 insertions(+), 89 deletions(-) create mode 100644 src/yingxiaotuiguang/deal.go create mode 100644 src/yingxiaotuiguang/deal.js create mode 100644 src/yingxiaotuiguang/deal.png create mode 100644 src/yingxiaotuiguang/document.go create mode 100644 src/yingxiaotuiguang/document.js create mode 100644 src/yingxiaotuiguang/document.png create mode 100644 src/yingxiaotuiguang/feedback.go create mode 100644 src/yingxiaotuiguang/feedback.js create mode 100644 src/yingxiaotuiguang/feedback.png create mode 100644 src/yingxiaotuiguang/publish.css rename src/yingxiaotuiguang/{stat.go => visite.go} (50%) rename src/yingxiaotuiguang/{stat.js => visite.js} (54%) rename src/yingxiaotuiguang/{stat.png => visite.png} (100%) diff --git a/src/yingxiaotuiguang/bonus.go b/src/yingxiaotuiguang/bonus.go index 423bc20..59cc1bb 100644 --- a/src/yingxiaotuiguang/bonus.go +++ b/src/yingxiaotuiguang/bonus.go @@ -7,10 +7,9 @@ import ( type bonus struct { Table order string `data:"4"` - role string `data:"leader,worker"` - fields string `data:"product_uid,channel_uid,count,price,user_uid"` - create string `name:"create product_uid*:select channel_uid*:select count* price*" role:"leader"` - modify string `name:"modify count* price*" role:"leader"` + fields string `data:"product_uid,channel_uid,title,content,count,price,user_uid"` + create string `name:"create product_uid*:select channel_uid*:select title content price*=100 count*=10 total*=100" role:"leader"` + modify string `name:"modify title content price* count* total*" role:"leader"` remove string `name:"remove" role:"leader"` } @@ -21,6 +20,7 @@ func (s bonus) List(m *ice.Message, arg ...string) { m.PushAction() } s.WaitLeaderCreate(m, "奖励激励") + s.OtherListCmd(m, s.DealList) } func init() { ice.TeamCtxCmd(bonus{}) } diff --git a/src/yingxiaotuiguang/bonus.js b/src/yingxiaotuiguang/bonus.js index 447393c..4f8502e 100644 --- a/src/yingxiaotuiguang/bonus.js +++ b/src/yingxiaotuiguang/bonus.js @@ -3,8 +3,10 @@ Volcanos(chat.ONIMPORT, { can.onimport.shareTitle(can, msg, "product_name", "product_content", "product_icon") can.onimport.myView(can, msg, function(value) { value.icons = value.product_icon; return [ {view: html.TITLE, list: [ - value.product_name, value.channel_name, can.onimport.spaceView(can, value), - can.onimport.moneyView(can, value), "/", value.count, can.onimport.titleAction(can, value), + value.title||value.product_title||value.product_name, + // value.channel_name, + can.onimport.spaceView(can, value), + can.onimport.moneyView(can, value), "/", value.count, "*", value.total, can.onimport.titleAction(can, value), ]}, can.onimport.metaView(can, value), {view: html.OUTPUT, list: [value.content||value.product_content]}, ] }) diff --git a/src/yingxiaotuiguang/channel.go b/src/yingxiaotuiguang/channel.go index df6756d..52a0148 100644 --- a/src/yingxiaotuiguang/channel.go +++ b/src/yingxiaotuiguang/channel.go @@ -10,7 +10,7 @@ import ( type channel struct { Table order string `data:"2"` - fields string `data:"icon,name,info,invite_count,user_uid"` + fields string `data:"icon,name,info,invite_count AS invite_count,user_uid"` create string `name:"create name* info* icon@img" role:"leader"` modify string `name:"modify name info" role:"leader"` remove string `name:"remove" role:"leader"` @@ -27,7 +27,7 @@ func (s channel) List(m *ice.Message, arg ...string) { } }) s.WaitLeaderCreate(m, "渠道") - s.OtherListCmd(m, s.InviteList, s.BonusList) + s.OtherListCmd(m, s.InviteList, s.VisiteList, s.BonusList) } func init() { ice.TeamCtxCmd(channel{}) } diff --git a/src/yingxiaotuiguang/channel.js b/src/yingxiaotuiguang/channel.js index 352194c..97f58f3 100644 --- a/src/yingxiaotuiguang/channel.js +++ b/src/yingxiaotuiguang/channel.js @@ -1,9 +1,9 @@ Volcanos(chat.ONIMPORT, { _init: function(can, msg) { can.onimport.myView(can, msg, function(value) { return [ - {view: html.TITLE, list: [value.name, can.onimport.titleAction(can, value)]}, can.onimport.metaView(can, value), + {view: html.TITLE, list: [value.name]}, can.onimport.metaView(can, value), {view: html.STATUS, list: [can.onimport.unitView(can, value, "invite_count")]}, - {view: html.OUTPUT, list: [value.info]}, + {view: html.OUTPUT, list: [value.info]}, can.onimport.titleAction(can, value), ] }) }, }) \ No newline at end of file diff --git a/src/yingxiaotuiguang/common.go b/src/yingxiaotuiguang/common.go index dbe4d3f..9cf1c1e 100644 --- a/src/yingxiaotuiguang/common.go +++ b/src/yingxiaotuiguang/common.go @@ -1,6 +1,8 @@ package yingxiaotuiguang import ( + "strconv" + "shylinux.com/x/ice" kit "shylinux.com/x/toolkits" @@ -10,11 +12,14 @@ import ( type Table struct { guanlixitong.Table - list string `name:"list promotion_uid uid auto" role:"void"` - enter string `name:"enter" help:"进入系统" style:"notice" role:"void"` - inviteList string `name:"inviteList" role:"worker"` - bonusList string `name:"bonusList" role:"worker"` - statList string `name:"statList" role:"worker"` + list string `name:"list promotion_uid uid auto" role:"void"` + enter string `name:"enter" help:"进入系统" style:"notice" role:"void"` + documentList string `name:"documentList" role:"worker"` + feedbackList string `name:"feedbackList" role:"worker"` + inviteList string `name:"inviteList" role:"worker"` + visiteList string `name:"visiteList" role:"worker"` + bonusList string `name:"bonusList" role:"worker"` + dealList string `name:"dealList" role:"worker"` } func (s Table) Inputs(m *ice.Message, arg ...string) { @@ -27,12 +32,24 @@ func (s Table) Inputs(m *ice.Message, arg ...string) { s.InputsListCmd(m, product{}) case model.CHANNEL_UID: s.InputsListCmd(m, channel{}) + case model.BONUS_UID: + s.BonusFields(m) + m.Cmdy(bonus{}, s.Select, + s.Key(bonus{}, model.PROMOTION_UID), m.Option(model.PROMOTION_UID), + s.Key(bonus{}, model.PRODUCT_UID), m.Option(model.PRODUCT_UID), + s.Key(bonus{}, model.CHANNEL_UID), m.Option(model.CHANNEL_UID)) + m.Option("_input_args", model.UID, model.PRICE, model.PRODUCT_ICON) + m.Display("bonus.js") + s.RewriteAppend(m) default: s.Table.Inputs(m, arg...) } } func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message { m.RewriteAppend(func(value, key string, index int) string { + if _, e := strconv.ParseInt(value, 10, 64); e != nil { + return value + } switch key { case model.USER_PROMOTION_ROLE: value = UserPromotionRole(kit.Int(value)).String() @@ -43,37 +60,105 @@ func (s Table) RewriteAppend(m *ice.Message, arg ...string) *ice.Message { }) return s.Table.RewriteAppend(m) } +func (s Deal) InviteList(m *ice.Message, arg ...string) { + s.InviteFields(m).OtherList(m, invite{}, s.Key(invite{}, model.UID), m.Option(model.INVITE_UID), s.Key(invite{}, model.PROMOTION_UID), m.Option(model.PROMOTION_UID)) +} func (s Table) InviteList(m *ice.Message, arg ...string) { - s.InviteFields(m).OtherList(m, invite{}) + if s.IsLeader(m) { + s.InviteFields(m).OtherList(m, invite{}) + } else { + s.InviteFields(m).OtherList(m, invite{}, s.Key(invite{}, model.PROMOTION_UID), m.Option(model.PROMOTION_UID), s.Key(invite{}, model.USER_UID), m.Option(model.USER_UID)) + } +} +func (s Table) VisiteList(m *ice.Message, arg ...string) { + if s.IsLeader(m) { + s.VisiteFields(m).OtherList(m, visite{}) + } else { + s.VisiteFields(m).OtherList(m, visite{}, s.Key(invite{}, model.PROMOTION_UID), m.Option(model.PROMOTION_UID), s.Key(invite{}, model.USER_UID), m.Option(model.USER_UID)) + } } func (s Table) BonusList(m *ice.Message, arg ...string) { s.BonusFields(m).OtherList(m, bonus{}) } -func (s Table) StatList(m *ice.Message, arg ...string) { - s.StatFields(m).OtherList(m, stat{}) +func (s Table) DocumentList(m *ice.Message, arg ...string) { + s.DocumentFields(m).OtherList(m, document{}) +} +func (s Table) FeedbackList(m *ice.Message, arg ...string) { + s.FeedbackFields(m).OtherList(m, feedback{}) +} +func (s product) FeedbackList(m *ice.Message, arg ...string) { + s.FeedbackFields(m).OtherList(m, feedback{}, model.PRODUCT_UID, m.Option(model.UID)) +} +func (s Table) DealList(m *ice.Message, arg ...string) { + if m.Display("deal.js"); s.IsLeader(m) { + s.OtherList(m, Deal{}) + } else { + s.OtherList(m, Deal{}, model.TO_USER_UID, m.Option(model.USER_UID)) + } + m.RenameAppend(model.TO_USER_UID, model.USER_UID) +} +func (s product) DealList(m *ice.Message, arg ...string) { + s.DealFields(m) + if m.Display("deal.js"); s.IsLeader(m) { + s.OtherList(m, Deal{}, model.PRODUCT_UID, m.Option(model.UID)) + } else { + s.OtherList(m, Deal{}, model.PRODUCT_UID, m.Option(model.UID), model.TO_USER_UID, m.Option(model.USER_UID)) + } + m.RenameAppend(model.TO_USER_UID, model.USER_UID) +} +func (s Table) DealFields(m *ice.Message, arg ...string) Table { + m.Display("invite.js") + s.Tables(m, invite{}, product{}, channel{}).FieldsWithCreatedAT(m, Deal{}, + model.PRODUCT_UID, model.CHANNEL_UID, + model.PRODUCT_ICON, model.PRODUCT_NAME, model.PRODUCT_TITLE, model.PRODUCT_CONTENT, + s.Key(Deal{}, model.TO_USER_UID), + s.Key(Deal{}, model.TITLE), s.Key(Deal{}, model.CONTENT), s.Key(Deal{}, model.PRICE)) + return s } func (s Table) InviteFields(m *ice.Message, arg ...string) Table { m.Display("invite.js") s.Tables(m, product{}, channel{}).FieldsWithCreatedAT(m, invite{}, + model.PRODUCT_UID, model.CHANNEL_UID, model.PRODUCT_ICON, model.PRODUCT_NAME, model.PRODUCT_TITLE, model.PRODUCT_CONTENT, s.Key(invite{}, model.TITLE), s.Key(invite{}, model.CONTENT), - model.VISITE_COUNT, model.BEGIN_TIME, model.END_TIME, model.CHANNEL_NAME, + s.Key(invite{}, model.VISITE_COUNT), model.BEGIN_TIME, model.END_TIME, model.CHANNEL_NAME, s.Key(invite{}, model.USER_UID)) return s } +func (s Table) VisiteFields(m *ice.Message, arg ...string) Table { + m.Display("visite.js") + s.Tables(m, invite{}, product{}, channel{}).FieldsWithCreatedAT(m, visite{}, + model.PRODUCT_UID, model.CHANNEL_UID, + model.PRODUCT_NAME, model.PRODUCT_TITLE, model.CHANNEL_NAME, + model.LOCATION, model.IP, model.UA, model.AGENT, model.SYSTEM, + s.Key(visite{}, model.USER_UID)) + return s +} func (s Table) BonusFields(m *ice.Message, arg ...string) Table { m.Display("bonus.js") s.Tables(m, product{}, channel{}).FieldsWithCreatedAT(m, bonus{}, - model.PRODUCT_ICON, model.PRODUCT_NAME, model.CHANNEL_NAME, model.COUNT, model.PRICE, + model.PRODUCT_UID, model.CHANNEL_UID, + model.PRODUCT_ICON, model.PRODUCT_NAME, model.PRODUCT_TITLE, model.CHANNEL_NAME, + s.Key(bonus{}, model.TITLE), s.Key(bonus{}, model.CONTENT), model.PRICE, model.COUNT, model.TOTAL, s.Key(bonus{}, model.USER_UID)) return s } -func (s Table) StatFields(m *ice.Message, arg ...string) Table { - m.Display("stat.js") - s.Tables(m, invite{}, product{}, channel{}).FieldsWithCreatedAT(m, stat{}, - model.PRODUCT_NAME, model.CHANNEL_NAME, - model.LOCATION, model.IP, model.UA, model.AGENT, model.SYSTEM, - s.Key(stat{}, model.USER_UID)) +func (s Table) DocumentFields(m *ice.Message, arg ...string) Table { + m.Display("document.js") + s.Tables(m, product{}).FieldsWithCreatedAT(m, document{}, + model.PRODUCT_UID, + model.PRODUCT_ICON, model.PRODUCT_NAME, model.PRODUCT_TITLE, + s.Key(document{}, model.TITLE), s.Key(document{}, model.CONTENT), s.Key(document{}, model.LINK), + s.Key(document{}, model.USER_UID)) + return s +} +func (s Table) FeedbackFields(m *ice.Message, arg ...string) Table { + m.Display("feedback.js") + s.Tables(m, invite{}, product{}, channel{}).FieldsWithCreatedAT(m, feedback{}, + model.PRODUCT_UID, model.CHANNEL_UID, + model.PRODUCT_ICON, model.PRODUCT_NAME, model.PRODUCT_TITLE, model.CHANNEL_NAME, + s.Key(feedback{}, model.TITLE), s.Key(feedback{}, model.CONTENT), + s.Key(feedback{}, model.USER_UID)) return s } diff --git a/src/yingxiaotuiguang/deal.go b/src/yingxiaotuiguang/deal.go new file mode 100644 index 0000000..37cf9eb --- /dev/null +++ b/src/yingxiaotuiguang/deal.go @@ -0,0 +1,41 @@ +package yingxiaotuiguang + +import ( + "shylinux.com/x/ice" + kit "shylinux.com/x/toolkits" + + "shylinux.com/x/enterprise/src/yingxiaotuiguang/model" +) + +type Deal struct { + Table + order string `data:"13"` + fields string `data:"from_user_uid,to_user_uid,price,title,content,invite_uid"` + create string `name:"create invite_uid* bonus_uid* from_user_uid* to_user_uid* price* title* content" role:"leader"` + modify string `name:"modify title* content" role:"leader"` +} + +func (s Deal) Create(m *ice.Message, arg ...string) { + s.ValueCreate(m, arg...) +} +func (s Deal) List(m *ice.Message, arg ...string) { + if s.IsLeader(m) { + s.ValueList(m, arg) + defer m.PushAction(s.Remove) + } else { + if len(arg) == 1 { + s.Select(m, model.PROMOTION_UID, arg[0], model.TO_USER_UID, m.Option(model.USER_UID)) + kit.If(m.Length() == 0, func() { m.Echo("请等待管理人员支付工钱") }) + } else { + s.SelectDetail(m, model.UID, arg[1], model.PROMOTION_UID, arg[0], model.TO_USER_UID, m.Option(model.USER_UID)) + } + } + if m.PushAction().Action().Display(""); s.IsLeader(m) { + m.RenameAppend(model.TO_USER_UID, model.USER_UID) + } else { + m.RenameAppend(model.FROM_USER_UID, model.USER_UID) + } + s.OtherListCmd(m, s.InviteList) +} + +func init() { ice.TeamCtxCmd(Deal{}) } diff --git a/src/yingxiaotuiguang/deal.js b/src/yingxiaotuiguang/deal.js new file mode 100644 index 0000000..0eeb054 --- /dev/null +++ b/src/yingxiaotuiguang/deal.js @@ -0,0 +1,9 @@ +Volcanos(chat.ONIMPORT, { + _init: function(can, msg) { + can.onimport.myView(can, msg, function(value) { return [ + {view: html.TITLE, list: [value.title, can.onimport.moneyView(can, value)]}, + {view: html.STATUS, list: [can.onimport.uidView(can, value), can.onimport.timeView(can, value), value.user_name]}, + {view: html.OUTPUT, list: [value.content]}, + ] }) + }, +}) diff --git a/src/yingxiaotuiguang/deal.png b/src/yingxiaotuiguang/deal.png new file mode 100644 index 0000000000000000000000000000000000000000..89e0d5161f0c25c975a05b201df9a8b8ff7f6d88 GIT binary patch literal 10278 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 literal 0 HcmV?d00001 diff --git a/src/yingxiaotuiguang/document.go b/src/yingxiaotuiguang/document.go new file mode 100644 index 0000000..33bd9bf --- /dev/null +++ b/src/yingxiaotuiguang/document.go @@ -0,0 +1,17 @@ +package yingxiaotuiguang + +import "shylinux.com/x/ice" + +type document struct { + Table + order string `data:"11"` + fields string `data:"product_uid,title,content,link,user_uid"` + create string `name:"create product_uid*:select title content link" role:"worker"` + remove string `name:"remove" role:"worker"` +} + +func (s document) List(m *ice.Message, arg ...string) { + s.DocumentFields(m).ValueList(m, arg) +} + +func init() { ice.TeamCtxCmd(document{}) } diff --git a/src/yingxiaotuiguang/document.js b/src/yingxiaotuiguang/document.js new file mode 100644 index 0000000..731a375 --- /dev/null +++ b/src/yingxiaotuiguang/document.js @@ -0,0 +1,8 @@ +Volcanos(chat.ONIMPORT, { + _init: function(can, msg) { + can.onimport.myView(can, msg, function(value) { return [ + {view: html.TITLE, list: [value.title||value.name||value.user_name, can.onimport.titleAction(can, value)]}, can.onimport.metaView(can, value), + {view: html.OUTPUT, list: [value.content||value.info]}, + ] }) + }, +}) \ No newline at end of file diff --git a/src/yingxiaotuiguang/document.png b/src/yingxiaotuiguang/document.png new file mode 100644 index 0000000000000000000000000000000000000000..a170d45ce6939dda114c21e6ddd90f86fffb0812 GIT binary patch literal 9515 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 `Tc817QA#;dfi^yjl8u8W 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 0 { + return + } s.ValueCreate(m, arg...) s.TargetAddCount(m, invite{}, model.VISITE_COUNT) }) } -func (s stat) List(m *ice.Message, arg ...string) { - s.StatFields(m).ValueList(m, arg).PushAction().Action() +func (s visite) List(m *ice.Message, arg ...string) { + s.Limit(m, 3000) + if s.VisiteFields(m); s.IsLeader(m) { + s.ValueList(m, arg) + } else { + if len(arg) == 1 { + s.Select(m, s.Key(s, model.PROMOTION_UID), arg[0], s.Key(invite{}, model.USER_UID), m.Option(model.USER_UID)) + } else { + s.SelectDetail(m, s.Key(s, model.UID), arg[1], s.Key(s, model.PROMOTION_UID), arg[0], s.Key(invite{}, model.USER_UID), m.Option(model.USER_UID)) + } + } + m.PushAction().Action() kit.If(m.Length() == 0, func() { m.SetResult("请等待用户访问") }) } -func init() { ice.TeamCtxCmd(stat{}) } +func init() { ice.TeamCtxCmd(visite{}) } diff --git a/src/yingxiaotuiguang/stat.js b/src/yingxiaotuiguang/visite.js similarity index 54% rename from src/yingxiaotuiguang/stat.js rename to src/yingxiaotuiguang/visite.js index d2465ac..5191628 100644 --- a/src/yingxiaotuiguang/stat.js +++ b/src/yingxiaotuiguang/visite.js @@ -1,8 +1,8 @@ Volcanos(chat.ONIMPORT, { _init: function(can, msg) { can.onimport.shareTitle(can, msg, "product_name", "product_content", "product_icon") - can.onimport.myView(can, msg, function(value) { return [ - {view: html.TITLE, list: [value.product_name, value.channel_name, can.onimport.titleAction(can, value)]}, can.onimport.metaView(can, value), + can.onimport.myViewTabs(can, "system", msg, function(value) { return [ + {view: html.TITLE, list: [value.product_title||value.product_name, value.channel_name, can.onimport.titleAction(can, value)]}, can.onimport.metaView(can, value), {view: html.STATUS, list: [value.agent, value.system, value.ip, value.location]}, {view: html.OUTPUT, list: [value.ua]}, ] }) diff --git a/src/yingxiaotuiguang/stat.png b/src/yingxiaotuiguang/visite.png similarity index 100% rename from src/yingxiaotuiguang/stat.png rename to src/yingxiaotuiguang/visite.png diff --git a/usr/local/export/web.team.gonganxitong.portal/hash.json b/usr/local/export/web.team.gonganxitong.portal/hash.json index 39e8b9c..d0ad6a5 100644 --- a/usr/local/export/web.team.gonganxitong.portal/hash.json +++ b/usr/local/export/web.team.gonganxitong.portal/hash.json @@ -8,6 +8,16 @@ "time": "2025-06-04 14:06:42.767" } }, + "1cfd36a7b8906ba77781b4f85d0a6190": { + "meta": { + "icons": "bi bi-people", + "index": "web.team.gonganxitong.sess", + "name": "会话管理", + "order": "605", + "role": "tech", + "time": "2025-06-16 08:06:41.996" + } + }, "27c6988eeb07c78cbb49aa15c577cfa4": { "meta": { "icons": "bi bi-pencil-square", @@ -56,6 +66,26 @@ "time": "2025-06-04 14:06:42.769" } }, + "b07b1f652f5b2557c0b20e813fcf99d2": { + "meta": { + "icons": "bi bi-buildings", + "index": "web.team.gonganxitong.street", + "name": "街道管理", + "order": "601", + "role": "tech", + "time": "2025-06-16 08:06:42.011" + } + }, + "ba00879066bbcea83e30cda292d28a91": { + "meta": { + "icons": "bi bi-people", + "index": "web.team.gonganxitong.user", + "name": "用户管理", + "order": "604", + "role": "tech", + "time": "2025-06-16 08:06:42.001" + } + }, "bdec92d5849b2a60a8811cff494f2391": { "meta": { "icons": "bi bi-calendar4-week", @@ -85,11 +115,21 @@ "time": "2025-06-04 14:06:42.765" } }, + "d8443c1034bfe5917c52126a3306c328": { + "meta": { + "icons": "bi bi-buildings", + "index": "web.team.gonganxitong.city", + "name": "城市管理", + "order": "602", + "role": "tech", + "time": "2025-06-16 08:06:42.000" + } + }, "d86e4e63183c8fae4ceb50498b0bcfde": { "meta": { "icons": "bi bi-grid-3x2-gap", "index": "web.team.gonganxitong.domain", - "name": "领域分类", + "name": "领域管理", "order": "508", "role": "tech", "time": "2025-06-04 14:06:42.766" diff --git a/usr/local/export/web.team.yingxiaotuiguang.portal/hash.json b/usr/local/export/web.team.yingxiaotuiguang.portal/hash.json index 654d5e8..9578b52 100644 --- a/usr/local/export/web.team.yingxiaotuiguang.portal/hash.json +++ b/usr/local/export/web.team.yingxiaotuiguang.portal/hash.json @@ -8,6 +8,15 @@ "time": "2025-06-04 14:06:42.247" } }, + "0a864d87da6a4a4547dc50fa06849fad": { + "meta": { + "icons": "src/yingxiaotuiguang/feedback.png", + "index": "web.team.yingxiaotuiguang.feedback", + "name": "体验反馈", + "order": "12", + "time": "2025-06-16 08:09:11.031" + } + }, "0bf2c78440fe6242369f63e19b2a5a6e": { "meta": { "icons": "bi bi-card-checklist", @@ -93,12 +102,23 @@ "time": "2025-06-04 14:06:42.254" } }, + "67a9d7f5a02349f08deb34ea88574f40": { + "meta": { + "icons": "src/yingxiaotuiguang/deal.png", + "index": "web.team.yingxiaotuiguang.deal", + "name": "支付记录", + "order": "13", + "role": "leader,worker", + "time": "2025-06-15 11:06:33.207" + } + }, "7816ee4fa117f3d070a549b0d6743338": { "meta": { "icons": "src/yingxiaotuiguang/invite.png", "index": "web.team.yingxiaotuiguang.invite", "name": "推广链接", "order": "3", + "portal": "true", "time": "2025-06-04 14:06:42.258" } }, @@ -122,6 +142,15 @@ "time": "2025-06-04 14:06:42.251" } }, + "a0972419cbc887652430e7d888100ad8": { + "meta": { + "icons": "src/yingxiaotuiguang/document.png", + "index": "web.team.yingxiaotuiguang.document", + "name": "文档教程", + "order": "11", + "time": "2025-06-16 08:09:11.032" + } + }, "a6c4ec094caea0612aa66f5137927877": { "meta": { "icons": "bi bi-pencil-square", @@ -142,16 +171,6 @@ "time": "2025-06-04 14:06:42.250" } }, - "a8695f4e8b1d0424e122fafd652a4070": { - "meta": { - "icons": "src/yingxiaotuiguang/stat.png", - "index": "web.team.yingxiaotuiguang.stat", - "name": "数据统计", - "order": "5", - "role": "leader,worker", - "time": "2025-06-04 14:06:42.256" - } - }, "ab5274a2914805c93d8e3cd98763815a": { "meta": { "icons": "/p/src/gonganxitong/credit.png?pod=20240724-community", @@ -161,6 +180,15 @@ "time": "2025-06-04 14:06:42.256" } }, + "b5db2d49aef7fc93f2573bc477b8e818": { + "meta": { + "icons": "src/yingxiaotuiguang/visite.png", + "index": "web.team.yingxiaotuiguang.visite", + "name": "访问记录", + "order": "4", + "time": "2025-06-14 15:25:02.976" + } + }, "c72c03674dfc11931215813632da5bce": { "meta": { "icons": "src/yingxiaotuiguang/invite.png", @@ -174,8 +202,7 @@ "icons": "src/yingxiaotuiguang/bonus.png", "index": "web.team.yingxiaotuiguang.bonus", "name": "奖励激励", - "order": "4", - "role": "leader,worker", + "order": "5", "time": "2025-06-04 14:06:42.248" } },