From e707c4e3cae3d27bdb11d4454f8376e1208361b5 Mon Sep 17 00:00:00 2001 From: shy Date: Mon, 5 May 2025 14:15:24 +0800 Subject: [PATCH] add some --- src/gonganxitong/portal.css | 43 ++++++++++++++++---------------- src/gonganxitong/portal.go | 15 +++++++---- src/gonganxitong/portal.js | 11 +++++--- src/renzhengshouquan/auth.css | 2 ++ src/renzhengshouquan/auth.go | 4 +-- src/renzhengshouquan/portal.go | 6 ++--- src/renzhengshouquan/portal.json | 3 ++- src/renzhengshouquan/profile.css | 2 +- src/renzhengshouquan/profile.go | 9 +++++-- 9 files changed, 55 insertions(+), 40 deletions(-) create mode 100644 src/renzhengshouquan/auth.css diff --git a/src/gonganxitong/portal.css b/src/gonganxitong/portal.css index c8d5a13..5098dce 100644 --- a/src/gonganxitong/portal.css +++ b/src/gonganxitong/portal.css @@ -8,7 +8,10 @@ $body.width1 fieldset.Action div.input.float table { width:100%; } $body.width1 div.upload.float div.action { display:flex; } $body.width1 div.upload.float div.action div.item.upload { flex-grow:1; } $body.width1 div.upload.float div.action div.item.upload input { width:100%; } -$action { background-color:transparent; position:absolute; top:0; width:100%; z-index:1; } +$body.width1 $action div.item.text.filter { flex-grow:1; } +$action { background-color:transparent; position:absolute; top:0; width:100%; z-index:1; display:none; } +$action div.item:last-child { margin-right:10px; } +$action div.item.text.filter input { width:100%; } $action div.item { margin-left:10px; margin-right:0; padding:0; height:48px; align-items:center; } $action div.item.button input { border:none; background-color:var(--plugin-bg-color); color:var(--notice-bg-color); min-width:60px; display:unset; } $action div.item.button input:hover { background-color:var(--hover-bg-color); } @@ -17,8 +20,7 @@ $action div.item.button i { display:none; } $output div.title div.action div.item.notice input { background-color:var(--notice-bg-color); color:var(--notice-fg-color); } $output { background-color:var(--plugin-bg-color); } $output>div.header { background-image:linear-gradient(var(--notice-bg-color), var(--plugin-bg-color)); height:240px; width:100%; position:absolute; left:0; } -body.light $output>div.header { background-image:linear-gradient(#dbe7fe, var(--plugin-bg-color)); height:240px; width:100%; position:absolute; left:0; } -// body.light $output>div.header { background-image:url("/p/src/gonganxitong/portal-header.png?pod=20240724-community"); } +$body.light $output>div.header { background-image:linear-gradient(#dbe7fe, var(--plugin-bg-color)); height:240px; width:100%; position:absolute; left:0; } $output>div.header img { height:100%; width:100%; object-fit:cover; } $output>div.action>div.list { margin:0 10px; } $output div.output>div.code { font-size:16px; position:relative; } @@ -40,16 +42,12 @@ $output>div>div.list.mynotice>span:not(.title) { white-space:pre; } $output>div>div.list.mynotice>span:first-child { background-color:var(--hover-bg-color); color:var(--notice-bg-color); padding:0 5px; margin-right:5px; } $output>div>div.list.mynotice>span:last-child { color:gray; } $output>div>div.list.mylist>fieldset>div.output { max-height:none !important; } -$output>div>div.list>div.title { - font-weight:bold; display:flex; align-items:center; - border-left:var(--box-notice3); padding-left:10px; -} -body.mobile $output fieldset.story>div.output>div.place_info { min-height:68px; } -body.mobile $output fieldset.story>div.output>div.place_info>div.item>div.output { background-color:var(--plugin-bg-color); } -body.mobile $output fieldset.story>div.output>table.detail tr.user_name { display:none; } -body.mobile $output fieldset.story>div.output>table.detail tr.user_avatar { display:none; } -body.mobile $output fieldset.story>div.output>table.detail tr.created_at { display:none; } - +$output>div>div.list>div.title { font-weight:bold; display:flex; align-items:center; border-left:var(--box-notice3); padding-left:10px; } +body.width1 $output fieldset.story>div.output>div.place_info { min-height:68px; } +body.width1 $output fieldset.story>div.output>div.place_info>div.item>div.output { background-color:var(--plugin-bg-color); } +body.width1 $output fieldset.story>div.output>table.detail tr.user_name { display:none; } +body.width1 $output fieldset.story>div.output>table.detail tr.user_avatar { display:none; } +body.width1 $output fieldset.story>div.output>table.detail tr.created_at { display:none; } $output>div>div.list.myallow>div.title { border-left:var(--box-danger3); padding-left:10px; } $output>div>div.list.myorder>div.title { border-left:var(--box-danger3); padding-left:10px; } $output>div>div.list>div.title span:first-child { flex-grow:1; } @@ -73,6 +71,7 @@ $output>div>div.list>div.output>div.item.index i { font-size:22px; padding:5px; $output>div>div.list>div.output>div.item.index span { font-size:12px; white-space:pre; max-width:80px; } $output>div>div.list div.code { text-align:center; } $output>div>div.list div.code input { background-color:var(--notice-bg-color); color:var(--notice-fg-color); font-size:18px; margin:auto; min-width:200px; display:block; margin-top:10px; } +$output>div>div.list fieldset.story>div.output { background-color:var(--plugin-bg-color); } $output div.head>img { height:200px; width:100%; object-fit:cover; } $output div.head div.item.card img { border-radius:25px; } $output div.head>div.item.card div.title div.item.button i { display:none; } @@ -89,13 +88,10 @@ $output div.item.card div.title span.auth { font-size:14px; padding:3px; } $output div.item.card div.title span.time { position:absolute; right:0; font-size:12px; color:gray; } $output div.item.card div.title span:first-child { word-break:break-all; } $output fieldset.story>div.item.card div.title span { line-height:26px; } -// $output div.item.card>div.output>div.container>div.title span { line-height:26px; } -// $output div.item.title { border-left:var(--box-notice3); margin-left:10px; padding:10px; background-color:var(--output-bg-color); } $output div.item.title { border-left:var(--box-notice3); margin-left:10px; padding:10px; background-color:var(--plugin-bg-color); } $output div.item.title.dealList { border-left:var(--box-danger3); } $output div.item.title.meetList { border-left:var(--box-danger3); } $body div.inputs>div.input.float>div.action { display:flex; } - $output div.item.card div.title div.action input { margin-right:0; } $output div.item.card div.status span { word-break:break-all; } $output div.item.card img { border-radius:5px; padding:0; margin:0; margin-right:10px; height:48px; width:48px; min-width:48px; object-fit:cover; } @@ -104,10 +100,15 @@ $output div.item.card div.container>div.action { position:relative; float:right; body:not(.mobile) $output div.item.card div.container>div.action { display:none; } body.mobile $output div.item.card div.container>div.title>span.status { margin-left:auto; } $output div.item.card.sticky>div.output { background-color:var(--plugin-bg-color); color:var(--notice-bg-color); } -$action div.item.notice input[type=button] { border:var(--box-notice); color:var(--notice-bg-color); } +// $action div.item.notice input[type=button] { border:var(--box-notice); color:var(--notice-bg-color); } +$action div.item input[type=button] { min-width:20px; padding:0 5px; } +$action div.item input[type=button] { color:var(--notice-bg-color); } +// $action div.item input[type=button] { border:var(--box-notice); color:var(--notice-bg-color); } +// $action div.item.text input { border:var(--box-notice); color:var(--notice-bg-color); } +// $action div.item.text input { color:var(--notice-bg-color); } +// $action div.item.text i { color:var(--notice-bg-color); } $action div.item.danger input[type=button] { border:var(--box-danger); color:var(--danger-bg-color); } $output input.notice[type=button]:hover { border:var(--box-notice); background-color:var(--notice-bg-color); color:var(--notice-fg-color); } -// $output input.notice[type=button]:not(:hover) { border:var(--box-notice); background-color:transparent; color:var(--notice-bg-color); } $output input.notice[type=button]:not(:hover) { background-color:transparent; color:var(--notice-bg-color); } $output input.danger[type=button]:not(:hover) { color:var(--danger-bg-color); } $output input.danger[type=button]:hover { background-color:var(--danger-bg-color); color:var(--danger-fg-color); } @@ -157,8 +158,8 @@ $output>fieldset.story>div.output div.item.card>div.output { padding:10px; width $output>fieldset.story>div.output div.item.card.loaded>div.output { background-color:var(--plugin-bg-color); } $output>fieldset.story>div.output div.item.card>div.output div.output { padding:5px 0; white-space:pre-line; } $output fieldset.story.form>div.output>div.code>input[type=button] { font-size:18px; margin:10px; height:36px; } -$output>fieldset.story.web.team.renzhengshouquan.profile { margin-top:0; } -$output>fieldset.story.web.team.credit { margin-top:0; } +// $output>fieldset.story.web.team.renzhengshouquan.profile { margin-top:0; } +// $output>fieldset.story.web.team.credit { margin-top:0; } $output>fieldset.story.web.team.credit>div.output>div.code { margin-top:64px; } $output>fieldset.message div.tabs span.select { border-top:var(--box-border); } $output>fieldset.message div.tabs span.create.select { border-top:var(--box-danger); } @@ -182,7 +183,6 @@ body.dark $output>div>div.list.mynotice>span:first-child { background-color:var( body.width1 fieldset.panel.Action>div.output { background-color:var(--plugin-bg-color); } body.width1 div.input.float { margin:0; width:100% !important; max-width:100% !important; } body.width1 div.input.float input[name=submit] { background-color:var(--notice-bg-color); color:var(--notice-fg-color); } -// body.width1 $output img.qrcode { width:100%; margin:0; } body.width1 $output>div>div.list>div.title div.action div.item.filter input:focus { width:200px; transition:width 0.5s; } body.width6 $output>div.output>div.code img.avatar { top:183px; } body:not(.width1) $output div.item.card { flex-direction:row-reverse; } @@ -197,5 +197,4 @@ body:not(.mobile) $action div.item.notice input[type=button]:hover { background- body.en $output>fieldset table.content td:first-child { max-width:190px; min-width:100px; width:unset;} body.en $output>fieldset table.content td { padding: 10px 5px; } fieldset.web.team.storage.file div.item.card div.title span:first-child { flex-grow:1; } -// fieldset.web.team.renzhengshouquan.profile>div.output div.code { margin-top:60px; margin-bottom:240px; } $fieldset { box-shadow:none; } diff --git a/src/gonganxitong/portal.go b/src/gonganxitong/portal.go index 57a2188..475a3e0 100644 --- a/src/gonganxitong/portal.go +++ b/src/gonganxitong/portal.go @@ -124,6 +124,9 @@ func (s Portal) Run(m *ice.Message, arg ...string) { m.Cmdy(arg) } } + if len(arg) > 0 && strings.HasSuffix(arg[0], ".portal") { + return + } if kit.IndexOf(arg, mdb.INPUTS) == -1 { s.Place.RewriteAppend(m) } @@ -179,7 +182,11 @@ func (s Portal) PlaceListOption(m *ice.Message, arg ...string) *ice.Message { return msg } msg.Push(s.Keys(s.UserPlace, model.ROLE), "0") - msg.RenameAppend(model.NAME, s.Keys(s.Place, model.NAME), model.TYPE, s.Keys(s.Place, model.TYPE)) + msg.RenameAppend(model.NAME, s.Keys(s.Place, model.NAME), + model.INFO, s.Keys(s.Place, model.INFO), + model.AVATAR, s.Keys(s.Place, model.AVATAR), + model.TYPE, s.Keys(s.Place, model.TYPE), + ) s.SelectJoin(msg, s.Street, model.NAME, model.CITY_UID) s.SelectJoinCity(msg) s.SelectJoinAuth(msg) @@ -188,10 +195,8 @@ func (s Portal) PlaceListOption(m *ice.Message, arg ...string) *ice.Message { msg.Append(model.DASHBOARD_UID, "") } s.Place.RewriteAppend(msg) - m.Options(msg.AppendSimple( - s.Keys(s.Place, model.NAME), s.Keys(s.Place, model.TYPE), s.Keys(s.UserPlace, model.ROLE), - model.CITY_NAME, s.Keys(s.Street, model.NAME), - model.MEMBER_STATUS, + m.Options(msg.AppendSimple(model.CITY_NAME, s.Keys(s.Street, model.NAME), + s.Keys(s.Place, model.NAME), s.Keys(s.Place, model.TYPE), s.Keys(s.UserPlace, model.ROLE), model.MEMBER_STATUS, model.AUTH_STATUS, model.AUTH_NAME, model.AUTH_INFO, model.AUTH_AVATAR, model.AUTH_BACKGROUND, model.DASHBOARD_UID, )) m.Option(model.STREET_NAME, msg.Append(s.Keys(s.Street, model.NAME))) diff --git a/src/gonganxitong/portal.js b/src/gonganxitong/portal.js index c63618d..8db9c13 100644 --- a/src/gonganxitong/portal.js +++ b/src/gonganxitong/portal.js @@ -29,7 +29,7 @@ Volcanos(chat.ONIMPORT, { {view: html.TITLE, list: [value.auth_name||value._name, can.onimport.authView(can, value), {text: [value.__type, "", [mdb.TYPE, value._type, value._type_style]]}, value._role != "visitor" && {text: [value.__role, "", [aaa.ROLE, value._role, value._role_style]]}, ]}, - {view: html.STATUS, list: [value.city_name, value._street, can.ConfHelp(), can.user.info.titles]}, + can.ConfIndex() != "web.team.renzhengshouquan.portal" && {view: html.STATUS, list: [value.city_name, value._street, can.ConfHelp(), can.user.info.titles]}, {view: html.STATUS, list: [value.auth_info||value._info]}, ] }, myTrans: function(can, value) { @@ -54,11 +54,13 @@ Volcanos(chat.ONIMPORT, { var USER_PLACE_ROLE = can.Conf("_user_place_role"), STREET_NAME = can.Conf("_street_name") can.user.isMobile && (can.db.hash = []) can.isCmdMode() && (can.db.hash = can.base.Obj(can.misc.SearchHash(can), can.db.hash)), can.db.hash[0] && can.onexport.place(can, can.db.hash[0]) + if (can.sup._goback) { can.db.hash = can.db.hash.slice(0, 1) } if (can.db.hash.length > 1 && can.db.hash[1]) { can.sup.current = can.onimport.myTrans(can, kit.Dict(msg.OptionSimple(PLACE_UID, PLACE_NAME, PLACE_TYPE, USER_PLACE_ROLE, STREET_NAME, CITY_NAME))) return can.runAction({}, ctx.COMMAND, [can.db.hash[1]], function(msg) { msg.Table(function(value) { value.args = [can.db.hash[0]].concat(can.db.hash.slice(2)), can.onimport.myStory(can, value) }) }) + } else { } can.ui = can.page.Append(can, can._output, [{view: html.HEADER}, {view: html.OUTPUT, list: ["myplace.list", "myinit.list", "mycount.list", "mynotice.list", "myindex.list", "myallow.list", "mylist.list"]}, @@ -145,7 +147,7 @@ Volcanos(chat.ONIMPORT, { can.page.Append(can, target, msg.Table(function(value) { if (value.enable == ice.FALSE) { return } if ((value.portal || value.public) && can.page.tagis(can._output, "div.output.public")) { can.onimport.myTitle(can, value.index, value.name, can.ui.mylist), can.onmotion.toggle(can, can.ui.mylist, true) - can.onappend.plugin(can, {index: value.index, args: [can.sup.current._uid]}, function(sub) { + can.onappend.plugin(can, {index: value.index, args: [can.sup.current._uid], width: can.ConfWidth()-40}, function(sub) { sub.onimport._field = function(msg) { msg.Table(function(value) { can.onimport.myStory(can, value) }) } sub.onexport.output = function(_sub, msg) { _sub.onaction.carddetail = function(event, _sub, value) { @@ -271,9 +273,10 @@ Volcanos(chat.ONEXPORT, { can.ui.myallow && can.onmotion.toggle(can, can.ui.myallow, status && (value._role == "creator" || parseInt(value._role) > 0 || can.page.Select(can, can.ui.myallow, "div.item.index.role."+value._role).length > 0)) can.ui.myindex && can.onmotion.toggle(can, can.ui.myindex, status) if (!can.onmotion.cache(can, function() { return value._uid }, can.ui.header) && value.auth_background) { - can.page.Append(can, can.ui.header, [{img: value.auth_background}]) - can.page.ClassList.set(can, can._output, "background", !!can.ui.header.innerHTML) + // can.page.Append(can, can.ui.header, [{img: value.auth_background}]) + // can.page.ClassList.set(can, can._output, "background", !!can.ui.header.innerHTML) } + can.onimport.myOption(can.sup) }, index: function(can, value, role) { role = role||value._role can.ui.role && can.onmotion.toggle(can, can.ui.role, value._role == "creator") diff --git a/src/renzhengshouquan/auth.css b/src/renzhengshouquan/auth.css new file mode 100644 index 0000000..e233c3f --- /dev/null +++ b/src/renzhengshouquan/auth.css @@ -0,0 +1,2 @@ +body.width1 $output div.item.card div.title span.type { margin-left:auto; } +$output div.item.card div.title div.action { top:24px; } \ No newline at end of file diff --git a/src/renzhengshouquan/auth.go b/src/renzhengshouquan/auth.go index a942ebd..83e58dc 100644 --- a/src/renzhengshouquan/auth.go +++ b/src/renzhengshouquan/auth.go @@ -40,13 +40,13 @@ func (s Auth) List(m *ice.Message, arg ...string) { case AuthCreate: m.PushButton(s.Issue, s.Remove) case AuthIssued: - m.PushButton(s.Revoke, s.SetScore) + m.PushButton(s.SetScore, s.Revoke) case AuthRevoked: m.PushButton(s.Issue, s.Remove) default: m.PushButton() } - }).Display("") + }).Display("").DisplayCSS("") } func (s Auth) SelectList(m *ice.Message, arg ...string) { s.Table.SelectList(m, arg...).RenameAppend(model.TYPE, model.AUTH_TYPE, model.STATUS, model.AUTH_STATUS) diff --git a/src/renzhengshouquan/portal.go b/src/renzhengshouquan/portal.go index fe2f985..c4cd0e6 100644 --- a/src/renzhengshouquan/portal.go +++ b/src/renzhengshouquan/portal.go @@ -12,6 +12,7 @@ import ( type Portal struct { guanlixitong.Portal + fields string `data:"name,info,avatar"` placeCreate string `name:"placeCreate auth_name* auth_info auth_type*:select from_uid*:select" role:"void"` } @@ -41,9 +42,8 @@ func (s Portal) PlaceCreate(m *ice.Message, arg ...string) { } func (s Portal) PlaceList(m *ice.Message, arg ...string) *ice.Message { s.Tables(m, s.Place).FieldsWithCreatedAT(m, s.UserPlace, - model.AUTH_UID, model.AUTH_NAME, model.AUTH_INFO, model.AUTH_TYPE, model.USER_AUTH_ROLE, model.AUTH_STATUS, - model.AUTH_AVATAR, - ) + model.AUTH_UID, model.AUTH_NAME, model.AUTH_INFO, model.AUTH_AVATAR, + model.AUTH_TYPE, model.AUTH_STATUS, model.USER_AUTH_ROLE) if len(arg) == 1 { m.Cmdy(s.UserPlace, s.Table.Select, s.Key(s.UserPlace, model.USER_UID), arg[0]) } else if len(arg) == 2 { diff --git a/src/renzhengshouquan/portal.json b/src/renzhengshouquan/portal.json index 2b92df1..b79b852 100644 --- a/src/renzhengshouquan/portal.json +++ b/src/renzhengshouquan/portal.json @@ -4,6 +4,7 @@ "certList": "证件", "memberList": "成员", "issue": "认证", "revoke": "吊销", "enter": "进入", "verify": "验证", + "setScore": "排序", "style": { "issue": "notice", "revoke": "danger", @@ -43,7 +44,7 @@ } }, "auth_type": { - "root": "官方", + "root": "平台", "city": "城市", "personal": "个人", "service": "服务", diff --git a/src/renzhengshouquan/profile.css b/src/renzhengshouquan/profile.css index a57ff4a..12b920a 100644 --- a/src/renzhengshouquan/profile.css +++ b/src/renzhengshouquan/profile.css @@ -1,5 +1,5 @@ $output>div>div.title { border-left:var(--box-notice3); padding:10px; margin-left:10px; } $output>div.from>div.title { border-left:var(--box-danger3); } -$output div.item.card div.title span.type { margin-left:auto; } +body.width1 $output div.item.card div.title span.type { margin-left:auto; } $output div.item.card div.title div.action { top:24px; } $output>div.head { margin-bottom:0; } \ No newline at end of file diff --git a/src/renzhengshouquan/profile.go b/src/renzhengshouquan/profile.go index eb3057d..18a81b8 100644 --- a/src/renzhengshouquan/profile.go +++ b/src/renzhengshouquan/profile.go @@ -35,18 +35,22 @@ func (s profile) List(m *ice.Message, arg ...string) { } s.Select(m, model.UID, arg[0]).Action() name := m.Append(model.NAME) + button := []ice.Any{} + kit.If(s.IsWorker(m), func() { button = append(button, s.Modify) }) switch AuthType(kit.Int(m.Append(model.AUTH_TYPE))) { case AuthService: - kit.If(s.IsWorker(m), func() { m.PushAction(s.Modify, s.Enter) }, func() { m.PushAction() }) s.SelectJoinRecent(m, "") s.SelectJoinService(m) name = kit.JoinWord(m.Append(model.CITY_NAME), m.Append(model.STREET_NAME), m.Append(model.PLACE_NAME)) + kit.If(s.IsWorker(m), func() { button = append(button, s.Enter) }) case AuthCompany: - kit.If(s.IsWorker(m), func() { m.PushAction(s.Modify, s.Enter) }, func() { m.PushAction() }) + // kit.If(s.IsWorker(m), func() { m.PushAction(s.Modify, s.Enter) }, func() { m.PushAction() }) case AuthPersonal: s.SelectJoinUser(m) case AuthCity: + case AuthRoot: } + m.PushAction(button...) m.EchoQRCode(s.Link(m, arg[0], m.PrefixKey())).Echo(name) m.Display("").DisplayCSS("") s.RewriteAppend(m) @@ -79,6 +83,7 @@ func (s profile) MemberList(m *ice.Message, arg ...string) { m.PushButton() } }) + s.authSort(m) s.RewriteAppend(m) } func (s profile) ServiceList(m *ice.Message, arg ...string) {