add simple tweet share support

pull/264/head
Michael Li 2 years ago
parent 1a4e277a8e
commit a79171e731
No known key found for this signature in database

@ -9,6 +9,7 @@ All notable changes to paopao-ce are documented in this file.
- add custom comment sort strategy support [#243](https://github.com/rocboss/paopao-ce/pull/243) - add custom comment sort strategy support [#243](https://github.com/rocboss/paopao-ce/pull/243)
- add `RedisCacheIndex` feature [#250](https://github.com/rocboss/paopao-ce/pull/250) - add `RedisCacheIndex` feature [#250](https://github.com/rocboss/paopao-ce/pull/250)
- add `Sentry` feature [#258](https://github.com/rocboss/paopao-ce/pull/258) - add `Sentry` feature [#258](https://github.com/rocboss/paopao-ce/pull/258)
- add simple tweet share feature(just copy tweet link to clipboard now) support [#264](https://github.com/rocboss/paopao-ce/pull/264)
- add default tweet max length configure in web/.env support. [&a1160ca](https://github.com/rocboss/paopao-ce/commit/a1160ca79380445157146d9eae1710543c153cce 'commit a1160ca') - add default tweet max length configure in web/.env support. [&a1160ca](https://github.com/rocboss/paopao-ce/commit/a1160ca79380445157146d9eae1710543c153cce 'commit a1160ca')
Set the value of `VITE_DEFAULT_TWEET_MAX_LENGTH` in file web/.env to change the tweet max default length. Set the value of `VITE_DEFAULT_TWEET_MAX_LENGTH` in file web/.env to change the tweet max default length.
``` ```

@ -26,6 +26,7 @@ type Post struct {
UserID int64 `json:"user_id"` UserID int64 `json:"user_id"`
CommentCount int64 `json:"comment_count"` CommentCount int64 `json:"comment_count"`
CollectionCount int64 `json:"collection_count"` CollectionCount int64 `json:"collection_count"`
ShareCount int64 `json:"share_count"`
UpvoteCount int64 `json:"upvote_count"` UpvoteCount int64 `json:"upvote_count"`
Visibility PostVisibleT `json:"visibility"` Visibility PostVisibleT `json:"visibility"`
IsTop int `json:"is_top"` IsTop int `json:"is_top"`
@ -45,6 +46,7 @@ type PostFormated struct {
Contents []*PostContentFormated `json:"contents"` Contents []*PostContentFormated `json:"contents"`
CommentCount int64 `json:"comment_count"` CommentCount int64 `json:"comment_count"`
CollectionCount int64 `json:"collection_count"` CollectionCount int64 `json:"collection_count"`
ShareCount int64 `json:"share_count"`
UpvoteCount int64 `json:"upvote_count"` UpvoteCount int64 `json:"upvote_count"`
Visibility PostVisibleT `json:"visibility"` Visibility PostVisibleT `json:"visibility"`
IsTop int `json:"is_top"` IsTop int `json:"is_top"`
@ -71,6 +73,7 @@ func (p *Post) Format() *PostFormated {
Contents: []*PostContentFormated{}, Contents: []*PostContentFormated{},
CommentCount: p.CommentCount, CommentCount: p.CommentCount,
CollectionCount: p.CollectionCount, CollectionCount: p.CollectionCount,
ShareCount: p.ShareCount,
UpvoteCount: p.UpvoteCount, UpvoteCount: p.UpvoteCount,
Visibility: p.Visibility, Visibility: p.Visibility,
IsTop: p.IsTop, IsTop: p.IsTop,

@ -0,0 +1 @@
ALTER TABLE `p_post` DROP COLUMN `share_count`;

@ -0,0 +1 @@
ALTER TABLE `p_post` ADD COLUMN `share_count` BIGINT unsigned NOT NULL DEFAULT 0;

@ -0,0 +1 @@
ALTER TABLE p_post DROP COLUMN share_count;

@ -0,0 +1 @@
ALTER TABLE p_post ADD COLUMN share_count BIGINT NOT NULL DEFAULT 0; -- 分享数

@ -0,0 +1 @@
ALTER TABLE `p_post` DROP COLUMN `share_count`;

@ -0,0 +1 @@
ALTER TABLE `p_post` ADD COLUMN `share_count` integer NOT NULL DEFAULT 0;

@ -137,6 +137,7 @@ CREATE TABLE `p_post` (
`comment_count` bigint unsigned NOT NULL DEFAULT '0' COMMENT '评论数', `comment_count` bigint unsigned NOT NULL DEFAULT '0' COMMENT '评论数',
`collection_count` bigint unsigned NOT NULL DEFAULT '0' COMMENT '收藏数', `collection_count` bigint unsigned NOT NULL DEFAULT '0' COMMENT '收藏数',
`upvote_count` bigint unsigned NOT NULL DEFAULT '0' COMMENT '点赞数', `upvote_count` bigint unsigned NOT NULL DEFAULT '0' COMMENT '点赞数',
`share_count` bigint unsigned NOT NULL DEFAULT '0' COMMENT '分享数',
`visibility` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '可见性 0公开 1私密 2好友可见', `visibility` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '可见性 0公开 1私密 2好友可见',
`is_top` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '是否置顶', `is_top` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '是否置顶',
`is_essence` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '是否精华', `is_essence` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '是否精华',

@ -114,6 +114,7 @@ CREATE TABLE p_post (
comment_count BIGINT NOT NULL DEFAULT 0, comment_count BIGINT NOT NULL DEFAULT 0,
collection_count BIGINT NOT NULL DEFAULT 0, collection_count BIGINT NOT NULL DEFAULT 0,
upvote_count BIGINT NOT NULL DEFAULT 0, upvote_count BIGINT NOT NULL DEFAULT 0,
share_count BIGINT NOT NULL DEFAULT 0,
visibility SMALLINT NOT NULL DEFAULT 0, -- 可见性 0公开 1私密 2好友可见 visibility SMALLINT NOT NULL DEFAULT 0, -- 可见性 0公开 1私密 2好友可见
is_top SMALLINT NOT NULL DEFAULT 0, -- 是否置顶 is_top SMALLINT NOT NULL DEFAULT 0, -- 是否置顶
is_essence SMALLINT NOT NULL DEFAULT 0, -- 是否精华 is_essence SMALLINT NOT NULL DEFAULT 0, -- 是否精华

@ -158,6 +158,7 @@ CREATE TABLE "p_post" (
"comment_count" integer NOT NULL, "comment_count" integer NOT NULL,
"collection_count" integer NOT NULL, "collection_count" integer NOT NULL,
"upvote_count" integer NOT NULL, "upvote_count" integer NOT NULL,
"share_count" integer NOT NULL,
"is_top" integer NOT NULL, "is_top" integer NOT NULL,
"is_essence" integer NOT NULL, "is_essence" integer NOT NULL,
"is_lock" integer NOT NULL, "is_lock" integer NOT NULL,

File diff suppressed because one or more lines are too long

@ -1,4 +1,4 @@
import{k as M,cE as O,cF as u,m as f,c as P,f as i,e as E,cA as N,b as V,d as D,u as G,x as H,j as K,y as $,cf as q,z as a,A as J,r as Q,h as l,b7 as U,cG as X,L as Y,N as Z,cu as oo,an as eo,cv as ro,ct as no,B as so,cx as lo}from"./index-cae59503.js";const to=r=>{const{lineHeight:e,borderRadius:d,fontWeightStrong:b,baseColor:t,dividerColor:v,actionColor:S,textColor1:g,textColor2:s,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,infoColor:o,successColor:I,warningColor:x,errorColor:z,fontSize:T}=r;return Object.assign(Object.assign({},O),{fontSize:T,lineHeight:e,titleFontWeight:b,borderRadius:d,border:`1px solid ${v}`,color:S,titleTextColor:g,iconColor:s,contentTextColor:s,closeBorderRadius:d,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,borderInfo:`1px solid ${u(t,f(o,{alpha:.25}))}`,colorInfo:u(t,f(o,{alpha:.08})),titleTextColorInfo:g,iconColorInfo:o,contentTextColorInfo:s,closeColorHoverInfo:h,closeColorPressedInfo:C,closeIconColorInfo:m,closeIconColorHoverInfo:p,closeIconColorPressedInfo:n,borderSuccess:`1px solid ${u(t,f(I,{alpha:.25}))}`,colorSuccess:u(t,f(I,{alpha:.08})),titleTextColorSuccess:g,iconColorSuccess:I,contentTextColorSuccess:s,closeColorHoverSuccess:h,closeColorPressedSuccess:C,closeIconColorSuccess:m,closeIconColorHoverSuccess:p,closeIconColorPressedSuccess:n,borderWarning:`1px solid ${u(t,f(x,{alpha:.33}))}`,colorWarning:u(t,f(x,{alpha:.08})),titleTextColorWarning:g,iconColorWarning:x,contentTextColorWarning:s,closeColorHoverWarning:h,closeColorPressedWarning:C,closeIconColorWarning:m,closeIconColorHoverWarning:p,closeIconColorPressedWarning:n,borderError:`1px solid ${u(t,f(z,{alpha:.25}))}`,colorError:u(t,f(z,{alpha:.08})),titleTextColorError:g,iconColorError:z,contentTextColorError:s,closeColorHoverError:h,closeColorPressedError:C,closeIconColorError:m,closeIconColorHoverError:p,closeIconColorPressedError:n})},io={name:"Alert",common:M,self:to},co=io,ao=P("alert",` import{k as M,cE as O,cF as u,m as f,c as P,f as i,e as E,cA as N,b as V,d as D,u as G,x as H,j as K,y as $,cf as q,z as a,A as J,r as Q,h as l,b7 as U,cG as X,L as Y,N as Z,cu as oo,an as eo,cv as ro,ct as no,B as so,cx as lo}from"./index-c4000003.js";const to=r=>{const{lineHeight:e,borderRadius:d,fontWeightStrong:b,baseColor:t,dividerColor:v,actionColor:S,textColor1:g,textColor2:s,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,infoColor:o,successColor:I,warningColor:x,errorColor:z,fontSize:T}=r;return Object.assign(Object.assign({},O),{fontSize:T,lineHeight:e,titleFontWeight:b,borderRadius:d,border:`1px solid ${v}`,color:S,titleTextColor:g,iconColor:s,contentTextColor:s,closeBorderRadius:d,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,borderInfo:`1px solid ${u(t,f(o,{alpha:.25}))}`,colorInfo:u(t,f(o,{alpha:.08})),titleTextColorInfo:g,iconColorInfo:o,contentTextColorInfo:s,closeColorHoverInfo:h,closeColorPressedInfo:C,closeIconColorInfo:m,closeIconColorHoverInfo:p,closeIconColorPressedInfo:n,borderSuccess:`1px solid ${u(t,f(I,{alpha:.25}))}`,colorSuccess:u(t,f(I,{alpha:.08})),titleTextColorSuccess:g,iconColorSuccess:I,contentTextColorSuccess:s,closeColorHoverSuccess:h,closeColorPressedSuccess:C,closeIconColorSuccess:m,closeIconColorHoverSuccess:p,closeIconColorPressedSuccess:n,borderWarning:`1px solid ${u(t,f(x,{alpha:.33}))}`,colorWarning:u(t,f(x,{alpha:.08})),titleTextColorWarning:g,iconColorWarning:x,contentTextColorWarning:s,closeColorHoverWarning:h,closeColorPressedWarning:C,closeIconColorWarning:m,closeIconColorHoverWarning:p,closeIconColorPressedWarning:n,borderError:`1px solid ${u(t,f(z,{alpha:.25}))}`,colorError:u(t,f(z,{alpha:.08})),titleTextColorError:g,iconColorError:z,contentTextColorError:s,closeColorHoverError:h,closeColorPressedError:C,closeIconColorError:m,closeIconColorHoverError:p,closeIconColorPressedError:n})},io={name:"Alert",common:M,self:to},co=io,ao=P("alert",`
line-height: var(--n-line-height); line-height: var(--n-line-height);
border-radius: var(--n-border-radius); border-radius: var(--n-border-radius);
position: relative; position: relative;

@ -1 +1 @@
import{_ as N}from"./post-skeleton-357fcaec.js";import{_ as z}from"./main-nav.vue_vue_type_style_index_0_lang-e781f688.js";import{d as A,r as o,a2 as R,Y as t,a4 as a,a5 as c,ai as S,W as n,a3 as l,a7 as m,ab as V,ac as F,$ as P,a6 as $,Z as s,aa as _,b3 as q,al as D}from"./index-cae59503.js";import{a as E}from"./formatTime-0c777b4d.js";import{_ as I}from"./List-8db739b6.js";import{_ as L}from"./Pagination-4225ac31.js";import{a as M,_ as O}from"./Skeleton-35da1289.js";const T={key:0,class:"pagination-wrap"},U={key:0,class:"skeleton-wrap"},W={key:1},Y={key:0,class:"empty-wrap"},Z={class:"bill-line"},j=A({__name:"Anouncement",setup(G){const d=P(),g=S(),v=o(!1),p=o([]),u=o(+g.query.p||1),f=o(20),i=o(0),h=r=>{u.value=r};return R(()=>{}),(r,H)=>{const y=z,k=L,x=N,w=M,B=O,C=I;return n(),t("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:c(()=>[i.value>1?(n(),t("div",T,[a(k,{page:u.value,"onUpdate:page":h,"page-slot":l(d).state.collapsedRight?5:8,"page-count":i.value},null,8,["page","page-slot","page-count"])])):m("",!0)]),default:c(()=>[v.value?(n(),t("div",U,[a(x,{num:f.value},null,8,["num"])])):(n(),t("div",W,[p.value.length===0?(n(),t("div",Y,[a(w,{size:"large",description:"暂无数据"})])):m("",!0),(n(!0),t(V,null,F(p.value,e=>(n(),$(B,{key:e.id},{default:c(()=>[s("div",Z,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:q({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(l(E)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const te=D(j,[["__scopeId","data-v-d4d04859"]]);export{te as default}; import{_ as N}from"./post-skeleton-78bf9d75.js";import{_ as z}from"./main-nav.vue_vue_type_style_index_0_lang-8c0c0f3d.js";import{d as A,r as o,a2 as R,Y as t,a4 as a,a5 as c,ai as S,W as n,a3 as l,a7 as m,ab as V,ac as F,$ as P,a6 as $,Z as s,aa as _,b3 as q,al as D}from"./index-c4000003.js";import{a as E}from"./formatTime-0c777b4d.js";import{_ as I}from"./List-a31806ab.js";import{_ as L}from"./Pagination-9b82781b.js";import{a as M,_ as O}from"./Skeleton-d48bb266.js";const T={key:0,class:"pagination-wrap"},U={key:0,class:"skeleton-wrap"},W={key:1},Y={key:0,class:"empty-wrap"},Z={class:"bill-line"},j=A({__name:"Anouncement",setup(G){const d=P(),g=S(),v=o(!1),p=o([]),u=o(+g.query.p||1),f=o(20),i=o(0),h=r=>{u.value=r};return R(()=>{}),(r,H)=>{const y=z,k=L,x=N,w=M,B=O,C=I;return n(),t("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:c(()=>[i.value>1?(n(),t("div",T,[a(k,{page:u.value,"onUpdate:page":h,"page-slot":l(d).state.collapsedRight?5:8,"page-count":i.value},null,8,["page","page-slot","page-count"])])):m("",!0)]),default:c(()=>[v.value?(n(),t("div",U,[a(x,{num:f.value},null,8,["num"])])):(n(),t("div",W,[p.value.length===0?(n(),t("div",Y,[a(w,{size:"large",description:"暂无数据"})])):m("",!0),(n(!0),t(V,null,F(p.value,e=>(n(),$(B,{key:e.id},{default:c(()=>[s("div",Z,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:q({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(l(E)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const te=D(j,[["__scopeId","data-v-d4d04859"]]);export{te as default};

@ -1 +1 @@
import{_ as b}from"./post-item.vue_vue_type_style_index_0_lang-243e327f.js";import{_ as z}from"./post-skeleton-357fcaec.js";import{_ as B}from"./main-nav.vue_vue_type_style_index_0_lang-e781f688.js";import{d as P,r as n,a2 as R,Y as o,a4 as a,a5 as r,a3 as $,a7 as m,ai as M,bn as N,W as e,ab as S,ac as V,$ as q,ak as E,a6 as F,al as I}from"./index-cae59503.js";import{_ as L}from"./List-8db739b6.js";import{_ as T}from"./Pagination-4225ac31.js";import{a as U,_ as W}from"./Skeleton-35da1289.js";import"./content-c56fd6ac.js";import"./formatTime-0c777b4d.js";import"./Thing-5bd55d3f.js";const Y={key:0,class:"skeleton-wrap"},j={key:1},A={key:0,class:"empty-wrap"},D={key:0,class:"pagination-wrap"},G=P({__name:"Collection",setup(H){const d=q(),g=M();E();const s=n(!1),_=n([]),l=n(+g.query.p||1),c=n(20),p=n(0),i=()=>{s.value=!0,N({page:l.value,page_size:c.value}).then(t=>{s.value=!1,_.value=t.list,p.value=Math.ceil(t.pager.total_rows/c.value),window.scrollTo(0,0)}).catch(t=>{s.value=!1})},v=t=>{l.value=t,i()};return R(()=>{i()}),(t,J)=>{const f=B,h=z,k=U,y=b,w=W,C=L,x=T;return e(),o("div",null,[a(f,{title:"收藏"}),a(C,{class:"main-content-wrap",bordered:""},{default:r(()=>[s.value?(e(),o("div",Y,[a(h,{num:c.value},null,8,["num"])])):(e(),o("div",j,[_.value.length===0?(e(),o("div",A,[a(k,{size:"large",description:"暂无数据"})])):m("",!0),(e(!0),o(S,null,V(_.value,u=>(e(),F(w,{key:u.id},{default:r(()=>[a(y,{post:u},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),p.value>0?(e(),o("div",D,[a(x,{page:l.value,"onUpdate:page":v,"page-slot":$(d).state.collapsedRight?5:8,"page-count":p.value},null,8,["page","page-slot","page-count"])])):m("",!0)])}}});const se=I(G,[["__scopeId","data-v-1e709369"]]);export{se as default}; import{_ as b}from"./post-item.vue_vue_type_style_index_0_lang-bcfe0c37.js";import{_ as z}from"./post-skeleton-78bf9d75.js";import{_ as B}from"./main-nav.vue_vue_type_style_index_0_lang-8c0c0f3d.js";import{d as P,r as n,a2 as R,Y as o,a4 as a,a5 as r,a3 as $,a7 as m,ai as M,bn as N,W as e,ab as S,ac as V,$ as q,ak as E,a6 as F,al as I}from"./index-c4000003.js";import{_ as L}from"./List-a31806ab.js";import{_ as T}from"./Pagination-9b82781b.js";import{a as U,_ as W}from"./Skeleton-d48bb266.js";import"./content-406d5a69.js";import"./formatTime-0c777b4d.js";import"./Thing-9384e24e.js";const Y={key:0,class:"skeleton-wrap"},j={key:1},A={key:0,class:"empty-wrap"},D={key:0,class:"pagination-wrap"},G=P({__name:"Collection",setup(H){const d=q(),g=M();E();const s=n(!1),_=n([]),l=n(+g.query.p||1),c=n(20),p=n(0),i=()=>{s.value=!0,N({page:l.value,page_size:c.value}).then(t=>{s.value=!1,_.value=t.list,p.value=Math.ceil(t.pager.total_rows/c.value),window.scrollTo(0,0)}).catch(t=>{s.value=!1})},v=t=>{l.value=t,i()};return R(()=>{i()}),(t,J)=>{const f=B,h=z,k=U,y=b,w=W,C=L,x=T;return e(),o("div",null,[a(f,{title:"收藏"}),a(C,{class:"main-content-wrap",bordered:""},{default:r(()=>[s.value?(e(),o("div",Y,[a(h,{num:c.value},null,8,["num"])])):(e(),o("div",j,[_.value.length===0?(e(),o("div",A,[a(k,{size:"large",description:"暂无数据"})])):m("",!0),(e(!0),o(S,null,V(_.value,u=>(e(),F(w,{key:u.id},{default:r(()=>[a(y,{post:u},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),p.value>0?(e(),o("div",D,[a(x,{page:l.value,"onUpdate:page":v,"page-slot":$(d).state.collapsedRight?5:8,"page-count":p.value},null,8,["page","page-slot","page-count"])])):m("",!0)])}}});const se=I(G,[["__scopeId","data-v-1e709369"]]);export{se as default};

@ -1 +1 @@
import{d as b,ak as R,W as e,Y as a,Z as o,a4 as s,aa as v,ae as S,al as C,r as l,a2 as U,bF as V,a5 as h,a3 as q,a7 as y,ab as k,ai as D,ac as F,$ as M,a6 as T}from"./index-cae59503.js";import{_ as E}from"./post-skeleton-357fcaec.js";import{_ as L}from"./main-nav.vue_vue_type_style_index_0_lang-e781f688.js";import{_ as W}from"./List-8db739b6.js";import{_ as Y}from"./Pagination-4225ac31.js";import{a as Z,_ as j}from"./Skeleton-35da1289.js";const A={class:"avatar"},G={class:"base-info"},H={class:"username"},J={class:"uid"},K=b({__name:"contact-item",props:{contact:null},setup(c){const p=R(),m=t=>{p.push({name:"user",query:{username:t}})};return(t,n)=>{const _=S;return e(),a("div",{class:"contact-item",onClick:n[0]||(n[0]=u=>m(c.contact.username))},[o("div",A,[s(_,{size:"large",src:c.contact.avatar},null,8,["src"])]),o("div",G,[o("div",H,[o("strong",null,v(c.contact.nickname),1),o("span",null," @"+v(c.contact.username),1)]),o("div",J,"UID. "+v(c.contact.user_id),1)])])}}});const O=C(K,[["__scopeId","data-v-08ee9b2e"]]),Q={key:0,class:"skeleton-wrap"},X={key:1},ee={key:0,class:"empty-wrap"},te={key:0,class:"pagination-wrap"},ne=b({__name:"Contacts",setup(c){const p=M(),m=D(),t=l(!1),n=l([]),_=l(+m.query.p||1),u=l(20),d=l(0),$=i=>{_.value=i,g()};U(()=>{g()});const g=(i=!1)=>{n.value.length===0&&(t.value=!0),V({page:_.value,page_size:u.value}).then(r=>{t.value=!1,n.value=r.list,d.value=Math.ceil(r.pager.total_rows/u.value),i&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(r=>{t.value=!1})};return(i,r)=>{const w=L,x=E,z=Z,B=O,I=j,N=W,P=Y;return e(),a(k,null,[o("div",null,[s(w,{title:"好友"}),s(N,{class:"main-content-wrap",bordered:""},{default:h(()=>[t.value?(e(),a("div",Q,[s(x,{num:u.value},null,8,["num"])])):(e(),a("div",X,[n.value.length===0?(e(),a("div",ee,[s(z,{size:"large",description:"暂无数据"})])):y("",!0),(e(!0),a(k,null,F(n.value,f=>(e(),T(I,{key:f.user_id},{default:h(()=>[s(B,{contact:f},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),d.value>0?(e(),a("div",te,[s(P,{page:_.value,"onUpdate:page":$,"page-slot":q(p).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):y("",!0)],64)}}});const ue=C(ne,[["__scopeId","data-v-3b2bf978"]]);export{ue as default}; import{d as b,ak as R,W as e,Y as a,Z as o,a4 as s,aa as v,ae as S,al as C,r as l,a2 as U,bF as V,a5 as h,a3 as q,a7 as y,ab as k,ai as D,ac as F,$ as M,a6 as T}from"./index-c4000003.js";import{_ as E}from"./post-skeleton-78bf9d75.js";import{_ as L}from"./main-nav.vue_vue_type_style_index_0_lang-8c0c0f3d.js";import{_ as W}from"./List-a31806ab.js";import{_ as Y}from"./Pagination-9b82781b.js";import{a as Z,_ as j}from"./Skeleton-d48bb266.js";const A={class:"avatar"},G={class:"base-info"},H={class:"username"},J={class:"uid"},K=b({__name:"contact-item",props:{contact:null},setup(c){const p=R(),m=t=>{p.push({name:"user",query:{username:t}})};return(t,n)=>{const _=S;return e(),a("div",{class:"contact-item",onClick:n[0]||(n[0]=u=>m(c.contact.username))},[o("div",A,[s(_,{size:"large",src:c.contact.avatar},null,8,["src"])]),o("div",G,[o("div",H,[o("strong",null,v(c.contact.nickname),1),o("span",null," @"+v(c.contact.username),1)]),o("div",J,"UID. "+v(c.contact.user_id),1)])])}}});const O=C(K,[["__scopeId","data-v-08ee9b2e"]]),Q={key:0,class:"skeleton-wrap"},X={key:1},ee={key:0,class:"empty-wrap"},te={key:0,class:"pagination-wrap"},ne=b({__name:"Contacts",setup(c){const p=M(),m=D(),t=l(!1),n=l([]),_=l(+m.query.p||1),u=l(20),d=l(0),$=i=>{_.value=i,g()};U(()=>{g()});const g=(i=!1)=>{n.value.length===0&&(t.value=!0),V({page:_.value,page_size:u.value}).then(r=>{t.value=!1,n.value=r.list,d.value=Math.ceil(r.pager.total_rows/u.value),i&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(r=>{t.value=!1})};return(i,r)=>{const w=L,x=E,z=Z,B=O,I=j,N=W,P=Y;return e(),a(k,null,[o("div",null,[s(w,{title:"好友"}),s(N,{class:"main-content-wrap",bordered:""},{default:h(()=>[t.value?(e(),a("div",Q,[s(x,{num:u.value},null,8,["num"])])):(e(),a("div",X,[n.value.length===0?(e(),a("div",ee,[s(z,{size:"large",description:"暂无数据"})])):y("",!0),(e(!0),a(k,null,F(n.value,f=>(e(),T(I,{key:f.user_id},{default:h(()=>[s(B,{contact:f},null,8,["contact"])]),_:2},1024))),128))]))]),_:1})]),d.value>0?(e(),a("div",te,[s(P,{page:_.value,"onUpdate:page":$,"page-slot":q(p).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):y("",!0)],64)}}});const ue=C(ne,[["__scopeId","data-v-3b2bf978"]]);export{ue as default};

File diff suppressed because one or more lines are too long

@ -1,4 +1,4 @@
import{E as gp,k as dp,aT as pp,F as _p,aU as vp,b as wp,c as To,aV as xp,d as Lo,u as Ap,x as Eo,o as Sp,r as Ne,y as Ki,aW as mp,t as Rp,s as Ip,A as yp,aX as qi,aY as Tp,h as Ce,aZ as Cp,a_ as Lp,a$ as Ep,b0 as bp,_ as Op,b1 as Mp,V as Co,w as pr,W as Wp,Y as Bp,Z as _r}from"./index-cae59503.js";import{N as Up}from"./Skeleton-35da1289.js";var Rt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};const Fp=v=>{const{boxShadow2:Q}=v;return{menuBoxShadow:Q}},Pp=gp({name:"Mention",common:dp,peers:{InternalSelectMenu:pp,Input:_p},self:Fp}),Dp=Pp;function Np(v,Q={debug:!1,useSelectionEnd:!1,checkWidthOverflow:!0}){const l=v.selectionStart!==null?v.selectionStart:0,te=v.selectionEnd!==null?v.selectionEnd:0,mn=Q.useSelectionEnd?te:l,He=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"],Z=navigator.userAgent.toLowerCase().includes("firefox");if(!vp)throw new Error("textarea-caret-position#getCaretPosition should only be called in a browser");const Rn=Q==null?void 0:Q.debug;if(Rn){const j=document.querySelector("#input-textarea-caret-position-mirror-div");j!=null&&j.parentNode&&j.parentNode.removeChild(j)}const on=document.createElement("div");on.id="input-textarea-caret-position-mirror-div",document.body.appendChild(on);const ln=on.style,z=window.getComputedStyle?window.getComputedStyle(v):v.currentStyle,k=v.nodeName==="INPUT";ln.whiteSpace=k?"nowrap":"pre-wrap",k||(ln.wordWrap="break-word"),ln.position="absolute",Rn||(ln.visibility="hidden"),He.forEach(j=>{if(k&&j==="lineHeight")if(z.boxSizing==="border-box"){const Jn=parseInt(z.height),nn=parseInt(z.paddingTop)+parseInt(z.paddingBottom)+parseInt(z.borderTopWidth)+parseInt(z.borderBottomWidth),hn=nn+parseInt(z.lineHeight);Jn>hn?ln.lineHeight=`${Jn-nn}px`:Jn===hn?ln.lineHeight=z.lineHeight:ln.lineHeight="0"}else ln.lineHeight=z.height;else ln[j]=z[j]}),Z?v.scrollHeight>parseInt(z.height)&&(ln.overflowY="scroll"):ln.overflow="hidden",on.textContent=v.value.substring(0,mn),k&&on.textContent&&(on.textContent=on.textContent.replace(/\s/g," "));const tn=document.createElement("span");tn.textContent=v.value.substring(mn)||".",tn.style.position="relative",tn.style.left=`${-v.scrollLeft}px`,tn.style.top=`${-v.scrollTop}px`,on.appendChild(tn);const cn={top:tn.offsetTop+parseInt(z.borderTopWidth),left:tn.offsetLeft+parseInt(z.borderLeftWidth),absolute:!1,height:parseInt(z.fontSize)*1.5};return Rn?tn.style.backgroundColor="#aaa":document.body.removeChild(on),cn.left>=v.clientWidth&&Q.checkWidthOverflow&&(cn.left=v.clientWidth),cn}const Hp=wp([To("mention","width: 100%; z-index: auto; position: relative;"),To("mention-menu",` import{E as gp,k as dp,aT as pp,F as _p,aU as vp,b as wp,c as To,aV as xp,d as Lo,u as Ap,x as Eo,o as Sp,r as Ne,y as Ki,aW as mp,t as Rp,s as Ip,A as yp,aX as qi,aY as Tp,h as Ce,aZ as Cp,a_ as Lp,a$ as Ep,b0 as bp,_ as Op,b1 as Mp,V as Co,w as pr,W as Wp,Y as Bp,Z as _r}from"./index-c4000003.js";import{N as Up}from"./Skeleton-d48bb266.js";var Rt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};const Fp=v=>{const{boxShadow2:Q}=v;return{menuBoxShadow:Q}},Pp=gp({name:"Mention",common:dp,peers:{InternalSelectMenu:pp,Input:_p},self:Fp}),Dp=Pp;function Np(v,Q={debug:!1,useSelectionEnd:!1,checkWidthOverflow:!0}){const l=v.selectionStart!==null?v.selectionStart:0,te=v.selectionEnd!==null?v.selectionEnd:0,mn=Q.useSelectionEnd?te:l,He=["direction","boxSizing","width","height","overflowX","overflowY","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderStyle","paddingTop","paddingRight","paddingBottom","paddingLeft","fontStyle","fontVariant","fontWeight","fontStretch","fontSize","fontSizeAdjust","lineHeight","fontFamily","textAlign","textTransform","textIndent","textDecoration","letterSpacing","wordSpacing","tabSize","MozTabSize"],Z=navigator.userAgent.toLowerCase().includes("firefox");if(!vp)throw new Error("textarea-caret-position#getCaretPosition should only be called in a browser");const Rn=Q==null?void 0:Q.debug;if(Rn){const j=document.querySelector("#input-textarea-caret-position-mirror-div");j!=null&&j.parentNode&&j.parentNode.removeChild(j)}const on=document.createElement("div");on.id="input-textarea-caret-position-mirror-div",document.body.appendChild(on);const ln=on.style,z=window.getComputedStyle?window.getComputedStyle(v):v.currentStyle,k=v.nodeName==="INPUT";ln.whiteSpace=k?"nowrap":"pre-wrap",k||(ln.wordWrap="break-word"),ln.position="absolute",Rn||(ln.visibility="hidden"),He.forEach(j=>{if(k&&j==="lineHeight")if(z.boxSizing==="border-box"){const Jn=parseInt(z.height),nn=parseInt(z.paddingTop)+parseInt(z.paddingBottom)+parseInt(z.borderTopWidth)+parseInt(z.borderBottomWidth),hn=nn+parseInt(z.lineHeight);Jn>hn?ln.lineHeight=`${Jn-nn}px`:Jn===hn?ln.lineHeight=z.lineHeight:ln.lineHeight="0"}else ln.lineHeight=z.height;else ln[j]=z[j]}),Z?v.scrollHeight>parseInt(z.height)&&(ln.overflowY="scroll"):ln.overflow="hidden",on.textContent=v.value.substring(0,mn),k&&on.textContent&&(on.textContent=on.textContent.replace(/\s/g," "));const tn=document.createElement("span");tn.textContent=v.value.substring(mn)||".",tn.style.position="relative",tn.style.left=`${-v.scrollLeft}px`,tn.style.top=`${-v.scrollTop}px`,on.appendChild(tn);const cn={top:tn.offsetTop+parseInt(z.borderTopWidth),left:tn.offsetLeft+parseInt(z.borderLeftWidth),absolute:!1,height:parseInt(z.fontSize)*1.5};return Rn?tn.style.backgroundColor="#aaa":document.body.removeChild(on),cn.left>=v.clientWidth&&Q.checkWidthOverflow&&(cn.left=v.clientWidth),cn}const Hp=wp([To("mention","width: 100%; z-index: auto; position: relative;"),To("mention-menu",`
box-shadow: var(--n-menu-box-shadow); box-shadow: var(--n-menu-box-shadow);
`,[xp({originalTransition:"background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)"})])]),Gp=Object.assign(Object.assign({},Eo.props),{to:qi.propTo,autosize:[Boolean,Object],options:{type:Array,default:[]},type:{type:String,default:"text"},separator:{type:String,validator:v=>v.length!==1?(Mp("mention","`separator`'s length must be 1."),!1):!0,default:" "},bordered:{type:Boolean,default:void 0},disabled:Boolean,value:String,defaultValue:{type:String,default:""},loading:Boolean,prefix:{type:[String,Array],default:"@"},placeholder:{type:String,default:""},placement:{type:String,default:"bottom-start"},size:String,renderLabel:Function,status:String,"onUpdate:show":[Array,Function],onUpdateShow:[Array,Function],"onUpdate:value":[Array,Function],onUpdateValue:[Array,Function],onSearch:Function,onSelect:Function,onFocus:Function,onBlur:Function,internalDebug:Boolean}),jp=Lo({name:"Mention",props:Gp,setup(v){const{namespaceRef:Q,mergedClsPrefixRef:l,mergedBorderedRef:te,inlineThemeDisabled:mn}=Ap(v),He=Eo("Mention","-mention",Hp,Dp,v,l),Z=Sp(v),Rn=Ne(null),on=Ne(null),ln=Ne(null),z=Ne("");let k=null,tn=null,cn=null;const j=Ki(()=>{const{value:S}=z;return v.options.filter(M=>S?typeof M.label=="string"?M.label.startsWith(S):typeof M.value=="string"?M.value.startsWith(S):!1:!0)}),Jn=Ki(()=>mp(j.value,{getKey:S=>S.value})),nn=Ne(null),hn=Ne(!1),tt=Ne(v.defaultValue),Mn=Rp(v,"value"),de=Ip(Mn,tt),In=Ki(()=>{const{self:{menuBoxShadow:S}}=He.value;return{"--n-menu-box-shadow":S}}),yn=mn?yp("mention",void 0,In,v):void 0;function rn(S){if(v.disabled)return;const{onUpdateShow:M,"onUpdate:show":P}=v;M&&pr(M,S),P&&pr(P,S),S||(k=null,tn=null,cn=null),hn.value=S}function pe(S){const{onUpdateValue:M,"onUpdate:value":P}=v,{nTriggerFormChange:X,nTriggerFormInput:_n}=Z;P&&pr(P,S),M&&pr(M,S),_n(),X(),tt.value=S}function Le(){return v.type==="text"?Rn.value.inputElRef:Rn.value.textareaElRef}function It(){var S;const M=Le();if(document.activeElement!==M){rn(!1);return}const{selectionEnd:P}=M;if(P===null){rn(!1);return}const X=M.value,{separator:_n}=v,{prefix:ve}=v,Qn=typeof ve=="string"?[ve]:ve;for(let vn=P-1;vn>=0;--vn){const $n=X[vn];if($n===_n||$n===` `,[xp({originalTransition:"background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)"})])]),Gp=Object.assign(Object.assign({},Eo.props),{to:qi.propTo,autosize:[Boolean,Object],options:{type:Array,default:[]},type:{type:String,default:"text"},separator:{type:String,validator:v=>v.length!==1?(Mp("mention","`separator`'s length must be 1."),!1):!0,default:" "},bordered:{type:Boolean,default:void 0},disabled:Boolean,value:String,defaultValue:{type:String,default:""},loading:Boolean,prefix:{type:[String,Array],default:"@"},placeholder:{type:String,default:""},placement:{type:String,default:"bottom-start"},size:String,renderLabel:Function,status:String,"onUpdate:show":[Array,Function],onUpdateShow:[Array,Function],"onUpdate:value":[Array,Function],onUpdateValue:[Array,Function],onSearch:Function,onSelect:Function,onFocus:Function,onBlur:Function,internalDebug:Boolean}),jp=Lo({name:"Mention",props:Gp,setup(v){const{namespaceRef:Q,mergedClsPrefixRef:l,mergedBorderedRef:te,inlineThemeDisabled:mn}=Ap(v),He=Eo("Mention","-mention",Hp,Dp,v,l),Z=Sp(v),Rn=Ne(null),on=Ne(null),ln=Ne(null),z=Ne("");let k=null,tn=null,cn=null;const j=Ki(()=>{const{value:S}=z;return v.options.filter(M=>S?typeof M.label=="string"?M.label.startsWith(S):typeof M.value=="string"?M.value.startsWith(S):!1:!0)}),Jn=Ki(()=>mp(j.value,{getKey:S=>S.value})),nn=Ne(null),hn=Ne(!1),tt=Ne(v.defaultValue),Mn=Rp(v,"value"),de=Ip(Mn,tt),In=Ki(()=>{const{self:{menuBoxShadow:S}}=He.value;return{"--n-menu-box-shadow":S}}),yn=mn?yp("mention",void 0,In,v):void 0;function rn(S){if(v.disabled)return;const{onUpdateShow:M,"onUpdate:show":P}=v;M&&pr(M,S),P&&pr(P,S),S||(k=null,tn=null,cn=null),hn.value=S}function pe(S){const{onUpdateValue:M,"onUpdate:value":P}=v,{nTriggerFormChange:X,nTriggerFormInput:_n}=Z;P&&pr(P,S),M&&pr(M,S),_n(),X(),tt.value=S}function Le(){return v.type==="text"?Rn.value.inputElRef:Rn.value.textareaElRef}function It(){var S;const M=Le();if(document.activeElement!==M){rn(!1);return}const{selectionEnd:P}=M;if(P===null){rn(!1);return}const X=M.value,{separator:_n}=v,{prefix:ve}=v,Qn=typeof ve=="string"?[ve]:ve;for(let vn=P-1;vn>=0;--vn){const $n=X[vn];if($n===_n||$n===`
`||$n==="\r"){rn(!1);return}if(Qn.includes($n)){const kn=X.slice(vn+1,P);rn(!0),(S=v.onSearch)===null||S===void 0||S.call(v,kn,$n),z.value=kn,k=$n,tn=vn+1,cn=P;return}}rn(!1)}function vr(){const{value:S}=on;if(!S)return;const M=Le(),P=Np(M);P.left+=M.parentElement.offsetLeft,S.style.left=`${P.left}px`,S.style.top=`${P.top+P.height}px`}function wr(){var S;hn.value&&((S=ln.value)===null||S===void 0||S.syncPosition())}function xr(S){pe(S),_e()}function _e(){setTimeout(()=>{vr(),It(),Co().then(wr)},0)}function Ar(S){var M,P;if(S.key==="ArrowLeft"||S.key==="ArrowRight"){if(!((M=Rn.value)===null||M===void 0)&&M.isCompositing)return;_e()}else if(S.key==="ArrowUp"||S.key==="ArrowDown"||S.key==="Enter"){if(!((P=Rn.value)===null||P===void 0)&&P.isCompositing)return;const{value:X}=nn;if(hn.value){if(X)if(S.preventDefault(),S.key==="ArrowUp")X.prev();else if(S.key==="ArrowDown")X.next();else{const _n=X.getPendingTmNode();_n?Ee(_n):rn(!1)}}else _e()}}function Sr(S){const{onFocus:M}=v;M==null||M(S);const{nTriggerFormFocus:P}=Z;P(),_e()}function re(){var S;(S=Rn.value)===null||S===void 0||S.focus()}function Vn(){var S;(S=Rn.value)===null||S===void 0||S.blur()}function mr(S){const{onBlur:M}=v;M==null||M(S);const{nTriggerFormBlur:P}=Z;P(),rn(!1)}function Ee(S){var M;if(k===null||tn===null||cn===null)return;const{rawNode:{value:P=""}}=S,X=Le(),_n=X.value,{separator:ve}=v,Qn=_n.slice(cn),vn=Qn.startsWith(ve),$n=`${P}${vn?"":ve}`;pe(_n.slice(0,tn)+$n+Qn),(M=v.onSelect)===null||M===void 0||M.call(v,S.rawNode,k);const kn=tn+$n.length+(vn?1:0);Co().then(()=>{X.selectionStart=kn,X.selectionEnd=kn,It()})}function Wn(){v.disabled||_e()}return{namespace:Q,mergedClsPrefix:l,mergedBordered:te,mergedSize:Z.mergedSizeRef,mergedStatus:Z.mergedStatusRef,mergedTheme:He,treeMate:Jn,selectMenuInstRef:nn,inputInstRef:Rn,cursorRef:on,followerRef:ln,showMenu:hn,adjustedTo:qi(v),isMounted:Tp(),mergedValue:de,handleInputFocus:Sr,handleInputBlur:mr,handleInputUpdateValue:xr,handleInputKeyDown:Ar,handleSelect:Ee,handleInputMouseDown:Wn,focus:re,blur:Vn,cssVars:mn?void 0:In,themeClass:yn==null?void 0:yn.themeClass,onRender:yn==null?void 0:yn.onRender}},render(){const{mergedTheme:v,mergedClsPrefix:Q,$slots:l}=this;return Ce("div",{class:`${Q}-mention`},Ce(Op,{status:this.mergedStatus,themeOverrides:v.peerOverrides.Input,theme:v.peers.Input,size:this.mergedSize,autosize:this.autosize,type:this.type,ref:"inputInstRef",placeholder:this.placeholder,onMousedown:this.handleInputMouseDown,onUpdateValue:this.handleInputUpdateValue,onKeydown:this.handleInputKeyDown,onFocus:this.handleInputFocus,onBlur:this.handleInputBlur,bordered:this.mergedBordered,disabled:this.disabled,value:this.mergedValue}),Ce(Cp,null,{default:()=>[Ce(Lp,null,{default:()=>Ce("div",{style:{position:"absolute",width:0,height:0},ref:"cursorRef"})}),Ce(Ep,{ref:"followerRef",placement:this.placement,show:this.showMenu,containerClass:this.namespace,to:this.adjustedTo,teleportDisabled:this.adjustedTo===qi.tdkey},{default:()=>Ce(bp,{name:"fade-in-scale-up-transition",appear:this.isMounted},{default:()=>{const{mergedTheme:te,onRender:mn}=this;return mn==null||mn(),this.showMenu?Ce(Up,{clsPrefix:Q,theme:te.peers.InternalSelectMenu,themeOverrides:te.peerOverrides.InternalSelectMenu,autoPending:!0,ref:"selectMenuInstRef",class:[`${Q}-mention-menu`,this.themeClass],loading:this.loading,treeMate:this.treeMate,virtualScroll:!1,style:this.cssVars,onToggle:this.handleSelect,renderLabel:this.renderLabel},l):null}})})]}))}}),$p={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},zp=_r("rect",{x:"48",y:"80",width:"416",height:"352",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),Kp=_r("circle",{cx:"336",cy:"176",r:"32",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),qp=_r("path",{d:"M304 335.79l-90.66-90.49a32 32 0 0 0-43.87-1.3L48 352",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Yp=_r("path",{d:"M224 432l123.34-123.34a32 32 0 0 1 43.11-2L464 368",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Zp=[zp,Kp,qp,Yp],n_=Lo({name:"ImageOutline",render:function(Q,l){return Wp(),Bp("svg",$p,Zp)}});var Yi={},Xp={get exports(){return Yi},set exports(v){Yi=v}};/** `||$n==="\r"){rn(!1);return}if(Qn.includes($n)){const kn=X.slice(vn+1,P);rn(!0),(S=v.onSearch)===null||S===void 0||S.call(v,kn,$n),z.value=kn,k=$n,tn=vn+1,cn=P;return}}rn(!1)}function vr(){const{value:S}=on;if(!S)return;const M=Le(),P=Np(M);P.left+=M.parentElement.offsetLeft,S.style.left=`${P.left}px`,S.style.top=`${P.top+P.height}px`}function wr(){var S;hn.value&&((S=ln.value)===null||S===void 0||S.syncPosition())}function xr(S){pe(S),_e()}function _e(){setTimeout(()=>{vr(),It(),Co().then(wr)},0)}function Ar(S){var M,P;if(S.key==="ArrowLeft"||S.key==="ArrowRight"){if(!((M=Rn.value)===null||M===void 0)&&M.isCompositing)return;_e()}else if(S.key==="ArrowUp"||S.key==="ArrowDown"||S.key==="Enter"){if(!((P=Rn.value)===null||P===void 0)&&P.isCompositing)return;const{value:X}=nn;if(hn.value){if(X)if(S.preventDefault(),S.key==="ArrowUp")X.prev();else if(S.key==="ArrowDown")X.next();else{const _n=X.getPendingTmNode();_n?Ee(_n):rn(!1)}}else _e()}}function Sr(S){const{onFocus:M}=v;M==null||M(S);const{nTriggerFormFocus:P}=Z;P(),_e()}function re(){var S;(S=Rn.value)===null||S===void 0||S.focus()}function Vn(){var S;(S=Rn.value)===null||S===void 0||S.blur()}function mr(S){const{onBlur:M}=v;M==null||M(S);const{nTriggerFormBlur:P}=Z;P(),rn(!1)}function Ee(S){var M;if(k===null||tn===null||cn===null)return;const{rawNode:{value:P=""}}=S,X=Le(),_n=X.value,{separator:ve}=v,Qn=_n.slice(cn),vn=Qn.startsWith(ve),$n=`${P}${vn?"":ve}`;pe(_n.slice(0,tn)+$n+Qn),(M=v.onSelect)===null||M===void 0||M.call(v,S.rawNode,k);const kn=tn+$n.length+(vn?1:0);Co().then(()=>{X.selectionStart=kn,X.selectionEnd=kn,It()})}function Wn(){v.disabled||_e()}return{namespace:Q,mergedClsPrefix:l,mergedBordered:te,mergedSize:Z.mergedSizeRef,mergedStatus:Z.mergedStatusRef,mergedTheme:He,treeMate:Jn,selectMenuInstRef:nn,inputInstRef:Rn,cursorRef:on,followerRef:ln,showMenu:hn,adjustedTo:qi(v),isMounted:Tp(),mergedValue:de,handleInputFocus:Sr,handleInputBlur:mr,handleInputUpdateValue:xr,handleInputKeyDown:Ar,handleSelect:Ee,handleInputMouseDown:Wn,focus:re,blur:Vn,cssVars:mn?void 0:In,themeClass:yn==null?void 0:yn.themeClass,onRender:yn==null?void 0:yn.onRender}},render(){const{mergedTheme:v,mergedClsPrefix:Q,$slots:l}=this;return Ce("div",{class:`${Q}-mention`},Ce(Op,{status:this.mergedStatus,themeOverrides:v.peerOverrides.Input,theme:v.peers.Input,size:this.mergedSize,autosize:this.autosize,type:this.type,ref:"inputInstRef",placeholder:this.placeholder,onMousedown:this.handleInputMouseDown,onUpdateValue:this.handleInputUpdateValue,onKeydown:this.handleInputKeyDown,onFocus:this.handleInputFocus,onBlur:this.handleInputBlur,bordered:this.mergedBordered,disabled:this.disabled,value:this.mergedValue}),Ce(Cp,null,{default:()=>[Ce(Lp,null,{default:()=>Ce("div",{style:{position:"absolute",width:0,height:0},ref:"cursorRef"})}),Ce(Ep,{ref:"followerRef",placement:this.placement,show:this.showMenu,containerClass:this.namespace,to:this.adjustedTo,teleportDisabled:this.adjustedTo===qi.tdkey},{default:()=>Ce(bp,{name:"fade-in-scale-up-transition",appear:this.isMounted},{default:()=>{const{mergedTheme:te,onRender:mn}=this;return mn==null||mn(),this.showMenu?Ce(Up,{clsPrefix:Q,theme:te.peers.InternalSelectMenu,themeOverrides:te.peerOverrides.InternalSelectMenu,autoPending:!0,ref:"selectMenuInstRef",class:[`${Q}-mention-menu`,this.themeClass],loading:this.loading,treeMate:this.treeMate,virtualScroll:!1,style:this.cssVars,onToggle:this.handleSelect,renderLabel:this.renderLabel},l):null}})})]}))}}),$p={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},zp=_r("rect",{x:"48",y:"80",width:"416",height:"352",rx:"48",ry:"48",fill:"none",stroke:"currentColor","stroke-linejoin":"round","stroke-width":"32"},null,-1),Kp=_r("circle",{cx:"336",cy:"176",r:"32",fill:"none",stroke:"currentColor","stroke-miterlimit":"10","stroke-width":"32"},null,-1),qp=_r("path",{d:"M304 335.79l-90.66-90.49a32 32 0 0 0-43.87-1.3L48 352",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Yp=_r("path",{d:"M224 432l123.34-123.34a32 32 0 0 1 43.11-2L464 368",fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"32"},null,-1),Zp=[zp,Kp,qp,Yp],n_=Lo({name:"ImageOutline",render:function(Q,l){return Wp(),Bp("svg",$p,Zp)}});var Yi={},Xp={get exports(){return Yi},set exports(v){Yi=v}};/**

@ -1,4 +1,4 @@
import{c as t,b as r,f as o,d as a,u as d,g as s,h as n}from"./index-cae59503.js";const p=t("input-group",` import{c as t,b as r,f as o,d as a,u as d,g as s,h as n}from"./index-c4000003.js";const p=t("input-group",`
display: inline-flex; display: inline-flex;
width: 100%; width: 100%;
flex-wrap: nowrap; flex-wrap: nowrap;

@ -1,4 +1,4 @@
import{b as t,c as l,e as d,f as n,cI as w,cJ as P,d as B,u as j,j as D,x as v,p as E,t as M,y as H,A as I,h as a,n as L,cK as K}from"./index-cae59503.js";const O=t([l("list",` import{b as t,c as l,e as d,f as n,cI as w,cJ as P,d as B,u as j,j as D,x as v,p as E,t as M,y as H,A as I,h as a,n as L,cK as K}from"./index-c4000003.js";const O=t([l("list",`
--n-merged-border-color: var(--n-border-color); --n-merged-border-color: var(--n-border-color);
--n-merged-color: var(--n-color); --n-merged-color: var(--n-color);
--n-merged-color-hover: var(--n-color-hover); --n-merged-color-hover: var(--n-color-hover);

File diff suppressed because one or more lines are too long

@ -1 +1 @@
import{d as e,W as o,Y as s,Z as t}from"./index-cae59503.js";const n={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},r=t("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),c=[r],m=e({name:"MoreHorizFilled",render:function(i,a){return o(),s("svg",n,c)}});export{m as M}; import{d as e,W as o,Y as s,Z as t}from"./index-c4000003.js";const n={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},r=t("path",{d:"M6 10c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm12 0c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2zm-6 0c-1.1 0-2 .9-2 2s.9 2 2 2s2-.9 2-2s-.9-2-2-2z",fill:"currentColor"},null,-1),c=[r],m=e({name:"MoreHorizFilled",render:function(i,a){return o(),s("svg",n,c)}});export{m as M};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +1 @@
import{_ as N}from"./post-item.vue_vue_type_style_index_0_lang-243e327f.js";import{_ as R}from"./post-skeleton-357fcaec.js";import{_ as U}from"./main-nav.vue_vue_type_style_index_0_lang-e781f688.js";import{d as V,r as l,a2 as D,Y as o,a4 as e,a3 as _,a6 as h,a5 as m,a7 as d,ai as M,b4 as q,W as t,Z as s,aa as f,ab as E,ac as F,$ as L,ae as T,aR as W,aS as Y,al as Z}from"./index-cae59503.js";import{_ as j}from"./List-8db739b6.js";import{_ as A}from"./Pagination-4225ac31.js";import{a as G,_ as H}from"./Skeleton-35da1289.js";import"./content-c56fd6ac.js";import"./formatTime-0c777b4d.js";import"./Thing-5bd55d3f.js";const J={class:"profile-baseinfo"},K={class:"avatar"},O={class:"base-info"},Q={class:"username"},X={class:"uid"},ee={key:0,class:"skeleton-wrap"},te={key:1},ae={key:0,class:"empty-wrap"},se={key:1,class:"pagination-wrap"},ne=V({__name:"Profile",setup(oe){const a=L(),k=M(),c=l(!1),r=l([]),i=l(+k.query.p||1),p=l(20),u=l(0),g=()=>{c.value=!0,q({username:a.state.userInfo.username,page:i.value,page_size:p.value}).then(n=>{c.value=!1,r.value=n.list,u.value=Math.ceil(n.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(n=>{c.value=!1})},y=n=>{i.value=n,g()};return D(()=>{g()}),(n,_e)=>{const w=U,b=T,I=W,P=Y,x=R,z=G,B=N,S=H,$=j,C=A;return t(),o("div",null,[e(w,{title:"主页"}),_(a).state.userInfo.id>0?(t(),h($,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:m(()=>[s("div",J,[s("div",K,[e(b,{size:"large",src:_(a).state.userInfo.avatar},null,8,["src"])]),s("div",O,[s("div",Q,[s("strong",null,f(_(a).state.userInfo.nickname),1),s("span",null," @"+f(_(a).state.userInfo.username),1)]),s("div",X,"UID. "+f(_(a).state.userInfo.id),1)])]),e(P,{class:"profile-tabs-wrap",animated:""},{default:m(()=>[e(I,{name:"post",tab:"泡泡"})]),_:1}),c.value?(t(),o("div",ee,[e(x,{num:p.value},null,8,["num"])])):(t(),o("div",te,[r.value.length===0?(t(),o("div",ae,[e(z,{size:"large",description:"暂无数据"})])):d("",!0),(t(!0),o(E,null,F(r.value,v=>(t(),h(S,{key:v.id},{default:m(()=>[e(B,{post:v},null,8,["post"])]),_:2},1024))),128))]))]),_:1})):d("",!0),u.value>0?(t(),o("div",se,[e(C,{page:i.value,"onUpdate:page":y,"page-slot":_(a).state.collapsedRight?5:8,"page-count":u.value},null,8,["page","page-slot","page-count"])])):d("",!0)])}}});const ve=Z(ne,[["__scopeId","data-v-1d87d974"]]);export{ve as default}; import{_ as N}from"./post-item.vue_vue_type_style_index_0_lang-bcfe0c37.js";import{_ as R}from"./post-skeleton-78bf9d75.js";import{_ as U}from"./main-nav.vue_vue_type_style_index_0_lang-8c0c0f3d.js";import{d as V,r as l,a2 as D,Y as o,a4 as e,a3 as _,a6 as h,a5 as m,a7 as d,ai as M,b4 as q,W as t,Z as s,aa as f,ab as E,ac as F,$ as L,ae as T,aR as W,aS as Y,al as Z}from"./index-c4000003.js";import{_ as j}from"./List-a31806ab.js";import{_ as A}from"./Pagination-9b82781b.js";import{a as G,_ as H}from"./Skeleton-d48bb266.js";import"./content-406d5a69.js";import"./formatTime-0c777b4d.js";import"./Thing-9384e24e.js";const J={class:"profile-baseinfo"},K={class:"avatar"},O={class:"base-info"},Q={class:"username"},X={class:"uid"},ee={key:0,class:"skeleton-wrap"},te={key:1},ae={key:0,class:"empty-wrap"},se={key:1,class:"pagination-wrap"},ne=V({__name:"Profile",setup(oe){const a=L(),k=M(),c=l(!1),r=l([]),i=l(+k.query.p||1),p=l(20),u=l(0),g=()=>{c.value=!0,q({username:a.state.userInfo.username,page:i.value,page_size:p.value}).then(n=>{c.value=!1,r.value=n.list,u.value=Math.ceil(n.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(n=>{c.value=!1})},y=n=>{i.value=n,g()};return D(()=>{g()}),(n,_e)=>{const w=U,b=T,I=W,P=Y,x=R,z=G,B=N,S=H,$=j,C=A;return t(),o("div",null,[e(w,{title:"主页"}),_(a).state.userInfo.id>0?(t(),h($,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:m(()=>[s("div",J,[s("div",K,[e(b,{size:"large",src:_(a).state.userInfo.avatar},null,8,["src"])]),s("div",O,[s("div",Q,[s("strong",null,f(_(a).state.userInfo.nickname),1),s("span",null," @"+f(_(a).state.userInfo.username),1)]),s("div",X,"UID. "+f(_(a).state.userInfo.id),1)])]),e(P,{class:"profile-tabs-wrap",animated:""},{default:m(()=>[e(I,{name:"post",tab:"泡泡"})]),_:1}),c.value?(t(),o("div",ee,[e(x,{num:p.value},null,8,["num"])])):(t(),o("div",te,[r.value.length===0?(t(),o("div",ae,[e(z,{size:"large",description:"暂无数据"})])):d("",!0),(t(!0),o(E,null,F(r.value,v=>(t(),h(S,{key:v.id},{default:m(()=>[e(B,{post:v},null,8,["post"])]),_:2},1024))),128))]))]),_:1})):d("",!0),u.value>0?(t(),o("div",se,[e(C,{page:i.value,"onUpdate:page":y,"page-slot":_(a).state.collapsedRight?5:8,"page-count":u.value},null,8,["page","page-slot","page-count"])])):d("",!0)])}}});const ve=Z(ne,[["__scopeId","data-v-1d87d974"]]);export{ve as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,4 +1,4 @@
import{c as r,f as d,b as c,d as $,u as b,x as u,bE as y,j as E,y as S,A as w,h as i,ab as z}from"./index-cae59503.js";const C=r("thing",` import{c as r,f as d,b as c,d as $,u as b,x as u,bE as y,j as E,y as S,A as w,h as i,ab as z}from"./index-c4000003.js";const C=r("thing",`
display: flex; display: flex;
transition: color .3s var(--n-bezier); transition: color .3s var(--n-bezier);
font-size: var(--n-font-size); font-size: var(--n-font-size);

@ -1 +1 @@
import{_ as k}from"./main-nav.vue_vue_type_style_index_0_lang-e781f688.js";import{d as w,r as s,a2 as x,Y as r,a4 as a,a5 as n,b2 as B,W as _,ab as q,ac as C,aR as N,aS as V,aw as L,ah as S,aQ as D,a6 as E,a9 as F,aa as m,Z as I,ae as M,aL as Q,al as R}from"./index-cae59503.js";import{_ as U}from"./List-8db739b6.js";const W={class:"tag-hot"},Y=w({__name:"Topic",setup(Z){const c=s([]),l=s("hot"),o=s(!1),p=()=>{o.value=!0,B({type:l.value,num:50}).then(e=>{c.value=e.topics,o.value=!1}).catch(e=>{o.value=!1})},i=e=>{l.value=e,p()};return x(()=>{p()}),(e,$)=>{const d=k,u=N,g=V,f=L("router-link"),v=M,h=Q,b=S,y=D,T=U;return _(),r("div",null,[a(d,{title:"话题"}),a(T,{class:"main-content-wrap tags-wrap",bordered:""},{default:n(()=>[a(g,{type:"line",animated:"","onUpdate:value":i},{default:n(()=>[a(u,{name:"hot",tab:"热门"}),a(u,{name:"new",tab:"最新"})]),_:1}),a(y,{show:o.value},{default:n(()=>[a(b,null,{default:n(()=>[(_(!0),r(q,null,C(c.value,t=>(_(),E(h,{class:"tag-item",type:"success",round:"",key:t.id},{avatar:n(()=>[a(v,{src:t.user.avatar},null,8,["src"])]),default:n(()=>[a(f,{class:"hash-link",to:{name:"home",query:{q:t.tag,t:"tag"}}},{default:n(()=>[F(" #"+m(t.tag),1)]),_:2},1032,["to"]),I("span",W,"("+m(t.quote_num)+")",1)]),_:2},1024))),128))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const G=R(Y,[["__scopeId","data-v-c1908b4e"]]);export{G as default}; import{_ as k}from"./main-nav.vue_vue_type_style_index_0_lang-8c0c0f3d.js";import{d as w,r as s,a2 as x,Y as r,a4 as a,a5 as n,b2 as B,W as _,ab as q,ac as C,aR as N,aS as V,aw as L,ah as S,aQ as D,a6 as E,a9 as F,aa as m,Z as I,ae as M,aL as Q,al as R}from"./index-c4000003.js";import{_ as U}from"./List-a31806ab.js";const W={class:"tag-hot"},Y=w({__name:"Topic",setup(Z){const c=s([]),l=s("hot"),o=s(!1),p=()=>{o.value=!0,B({type:l.value,num:50}).then(e=>{c.value=e.topics,o.value=!1}).catch(e=>{o.value=!1})},i=e=>{l.value=e,p()};return x(()=>{p()}),(e,$)=>{const d=k,u=N,g=V,f=L("router-link"),v=M,h=Q,b=S,y=D,T=U;return _(),r("div",null,[a(d,{title:"话题"}),a(T,{class:"main-content-wrap tags-wrap",bordered:""},{default:n(()=>[a(g,{type:"line",animated:"","onUpdate:value":i},{default:n(()=>[a(u,{name:"hot",tab:"热门"}),a(u,{name:"new",tab:"最新"})]),_:1}),a(y,{show:o.value},{default:n(()=>[a(b,null,{default:n(()=>[(_(!0),r(q,null,C(c.value,t=>(_(),E(h,{class:"tag-item",type:"success",round:"",key:t.id},{avatar:n(()=>[a(v,{src:t.user.avatar},null,8,["src"])]),default:n(()=>[a(f,{class:"hash-link",to:{name:"home",query:{q:t.tag,t:"tag"}}},{default:n(()=>[F(" #"+m(t.tag),1)]),_:2},1032,["to"]),I("span",W,"("+m(t.quote_num)+")",1)]),_:2},1024))),128))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const G=R(Y,[["__scopeId","data-v-c1908b4e"]]);export{G as default};

File diff suppressed because one or more lines are too long

@ -1,4 +1,4 @@
import{_ as be}from"./post-item.vue_vue_type_style_index_0_lang-243e327f.js";import{_ as ye}from"./post-skeleton-357fcaec.js";import{E as ke,k as G,b5 as xe,c as K,a as Se,e as D,d as L,u as Q,x as B,r as m,y as T,b6 as Ce,h as W,ag as $e,b7 as Te,b8 as Re,q as ze,b9 as Ie,m as P,ba as Ee,z as A,A as Pe,W as b,a6 as U,a5 as p,Z as k,a4 as i,a9 as R,aa as I,bb as Ue,_ as Y,K as F,aN as Z,al as j,bc as Le,bd as Oe,be as We,S as Be,a2 as Fe,Y as $,a3 as z,a7 as E,ai as je,bf as Me,ab as Ne,ac as qe,$ as De,b4 as Ae,bg as Ve,bh as He,ae as Ge,aL as Ke,af as Qe,aM as Ye,aQ as Ze,aR as Je,aS as Xe}from"./index-cae59503.js";import{u as en,a as nn,_ as tn}from"./Skeleton-35da1289.js";import{_ as J}from"./Alert-cdc43b40.js";import{_ as sn}from"./main-nav.vue_vue_type_style_index_0_lang-e781f688.js";import{M as an}from"./MoreHorizFilled-f0f2d972.js";import{_ as on}from"./List-8db739b6.js";import{_ as ln}from"./Pagination-4225ac31.js";import"./content-c56fd6ac.js";import"./formatTime-0c777b4d.js";import"./Thing-5bd55d3f.js";const rn=ke({name:"Ellipsis",common:G,peers:{Tooltip:xe}}),cn=rn,un=K("ellipsis",{overflow:"hidden"},[Se("line-clamp",` import{_ as be}from"./post-item.vue_vue_type_style_index_0_lang-bcfe0c37.js";import{_ as ye}from"./post-skeleton-78bf9d75.js";import{E as ke,k as G,b5 as xe,c as K,a as Se,e as D,d as L,u as Q,x as B,r as m,y as T,b6 as Ce,h as W,ag as $e,b7 as Te,b8 as Re,q as ze,b9 as Ie,m as P,ba as Ee,z as A,A as Pe,W as b,a6 as U,a5 as p,Z as k,a4 as i,a9 as R,aa as I,bb as Ue,_ as Y,K as F,aN as Z,al as j,bc as Le,bd as Oe,be as We,S as Be,a2 as Fe,Y as $,a3 as z,a7 as E,ai as je,bf as Me,ab as Ne,ac as qe,$ as De,b4 as Ae,bg as Ve,bh as He,ae as Ge,aL as Ke,af as Qe,aM as Ye,aQ as Ze,aR as Je,aS as Xe}from"./index-c4000003.js";import{u as en,a as nn,_ as tn}from"./Skeleton-d48bb266.js";import{_ as J}from"./Alert-8e71db70.js";import{_ as sn}from"./main-nav.vue_vue_type_style_index_0_lang-8c0c0f3d.js";import{M as an}from"./MoreHorizFilled-75e14bb2.js";import{_ as on}from"./List-a31806ab.js";import{_ as ln}from"./Pagination-9b82781b.js";import"./content-406d5a69.js";import"./formatTime-0c777b4d.js";import"./Thing-9384e24e.js";const rn=ke({name:"Ellipsis",common:G,peers:{Tooltip:xe}}),cn=rn,un=K("ellipsis",{overflow:"hidden"},[Se("line-clamp",`
white-space: nowrap; white-space: nowrap;
display: inline-block; display: inline-block;
vertical-align: bottom; vertical-align: bottom;

@ -1,4 +1,4 @@
import{_ as se}from"./post-skeleton-357fcaec.js";import{_ as ae}from"./main-nav.vue_vue_type_style_index_0_lang-e781f688.js";import{bG as kt,bH as le,bI as St,d as at,J as ce,r as F,y as _t,a2 as Ut,bJ as ue,c as Q,f as Z,u as fe,x as zt,bK as de,j as ge,A as he,h as x,B as X,W as R,Y as D,Z as S,a4 as B,a5 as I,ai as me,bL as pe,aN as _e,a3 as tt,a7 as et,a9 as nt,ab as Tt,ac as Mt,bw as we,bo as ye,aa as $,$ as Ce,bM as ve,bN as Ee,bO as be,K as Be,ah as Ae,af as Ne,bl as Ie,bP as Se,a6 as Rt,b3 as Te,a8 as Me,aB as Re,aC as Pe,al as Le}from"./index-cae59503.js";import{a as Fe}from"./formatTime-0c777b4d.js";import{_ as De}from"./List-8db739b6.js";import{_ as ke}from"./Pagination-4225ac31.js";import{a as Ue,_ as ze}from"./Skeleton-35da1289.js";var Pt=1/0,Ve=17976931348623157e292;function xe(t){if(!t)return t===0?t:0;if(t=kt(t),t===Pt||t===-Pt){var e=t<0?-1:1;return e*Ve}return t===t?t:0}function $e(t){var e=xe(t),i=e%1;return e===e?i?e-i:e:0}var He=le.isFinite,Ke=Math.min;function Oe(t){var e=Math[t];return function(i,r){if(i=kt(i),r=r==null?0:Ke($e(r),292),r&&He(i)){var o=(St(i)+"e").split("e"),n=e(o[0]+"e"+(+o[1]+r));return o=(St(n)+"e").split("e"),+(o[0]+"e"+(+o[1]-r))}return e(i)}}var Je=Oe("round");const Ye=Je,je=t=>1-Math.pow(1-t,5);function qe(t){const{from:e,to:i,duration:r,onUpdate:o,onFinish:n}=t,s=()=>{const l=performance.now(),c=Math.min(l-a,r),u=e+(i-e)*je(c/r);if(c===r){n();return}o(u),requestAnimationFrame(s)},a=performance.now();s()}const Ge={to:{type:Number,default:0},precision:{type:Number,default:0},showSeparator:Boolean,locale:String,from:{type:Number,default:0},active:{type:Boolean,default:!0},duration:{type:Number,default:2e3},onFinish:Function},We=at({name:"NumberAnimation",props:Ge,setup(t){const{localeRef:e}=ce("name"),{duration:i}=t,r=F(t.from),o=_t(()=>{const{locale:f}=t;return f!==void 0?f:e.value});let n=!1;const s=f=>{r.value=f},a=()=>{var f;r.value=t.to,n=!1,(f=t.onFinish)===null||f===void 0||f.call(t)},l=(f=t.from,g=t.to)=>{n=!0,r.value=t.from,f!==g&&qe({from:f,to:g,duration:i,onUpdate:s,onFinish:a})},c=_t(()=>{var f;const p=Ye(r.value,t.precision).toFixed(t.precision).split("."),_=new Intl.NumberFormat(o.value),E=(f=_.formatToParts(.5).find(d=>d.type==="decimal"))===null||f===void 0?void 0:f.value,m=t.showSeparator?_.format(Number(p[0])):p[0],w=p[1];return{integer:m,decimal:w,decimalSeparator:E}});function u(){n||l()}return Ut(()=>{ue(()=>{t.active&&l()})}),Object.assign({formattedValue:c},{play:u})},render(){const{formattedValue:{integer:t,decimal:e,decimalSeparator:i}}=this;return[t,e?i:null,e]}}),Qe=Q("statistic",[Z("label",` import{_ as se}from"./post-skeleton-78bf9d75.js";import{_ as ae}from"./main-nav.vue_vue_type_style_index_0_lang-8c0c0f3d.js";import{bG as kt,bH as le,bI as St,d as at,J as ce,r as F,y as _t,a2 as Ut,bJ as ue,c as Q,f as Z,u as fe,x as zt,bK as de,j as ge,A as he,h as x,B as X,W as R,Y as D,Z as S,a4 as B,a5 as I,ai as me,bL as pe,aN as _e,a3 as tt,a7 as et,a9 as nt,ab as Tt,ac as Mt,bw as we,bo as ye,aa as $,$ as Ce,bM as ve,bN as Ee,bO as be,K as Be,ah as Ae,af as Ne,bl as Ie,bP as Se,a6 as Rt,b3 as Te,a8 as Me,aB as Re,aC as Pe,al as Le}from"./index-c4000003.js";import{a as Fe}from"./formatTime-0c777b4d.js";import{_ as De}from"./List-a31806ab.js";import{_ as ke}from"./Pagination-9b82781b.js";import{a as Ue,_ as ze}from"./Skeleton-d48bb266.js";var Pt=1/0,Ve=17976931348623157e292;function xe(t){if(!t)return t===0?t:0;if(t=kt(t),t===Pt||t===-Pt){var e=t<0?-1:1;return e*Ve}return t===t?t:0}function $e(t){var e=xe(t),i=e%1;return e===e?i?e-i:e:0}var He=le.isFinite,Ke=Math.min;function Oe(t){var e=Math[t];return function(i,r){if(i=kt(i),r=r==null?0:Ke($e(r),292),r&&He(i)){var o=(St(i)+"e").split("e"),n=e(o[0]+"e"+(+o[1]+r));return o=(St(n)+"e").split("e"),+(o[0]+"e"+(+o[1]-r))}return e(i)}}var Je=Oe("round");const Ye=Je,je=t=>1-Math.pow(1-t,5);function qe(t){const{from:e,to:i,duration:r,onUpdate:o,onFinish:n}=t,s=()=>{const l=performance.now(),c=Math.min(l-a,r),u=e+(i-e)*je(c/r);if(c===r){n();return}o(u),requestAnimationFrame(s)},a=performance.now();s()}const Ge={to:{type:Number,default:0},precision:{type:Number,default:0},showSeparator:Boolean,locale:String,from:{type:Number,default:0},active:{type:Boolean,default:!0},duration:{type:Number,default:2e3},onFinish:Function},We=at({name:"NumberAnimation",props:Ge,setup(t){const{localeRef:e}=ce("name"),{duration:i}=t,r=F(t.from),o=_t(()=>{const{locale:f}=t;return f!==void 0?f:e.value});let n=!1;const s=f=>{r.value=f},a=()=>{var f;r.value=t.to,n=!1,(f=t.onFinish)===null||f===void 0||f.call(t)},l=(f=t.from,g=t.to)=>{n=!0,r.value=t.from,f!==g&&qe({from:f,to:g,duration:i,onUpdate:s,onFinish:a})},c=_t(()=>{var f;const p=Ye(r.value,t.precision).toFixed(t.precision).split("."),_=new Intl.NumberFormat(o.value),E=(f=_.formatToParts(.5).find(d=>d.type==="decimal"))===null||f===void 0?void 0:f.value,m=t.showSeparator?_.format(Number(p[0])):p[0],w=p[1];return{integer:m,decimal:w,decimalSeparator:E}});function u(){n||l()}return Ut(()=>{ue(()=>{t.active&&l()})}),Object.assign({formattedValue:c},{play:u})},render(){const{formattedValue:{integer:t,decimal:e,decimalSeparator:i}}=this;return[t,e?i:null,e]}}),Qe=Q("statistic",[Z("label",`
font-weight: var(--n-label-font-weight); font-weight: var(--n-label-font-weight);
transition: .3s color var(--n-bezier); transition: .3s color var(--n-bezier);
font-size: var(--n-label-font-size); font-size: var(--n-label-font-size);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,4 +1,4 @@
import{cL as ne,cM as Be,cN as Se,bq as $e,r as D,k as ze,cO as Me,m as Re,c as ae,f as t,cB as oe,b as X,e as h,a as ie,d as L,u as Ve,x as le,o as Le,t as Fe,s as Te,y as E,z as x,br as Z,c7 as f,A as Oe,cP as G,h as r,B as y,cz as Ee,cc as Pe,w as J,W as z,Y as ee,Z as W,a2 as Ae,a6 as Q,a5 as R,a4 as P,a3 as A,a7 as re,a9 as Ne,aa as De,$ as He,ak as Ie,af as We,K as Ke,bP as Ue}from"./index-cae59503.js";let N=0;const je=typeof window<"u"&&window.matchMedia!==void 0,B=D(null);let c,C;function H(e){e.matches&&(B.value="dark")}function I(e){e.matches&&(B.value="light")}function qe(){c=window.matchMedia("(prefers-color-scheme: dark)"),C=window.matchMedia("(prefers-color-scheme: light)"),c.matches?B.value="dark":C.matches?B.value="light":B.value=null,c.addEventListener?(c.addEventListener("change",H),C.addEventListener("change",I)):c.addListener&&(c.addListener(H),C.addListener(I))}function Ye(){"removeEventListener"in c?(c.removeEventListener("change",H),C.removeEventListener("change",I)):"removeListener"in c&&(c.removeListener(H),C.removeListener(I)),c=void 0,C=void 0}let se=!0;function Xe(){return je?(N===0&&qe(),se&&(se=Be())&&(Se(()=>{N+=1}),$e(()=>{N-=1,N===0&&Ye()})),ne(B)):ne(B)}const Ze=e=>{const{primaryColor:o,opacityDisabled:i,borderRadius:s,textColor3:l}=e,b="rgba(0, 0, 0, .14)";return Object.assign(Object.assign({},Me),{iconColor:l,textColor:"white",loadingColor:o,opacityDisabled:i,railColor:b,railColorActive:o,buttonBoxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)",buttonColor:"#FFF",railBorderRadiusSmall:s,railBorderRadiusMedium:s,railBorderRadiusLarge:s,buttonBorderRadiusSmall:s,buttonBorderRadiusMedium:s,buttonBorderRadiusLarge:s,boxShadowFocus:`0 0 0 2px ${Re(o,{alpha:.2})}`})},Ge={name:"Switch",common:ze,self:Ze},Je=Ge,Qe=ae("switch",` import{cL as ne,cM as Be,cN as Se,bq as $e,r as D,k as ze,cO as Me,m as Re,c as ae,f as t,cB as oe,b as X,e as h,a as ie,d as L,u as Ve,x as le,o as Le,t as Fe,s as Te,y as E,z as x,br as Z,c7 as f,A as Oe,cP as G,h as r,B as y,cz as Ee,cc as Pe,w as J,W as z,Y as ee,Z as W,a2 as Ae,a6 as Q,a5 as R,a4 as P,a3 as A,a7 as re,a9 as Ne,aa as De,$ as He,ak as Ie,af as We,K as Ke,bP as Ue}from"./index-c4000003.js";let N=0;const je=typeof window<"u"&&window.matchMedia!==void 0,B=D(null);let c,C;function H(e){e.matches&&(B.value="dark")}function I(e){e.matches&&(B.value="light")}function qe(){c=window.matchMedia("(prefers-color-scheme: dark)"),C=window.matchMedia("(prefers-color-scheme: light)"),c.matches?B.value="dark":C.matches?B.value="light":B.value=null,c.addEventListener?(c.addEventListener("change",H),C.addEventListener("change",I)):c.addListener&&(c.addListener(H),C.addListener(I))}function Ye(){"removeEventListener"in c?(c.removeEventListener("change",H),C.removeEventListener("change",I)):"removeListener"in c&&(c.removeListener(H),C.removeListener(I)),c=void 0,C=void 0}let se=!0;function Xe(){return je?(N===0&&qe(),se&&(se=Be())&&(Se(()=>{N+=1}),$e(()=>{N-=1,N===0&&Ye()})),ne(B)):ne(B)}const Ze=e=>{const{primaryColor:o,opacityDisabled:i,borderRadius:s,textColor3:l}=e,b="rgba(0, 0, 0, .14)";return Object.assign(Object.assign({},Me),{iconColor:l,textColor:"white",loadingColor:o,opacityDisabled:i,railColor:b,railColorActive:o,buttonBoxShadow:"0 1px 4px 0 rgba(0, 0, 0, 0.3), inset 0 0 1px 0 rgba(0, 0, 0, 0.05)",buttonColor:"#FFF",railBorderRadiusSmall:s,railBorderRadiusMedium:s,railBorderRadiusLarge:s,buttonBorderRadiusSmall:s,buttonBorderRadiusMedium:s,buttonBorderRadiusLarge:s,boxShadowFocus:`0 0 0 2px ${Re(o,{alpha:.2})}`})},Ge={name:"Switch",common:ze,self:Ze},Je=Ge,Qe=ae("switch",`
height: var(--n-height); height: var(--n-height);
min-width: var(--n-width); min-width: var(--n-width);
vertical-align: middle; vertical-align: middle;

@ -1 +0,0 @@
import{p as L,H as O,C as V,B as M,a as R,_ as S,b as j,c as D}from"./content-c56fd6ac.js";import{d as I,ai as P,ak as E,$ as F,y as W,aw as Y,W as o,Y as f,a4 as i,ay as Z,a3 as t,a5 as n,ab as A,ac as G,a8 as v,Z as u,a9 as _,aa as p,a6 as r,a7 as c,ae as J,aL as K,af as Q,ah as U}from"./index-cae59503.js";import{a as X}from"./formatTime-0c777b4d.js";import{_ as tt}from"./Thing-5bd55d3f.js";const et={class:"nickname-wrap"},st={class:"username-wrap"},at={class:"timestamp"},nt=["innerHTML"],ot={class:"opt-item"},it={class:"opt-item"},rt={class:"opt-item"},ut=I({__name:"post-item",props:{post:null},setup(x){const C=x;P();const m=E(),b=F(),e=W(()=>{let a=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},C.post);return a.contents.map(s=>{(+s.type==1||+s.type==2)&&a.texts.push(s),+s.type==3&&a.imgs.push(s),+s.type==4&&a.videos.push(s),+s.type==6&&a.links.push(s),+s.type==7&&a.attachments.push(s),+s.type==8&&a.charge_attachments.push(s)}),a}),k=a=>{m.push({name:"post",query:{id:a}})},w=(a,s)=>{if(a.target.dataset.detail){const l=a.target.dataset.detail.split(":");if(l.length===2){b.commit("refresh"),l[0]==="tag"?m.push({name:"home",query:{q:l[1],t:"tag"}}):m.push({name:"user",query:{username:l[1]}});return}}k(s)};return(a,s)=>{const l=J,z=Y("router-link"),d=K,y=R,B=S,T=j,q=D,h=Q,N=U,$=tt;return o(),f("div",{class:"post-item",onClick:s[2]||(s[2]=g=>k(t(e).id))},[i($,{"content-indented":""},Z({avatar:n(()=>[i(l,{round:"",size:30,src:t(e).user.avatar},null,8,["src"])]),header:n(()=>[u("span",et,[i(z,{onClick:s[0]||(s[0]=v(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t(e).user.username}}},{default:n(()=>[_(p(t(e).user.nickname),1)]),_:1},8,["to"])]),u("span",st," @"+p(t(e).user.username),1),t(e).is_top?(o(),r(d,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[_(" 置顶 ")]),_:1})):c("",!0),t(e).visibility==1?(o(),r(d,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[_(" 私密 ")]),_:1})):c("",!0),t(e).visibility==2?(o(),r(d,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[_(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":n(()=>[u("span",at,p(t(e).ip_loc?t(e).ip_loc+" · ":t(e).ip_loc)+" "+p(t(X)(t(e).created_on)),1)]),footer:n(()=>[t(e).attachments.length>0?(o(),r(y,{key:0,attachments:t(e).attachments},null,8,["attachments"])):c("",!0),t(e).charge_attachments.length>0?(o(),r(y,{key:1,attachments:t(e).charge_attachments,price:t(e).attachment_price},null,8,["attachments","price"])):c("",!0),t(e).imgs.length>0?(o(),r(B,{key:2,imgs:t(e).imgs},null,8,["imgs"])):c("",!0),t(e).videos.length>0?(o(),r(T,{key:3,videos:t(e).videos},null,8,["videos"])):c("",!0),t(e).links.length>0?(o(),r(q,{key:4,links:t(e).links},null,8,["links"])):c("",!0)]),action:n(()=>[i(N,{justify:"space-between"},{default:n(()=>[u("div",ot,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(O))]),_:1}),_(" "+p(t(e).upvote_count),1)]),u("div",it,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(V))]),_:1}),_(" "+p(t(e).comment_count),1)]),u("div",rt,[i(h,{size:"18",class:"opt-item-icon"},{default:n(()=>[i(t(M))]),_:1}),_(" "+p(t(e).collection_count),1)])]),_:1})]),_:2},[t(e).texts.length>0?{name:"description",fn:n(()=>[(o(!0),f(A,null,G(t(e).texts,g=>(o(),f("span",{key:g.id,class:"post-text",onClick:s[1]||(s[1]=v(H=>w(H,t(e).id),["stop"])),innerHTML:t(L)(g.content).content},null,8,nt))),128))]),key:"0"}:void 0]),1024)])}}});export{ut as _};

@ -0,0 +1 @@
import{p as $,H,C as L,B as V,S as M,a as R,_ as j,b as D,c as I}from"./content-406d5a69.js";import{d as P,ai as E,ak as F,$ as W,y as Y,aw as Z,W as i,Y as f,a4 as o,ay as A,a3 as t,a5 as a,ab as G,ac as J,a8 as v,Z as p,a9 as c,aa as r,a6 as _,a7 as l,ae as K,aL as Q,af as U,ah as X}from"./index-c4000003.js";import{a as tt}from"./formatTime-0c777b4d.js";import{_ as et}from"./Thing-9384e24e.js";const st={class:"nickname-wrap"},at={class:"username-wrap"},nt={class:"timestamp"},ot=["innerHTML"],it={class:"opt-item"},ct={class:"opt-item"},rt={class:"opt-item"},_t={class:"opt-item"},dt=P({__name:"post-item",props:{post:null},setup(x){const C=x;E();const d=F(),z=W(),e=Y(()=>{let n=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},C.post);return n.contents.map(s=>{(+s.type==1||+s.type==2)&&n.texts.push(s),+s.type==3&&n.imgs.push(s),+s.type==4&&n.videos.push(s),+s.type==6&&n.links.push(s),+s.type==7&&n.attachments.push(s),+s.type==8&&n.charge_attachments.push(s)}),n}),k=n=>{d.push({name:"post",query:{id:n}})},b=(n,s)=>{if(n.target.dataset.detail){const u=n.target.dataset.detail.split(":");if(u.length===2){z.commit("refresh"),u[0]==="tag"?d.push({name:"home",query:{q:u[1],t:"tag"}}):d.push({name:"user",query:{username:u[1]}});return}}k(s)};return(n,s)=>{const u=K,w=Z("router-link"),h=Q,y=R,B=j,S=D,T=I,m=U,q=X,N=et;return i(),f("div",{class:"post-item",onClick:s[2]||(s[2]=g=>k(t(e).id))},[o(N,{"content-indented":""},A({avatar:a(()=>[o(u,{round:"",size:30,src:t(e).user.avatar},null,8,["src"])]),header:a(()=>[p("span",st,[o(w,{onClick:s[0]||(s[0]=v(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:t(e).user.username}}},{default:a(()=>[c(r(t(e).user.nickname),1)]),_:1},8,["to"])]),p("span",at," @"+r(t(e).user.username),1),t(e).is_top?(i(),_(h,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:a(()=>[c(" 置顶 ")]),_:1})):l("",!0),t(e).visibility==1?(i(),_(h,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:a(()=>[c(" 私密 ")]),_:1})):l("",!0),t(e).visibility==2?(i(),_(h,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:a(()=>[c(" 好友可见 ")]),_:1})):l("",!0)]),"header-extra":a(()=>[p("span",nt,r(t(e).ip_loc?t(e).ip_loc+" · ":t(e).ip_loc)+" "+r(t(tt)(t(e).created_on)),1)]),footer:a(()=>[t(e).attachments.length>0?(i(),_(y,{key:0,attachments:t(e).attachments},null,8,["attachments"])):l("",!0),t(e).charge_attachments.length>0?(i(),_(y,{key:1,attachments:t(e).charge_attachments,price:t(e).attachment_price},null,8,["attachments","price"])):l("",!0),t(e).imgs.length>0?(i(),_(B,{key:2,imgs:t(e).imgs},null,8,["imgs"])):l("",!0),t(e).videos.length>0?(i(),_(S,{key:3,videos:t(e).videos},null,8,["videos"])):l("",!0),t(e).links.length>0?(i(),_(T,{key:4,links:t(e).links},null,8,["links"])):l("",!0)]),action:a(()=>[o(q,{justify:"space-between"},{default:a(()=>[p("div",it,[o(m,{size:"18",class:"opt-item-icon"},{default:a(()=>[o(t(H))]),_:1}),c(" "+r(t(e).upvote_count),1)]),p("div",ct,[o(m,{size:"18",class:"opt-item-icon"},{default:a(()=>[o(t(L))]),_:1}),c(" "+r(t(e).comment_count),1)]),p("div",rt,[o(m,{size:"18",class:"opt-item-icon"},{default:a(()=>[o(t(V))]),_:1}),c(" "+r(t(e).collection_count),1)]),p("div",_t,[o(m,{size:"18",class:"opt-item-icon"},{default:a(()=>[o(t(M))]),_:1}),c(" "+r(t(e).share_count),1)])]),_:1})]),_:2},[t(e).texts.length>0?{name:"description",fn:a(()=>[(i(!0),f(G,null,J(t(e).texts,g=>(i(),f("span",{key:g.id,class:"post-text",onClick:s[1]||(s[1]=v(O=>b(O,t(e).id),["stop"])),innerHTML:t($)(g.content).content},null,8,ot))),128))]),key:"0"}:void 0]),1024)])}}});export{dt as _};

@ -1 +1 @@
import{b as c}from"./Skeleton-35da1289.js";import{d as r,W as s,Y as n,ac as l,Z as o,a4 as t,ab as p,al as i}from"./index-cae59503.js";const d={class:"user"},m={class:"content"},u=r({__name:"post-skeleton",props:{num:{default:1}},setup(_){return(k,b)=>{const e=c;return s(!0),n(p,null,l(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",d,[t(e,{circle:"",size:"small"})]),o("div",m,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const x=i(u,[["__scopeId","data-v-ab0015b4"]]);export{x as _}; import{b as c}from"./Skeleton-d48bb266.js";import{d as r,W as s,Y as n,ac as l,Z as o,a4 as t,ab as p,al as i}from"./index-c4000003.js";const d={class:"user"},m={class:"content"},u=r({__name:"post-skeleton",props:{num:{default:1}},setup(_){return(k,b)=>{const e=c;return s(!0),n(p,null,l(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",d,[t(e,{circle:"",size:"small"})]),o("div",m,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const x=i(u,[["__scopeId","data-v-ab0015b4"]]);export{x as _};

@ -8,7 +8,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0" />
<link rel="manifest" href="/manifest.json" /> <link rel="manifest" href="/manifest.json" />
<title></title> <title></title>
<script type="module" crossorigin src="/assets/index-cae59503.js"></script> <script type="module" crossorigin src="/assets/index-c4000003.js"></script>
<link rel="stylesheet" href="/assets/index-4af9b72d.css"> <link rel="stylesheet" href="/assets/index-4af9b72d.css">
</head> </head>

@ -15,6 +15,7 @@
"@vicons/material": "^0.12.0", "@vicons/material": "^0.12.0",
"@vicons/tabler": "^0.12.0", "@vicons/tabler": "^0.12.0",
"axios": "^1.3.4", "axios": "^1.3.4",
"copy-to-clipboard": "^3.3.3",
"less": "^4.1.3", "less": "^4.1.3",
"lodash": "^4.17.21", "lodash": "^4.17.21",
"moment": "^2.29.4", "moment": "^2.29.4",

@ -187,6 +187,15 @@
</n-icon> </n-icon>
{{ post.collection_count }} {{ post.collection_count }}
</div> </div>
<div
class="opt-item hover"
@click.stop="handlePostShare"
>
<n-icon size="20" class="opt-item-icon">
<share-social-outline />
</n-icon>
{{ post.share_count }}
</div>
</n-space> </n-space>
</div> </div>
</template> </template>
@ -205,6 +214,7 @@ import {
HeartOutline, HeartOutline,
Bookmark, Bookmark,
BookmarkOutline, BookmarkOutline,
ShareSocialOutline,
ChatboxOutline, ChatboxOutline,
} from '@vicons/ionicons5'; } from '@vicons/ionicons5';
import { MoreHorizFilled } from '@vicons/material'; import { MoreHorizFilled } from '@vicons/material';
@ -220,6 +230,7 @@ import {
} from '@/api/post'; } from '@/api/post';
import type { DropdownOption } from 'naive-ui'; import type { DropdownOption } from 'naive-ui';
import { VisibilityEnum } from '@/utils/IEnum'; import { VisibilityEnum } from '@/utils/IEnum';
import copy from "copy-to-clipboard";
const store = useStore(); const store = useStore();
const router = useRouter(); const router = useRouter();
@ -516,6 +527,10 @@ const handlePostCollection = () => {
console.log(err); console.log(err);
}); });
}; };
const handlePostShare = () => {
copy(`${window.location.origin}/#/post?id=${post.value.id}`);
window.$message.success('');
};
onMounted(() => { onMounted(() => {
if (store.state.userInfo.id > 0) { if (store.state.userInfo.id > 0) {

@ -102,6 +102,12 @@
</n-icon> </n-icon>
{{ post.collection_count }} {{ post.collection_count }}
</div> </div>
<div class="opt-item">
<n-icon size="18" class="opt-item-icon">
<share-social-outline />
</n-icon>
{{ post.share_count }}
</div>
</n-space> </n-space>
</template> </template>
</n-thing> </n-thing>
@ -118,6 +124,7 @@ import {
HeartOutline, HeartOutline,
BookmarkOutline, BookmarkOutline,
ChatboxOutline, ChatboxOutline,
ShareSocialOutline,
} from '@vicons/ionicons5'; } from '@vicons/ionicons5';
const route = useRoute(); const route = useRoute();

@ -1,312 +1,312 @@
declare module Item { declare module Item {
interface UserInfo {
/** 用户UID */
id: number;
/** 用户名 */
username: string;
/** 用户昵称 */
nickname: string;
/** 用户头像 */
avatar: string;
/** 用户手机号 */
phone?: string;
/** 激活码 */
activation?: string;
/** 是否为管理员 */
is_admin: boolean;
/** 是否好友 */
is_friend: boolean;
/** 用户余额(分) */
balance?: number;
/** 用户状态 */
status?: 1 | 2;
}
interface UserInfo { /** 评论内容 */
/** 用户UID */ interface CommentItemProps {
id: number, /** 内容ID */
/** 用户名 */ id: number;
username: string, /** 评论ID */
/** 用户昵称 */ comment_id: number;
nickname: string, /** 评论者UID */
/** 用户头像 */ user_id: number;
avatar: string, /** 类别1为标题2为文字段落3为图片地址4为视频地址5为语音地址6为链接地址 */
/** 用户手机号 */ type: import("@/utils/IEnum").CommentItemTypeEnum;
phone?: string, /** 内容 */
/** 激活码 */ content: string;
activation?: string, /** 排序,越小越靠前 */
/** 是否为管理员 */ sort: number;
is_admin: boolean, /** 创建时间 */
/** 是否好友 */ created_on: number;
is_friend: boolean, /** 修改时间 */
/** 用户余额(分) */ modified_on?: number;
balance?: number, /** 删除时间 */
/** 用户状态 */ deleted_on?: number;
status?: 1 | 2 /** 是否删除0为未删除1为已删除 */
} is_del?: 0 | 1;
}
/** 评论数据 */
interface CommentProps {
id: number;
post_id: number;
/** 评论者UID */
user_id: number;
/** 评论者用户信息 */
user: UserInfo;
/** 评论内容 */ /** 评论内容 */
interface CommentItemProps { contents: CommentItemProps[];
/** 内容ID */ /** 回复列表 */
id: number, replies: ReplyProps[];
/** 评论ID */ /** 评论者IP地址 */
comment_id: number, ip?: string;
/** 评论者UID */ /** 评论者城市地址 */
user_id: number, ip_loc: string;
/** 类别1为标题2为文字段落3为图片地址4为视频地址5为语音地址6为链接地址 */ /** 创建时间 */
type: import('@/utils/IEnum').CommentItemTypeEnum, created_on: number;
/** 内容 */ /** 修改时间 */
content: string, modified_on?: number;
/** 排序,越小越靠前 */ /** 删除时间 */
sort: number, deleted_on?: number;
/** 创建时间 */ /** 是否删除0为未删除1为已删除 */
created_on: number, is_del?: 0 | 1;
/** 修改时间 */ }
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
}
/** 评论数据 */ interface CommentComponentProps extends CommentProps {
interface CommentProps { /** 文字评论列表 */
id: number, texts: CommentItemProps[];
post_id: number, /** 图片评论列表 */
/** 评论者UID */ imgs: CommentItemProps[];
user_id: number, }
/** 评论者用户信息 */
user: UserInfo,
/** 评论内容 */
contents: CommentItemProps[],
/** 回复列表 */
replies: ReplyProps[],
/** 评论者IP地址 */
ip?: string,
/** 评论者城市地址 */
ip_loc: string,
/** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
}
interface CommentComponentProps extends CommentProps { /** 回复内容 */
/** 文字评论列表 */ interface ReplyProps {
texts: CommentItemProps[], /** 内容ID */
/** 图片评论列表 */ id: number;
imgs: CommentItemProps[] /** 评论ID */
} comment_id: number;
/** 回复人ID */
user_id: number;
/** 回复人用户数据 */
user: UserInfo;
/** 艾特人ID */
at_user_id: number;
/** 艾特人用户数据 */
at_user: UserInfo;
/** 内容 */
content: string;
/** 回复人IP地址 */
ip?: string;
/** 回复人城市地址 */
ip_loc: string;
/** 创建时间 */
created_on: number;
/** 修改时间 */
modified_on?: number;
/** 删除时间 */
deleted_on?: number;
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1;
}
/** 回复内容 */ /** 联系人数据 */
interface ReplyProps { interface ContactItemProps {
/** 内容ID */ user_id: number;
id: number, username: string;
/** 评论ID */ nickname: string;
comment_id: number, avatar: string;
/** 回复人ID */ phone?: string;
user_id: number, }
/** 回复人用户数据 */
user: UserInfo,
/** 艾特人ID */
at_user_id: number,
/** 艾特人用户数据 */
at_user: UserInfo,
/** 内容 */
content: string,
/** 回复人IP地址 */
ip?: string,
/** 回复人城市地址 */
ip_loc: string,
/** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
}
/** 联系人数据 */
interface ContactItemProps {
user_id: number,
username: string,
nickname: string,
avatar: string,
phone?: string,
}
/** 帖子内容 */
interface PostItemProps {
/** 内容ID */
id: number,
/** 类型1为标题2为文字段落3为图片地址4为视频地址5为语音地址6为链接地址7为附件资源8为收费资源 */
type: import('@/utils/IEnum').PostItemTypeEnum,
/** POST ID */
post_id: number,
/** 内容 */
content: string,
/** 排序,越小越靠前 */
sort: number,
/** 用户UID */
user_id?: number,
/** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1,
}
/** 帖子 */ /** 帖子内容 */
interface PostProps { interface PostItemProps {
id: number, /** 内容ID */
/** 发帖人UID */ id: number;
user_id: number, /** 类型1为标题2为文字段落3为图片地址4为视频地址5为语音地址6为链接地址7为附件资源8为收费资源 */
/** 发帖人用户数据 */ type: import("@/utils/IEnum").PostItemTypeEnum;
user: UserInfo, /** POST ID */
/** 附件价格(分) */ post_id: number;
attachment_price: number, /** 内容 */
/** 发帖时IP地址 */ content: string;
ip?: string, /** 排序,越小越靠前 */
/** 发帖时城市地址 */ sort: number;
ip_loc: string, /** 用户UID */
/** 最新回复时间 */ user_id?: number;
latest_replied_on: number, /** 创建时间 */
/** 创建时间 */ created_on: number;
created_on: number, /** 修改时间 */
/** 修改时间 */ modified_on?: number;
modified_on?: number, /** 删除时间 */
/** 删除时间 */ deleted_on?: number;
deleted_on?: number, /** 是否删除0为未删除1为已删除 */
/** 点赞数 */ is_del?: 0 | 1;
upvote_count: number, }
/** 评论数 */
comment_count: number,
/** 收藏数 */
collection_count: number,
/** 内容列表 */
contents: PostItemProps[],
/** 标签列表 */
tags: { [key: string]: number } | string,
/** 可见性0为公开1为私密2为好友可见 */
visibility: import('@/utils/IEnum').VisibilityEnum,
/** 是否锁定 */
is_lock: number,
/** 是否置顶 */
is_top: number,
/** 是否精华 */
is_essence: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
}
/** 组件用帖子 */ /** 帖子 */
interface PostComponentProps extends PostProps { interface PostProps {
/** 文字段落列表 */ id: number;
texts: PostItemProps[], /** 发帖人UID */
/** 图片列表 */ user_id: number;
imgs: PostItemProps[], /** 发帖人用户数据 */
/** 视频列表 */ user: UserInfo;
videos: PostItemProps[], /** 附件价格(分) */
/** 链接列表 */ attachment_price: number;
links: PostItemProps[], /** 发帖时IP地址 */
/** 附件列表 */ ip?: string;
attachments: PostItemProps[], /** 发帖时城市地址 */
/** 收费附件列表 */ ip_loc: string;
charge_attachments: PostItemProps[] /** 最新回复时间 */
} latest_replied_on: number;
/** 创建时间 */
created_on: number;
/** 修改时间 */
modified_on?: number;
/** 删除时间 */
deleted_on?: number;
/** 点赞数 */
upvote_count: number;
/** 评论数 */
comment_count: number;
/** 收藏数 */
collection_count: number;
/** 分享数 */
share_count: number;
/** 内容列表 */
contents: PostItemProps[];
/** 标签列表 */
tags: { [key: string]: number } | string;
/** 可见性0为公开1为私密2为好友可见 */
visibility: import("@/utils/IEnum").VisibilityEnum;
/** 是否锁定 */
is_lock: number;
/** 是否置顶 */
is_top: number;
/** 是否精华 */
is_essence: number;
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1;
}
interface MessageProps { /** 组件用帖子 */
id: number, interface PostComponentProps extends PostProps {
/** 类型1为动态2为评论3为回复4为私信5为好友申请 99为系统通知 */ /** 文字段落列表 */
type: import('@/utils/IEnum').MessageTypeEnum, texts: PostItemProps[];
/** 摘要说明 */ /** 图片列表 */
brief: string, imgs: PostItemProps[];
/** 详细内容 */ /** 视频列表 */
content: string, videos: PostItemProps[];
/** 是否已读0为未读1为已读 */ /** 链接列表 */
is_read: 0 | 1, links: PostItemProps[];
/** 发送人UID */ /** 附件列表 */
sender_user_id: number, attachments: PostItemProps[];
/** 发送人用户数据 */ /** 收费附件列表 */
sender_user: UserInfo, charge_attachments: PostItemProps[];
/** 接收方UID */ }
receiver_user_id: number,
/** 帖子ID */
post_id: number,
/** 帖子内容 */
post: PostProps,
/** 评论ID */
comment_id: number,
/** 评论内容 */
comment: CommentProps,
/** 回复ID */
reply_id: number,
/** 回复内容 */
replay: ReplyProps,
/** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
}
interface ContactsItemProps { interface MessageProps {
user_id: number, id: number;
name: string, /** 类型1为动态2为评论3为回复4为私信5为好友申请 99为系统通知 */
nickname: string, type: import("@/utils/IEnum").MessageTypeEnum;
avatar: string /** 摘要说明 */
} brief: string;
/** 详细内容 */
content: string;
/** 是否已读0为未读1为已读 */
is_read: 0 | 1;
/** 发送人UID */
sender_user_id: number;
/** 发送人用户数据 */
sender_user: UserInfo;
/** 接收方UID */
receiver_user_id: number;
/** 帖子ID */
post_id: number;
/** 帖子内容 */
post: PostProps;
/** 评论ID */
comment_id: number;
/** 评论内容 */
comment: CommentProps;
/** 回复ID */
reply_id: number;
/** 回复内容 */
replay: ReplyProps;
/** 创建时间 */
created_on: number;
/** 修改时间 */
modified_on?: number;
/** 删除时间 */
deleted_on?: number;
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1;
}
interface AttachmentProps { interface ContactsItemProps {
id: number, user_id: number;
/** 类别1为图片2为视频3为其他附件 */ name: string;
type: import('@/utils/IEnum').AttachmentTypeEnum, nickname: string;
/** 发布者用户UID */ avatar: string;
user_id: number, }
/** 发布者用户数据 */
user: UserInfo,
/** 文件大小 */
file_size: number,
/** 图片宽度 */
img_width?: number,
/** 图片高度 */
img_height?: number,
/** 内容 */
content: string,
/** 创建时间 */
created_on: number,
/** 修改时间 */
modified_on?: number,
/** 删除时间 */
deleted_on?: number,
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1
}
interface TagProps { interface AttachmentProps {
id: number, id: number;
/** 创建者UID */ /** 类别1为图片2为视频3为其他附件 */
user_id: number, type: import("@/utils/IEnum").AttachmentTypeEnum;
/** 创建者用户数据 */ /** 发布者用户UID */
user: UserInfo, user_id: number;
/** 标签名 */ /** 发布者用户数据 */
tag: string, user: UserInfo;
/** 引用数 */ /** 文件大小 */
quote_num: number, file_size: number;
/** 创建时间 */ /** 图片宽度 */
created_on: number, img_width?: number;
/** 修改时间 */ /** 图片高度 */
modified_on?: number, img_height?: number;
/** 删除时间 */ /** 内容 */
deleted_on?: number, content: string;
/** 是否删除0为未删除1为已删除 */ /** 创建时间 */
is_del?: 0 | 1 created_on: number;
} /** 修改时间 */
modified_on?: number;
/** 删除时间 */
deleted_on?: number;
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1;
}
interface PagerProps { interface TagProps {
/** 当前页码 */ id: number;
page: number, /** 创建者UID */
/** 每页条数 */ user_id: number;
page_size: number, /** 创建者用户数据 */
/** 总条数 */ user: UserInfo;
total_rows: number /** 标签名 */
} tag: string;
/** 引用数 */
quote_num: number;
/** 创建时间 */
created_on: number;
/** 修改时间 */
modified_on?: number;
/** 删除时间 */
deleted_on?: number;
/** 是否删除0为未删除1为已删除 */
is_del?: 0 | 1;
}
interface BillProps { interface PagerProps {
id: number, /** 当前页码 */
reason: string, page: number;
change_amount: number, /** 每页条数 */
created_on: number page_size: number;
} /** 总条数 */
total_rows: number;
}
interface BillProps {
id: number;
reason: string;
change_amount: number;
created_on: number;
}
} }

Loading…
Cancel
Save