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

Loading…
Cancel
Save