From a540f77f6d40a3942fb1340943d00bdcc0d93710 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Sep 2023 04:16:30 +0000 Subject: [PATCH 01/26] mod: bump github.com/getsentry/sentry-go from 0.24.0 to 0.24.1 Bumps [github.com/getsentry/sentry-go](https://github.com/getsentry/sentry-go) from 0.24.0 to 0.24.1. - [Release notes](https://github.com/getsentry/sentry-go/releases) - [Changelog](https://github.com/getsentry/sentry-go/blob/master/CHANGELOG.md) - [Commits](https://github.com/getsentry/sentry-go/compare/v0.24.0...v0.24.1) --- updated-dependencies: - dependency-name: github.com/getsentry/sentry-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5d21c9a5..919cc1d6 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/cockroachdb/errors v1.11.1 github.com/disintegration/imaging v1.6.2 github.com/fatih/color v1.15.0 - github.com/getsentry/sentry-go v0.24.0 + github.com/getsentry/sentry-go v0.24.1 github.com/gin-contrib/cors v1.4.0 github.com/gin-gonic/gin v1.9.1 github.com/go-resty/resty/v2 v2.7.0 diff --git a/go.sum b/go.sum index 028be948..4a7c6541 100644 --- a/go.sum +++ b/go.sum @@ -456,8 +456,8 @@ github.com/gabriel-vasile/mimetype v1.4.2 h1:w5qFW6JKBz9Y393Y4q372O9A7cUSequkh1Q github.com/gabriel-vasile/mimetype v1.4.2/go.mod h1:zApsH/mKG4w07erKIaJPFiX0Tsq9BFQgN3qGY5GnNgA= github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/getsentry/sentry-go v0.24.0 h1:02b7qEmJ56EHGe9KFgjArjU/vG/aywm7Efgu+iPc01Y= -github.com/getsentry/sentry-go v0.24.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= +github.com/getsentry/sentry-go v0.24.1 h1:W6/0GyTy8J6ge6lVCc94WB6Gx2ZuLrgopnn9w8Hiwuk= +github.com/getsentry/sentry-go v0.24.1/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/cors v1.4.0 h1:oJ6gwtUl3lqV0WEIwM/LxPF1QZ5qe2lGWdY2+bz7y0g= From 8b49ed1a59de33e8103a742ee94eee1b4381a23c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Sep 2023 04:16:37 +0000 Subject: [PATCH 02/26] mod: bump github.com/bytedance/sonic from 1.10.0 to 1.10.1 Bumps [github.com/bytedance/sonic](https://github.com/bytedance/sonic) from 1.10.0 to 1.10.1. - [Release notes](https://github.com/bytedance/sonic/releases) - [Commits](https://github.com/bytedance/sonic/compare/v1.10.0...v1.10.1) --- updated-dependencies: - dependency-name: github.com/bytedance/sonic dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5d21c9a5..853ec60d 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( github.com/aliyun/aliyun-oss-go-sdk v2.2.9+incompatible github.com/allegro/bigcache/v3 v3.1.0 github.com/bufbuild/connect-go v1.10.0 - github.com/bytedance/sonic v1.10.0 + github.com/bytedance/sonic v1.10.1 github.com/cockroachdb/errors v1.11.1 github.com/disintegration/imaging v1.6.2 github.com/fatih/color v1.15.0 diff --git a/go.sum b/go.sum index 028be948..84ab945a 100644 --- a/go.sum +++ b/go.sum @@ -195,8 +195,8 @@ github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0Bsq github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= -github.com/bytedance/sonic v1.10.0 h1:qtNZduETEIWJVIyDl01BeNxur2rW9OwTQ/yBqFRkKEk= -github.com/bytedance/sonic v1.10.0/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= +github.com/bytedance/sonic v1.10.1 h1:7a1wuFXL1cMy7a3f7/VFcEtriuXQnUBhtoVfOZiaysc= +github.com/bytedance/sonic v1.10.1/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/cenkalti/backoff/v4 v4.1.2/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= From 70d21258b2f7599c3785bfa845ae7afd0057db30 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 14 Sep 2023 04:16:43 +0000 Subject: [PATCH 03/26] mod: bump github.com/meilisearch/meilisearch-go from 0.25.0 to 0.25.1 Bumps [github.com/meilisearch/meilisearch-go](https://github.com/meilisearch/meilisearch-go) from 0.25.0 to 0.25.1. - [Release notes](https://github.com/meilisearch/meilisearch-go/releases) - [Commits](https://github.com/meilisearch/meilisearch-go/compare/v0.25.0...v0.25.1) --- updated-dependencies: - dependency-name: github.com/meilisearch/meilisearch-go dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 5d21c9a5..b9a10fe5 100644 --- a/go.mod +++ b/go.mod @@ -24,7 +24,7 @@ require ( github.com/golang-migrate/migrate/v4 v4.15.2 github.com/huaweicloud/huaweicloud-sdk-go-obs v3.23.4+incompatible github.com/json-iterator/go v1.1.12 - github.com/meilisearch/meilisearch-go v0.25.0 + github.com/meilisearch/meilisearch-go v0.25.1 github.com/minio/minio-go/v7 v7.0.63 github.com/onsi/ginkgo/v2 v2.12.0 github.com/onsi/gomega v1.27.10 diff --git a/go.sum b/go.sum index 028be948..35f7efaf 100644 --- a/go.sum +++ b/go.sum @@ -937,8 +937,8 @@ github.com/mattn/go-sqlite3 v1.14.17/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= -github.com/meilisearch/meilisearch-go v0.25.0 h1:xIp+8YWterHuDvpdYlwQ4Qp7im3JlRHmSKiP0NvjyXs= -github.com/meilisearch/meilisearch-go v0.25.0/go.mod h1:SxuSqDcPBIykjWz1PX+KzsYzArNLSCadQodWs8extS0= +github.com/meilisearch/meilisearch-go v0.25.1 h1:D5wY22sn5kkpRH3uYMGlwltdUEq5regIFmO7awHz3Vo= +github.com/meilisearch/meilisearch-go v0.25.1/go.mod h1:SxuSqDcPBIykjWz1PX+KzsYzArNLSCadQodWs8extS0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34= From 99e17d26a9870ebd8db661389f70e21f9aa8e703 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Fri, 15 Sep 2023 07:26:42 +0800 Subject: [PATCH 04/26] add more info in get site info api --- internal/conf/cache.go | 2 ++ internal/core/cache.go | 1 + internal/dao/cache/web.go | 19 ++++++++++++ internal/model/web/admin.go | 2 ++ internal/servants/web/admin.go | 29 ++++++++++++------- internal/servants/web/web.go | 2 +- web/dist/assets/404-bd2959cd.js | 1 - web/dist/assets/404-ee86e1a1.js | 1 + web/dist/assets/Anouncement-6ac7dc85.js | 1 - web/dist/assets/Anouncement-970e82a0.js | 1 + web/dist/assets/Collection-a1ac46c8.js | 1 - web/dist/assets/Collection-fe5a70c8.js | 1 + web/dist/assets/Contacts-735b9a98.js | 1 - web/dist/assets/Contacts-daebe967.js | 1 + web/dist/assets/Following-0f4690d5.js | 1 + web/dist/assets/Following-83766ae9.js | 1 - web/dist/assets/Home-05450a09.js | 1 + web/dist/assets/Home-3b67ef21.js | 1 - web/dist/assets/Messages-233de594.js | 1 + web/dist/assets/Messages-24561ce6.js | 1 - web/dist/assets/Post-41702890.js | 1 - web/dist/assets/Post-8a1f9102.js | 1 + web/dist/assets/Profile-2f783d8e.js | 1 + web/dist/assets/Profile-3522866b.js | 1 - web/dist/assets/Setting-3543c8fe.js | 1 - web/dist/assets/Setting-481cc2c3.js | 1 + web/dist/assets/Topic-c760f051.js | 1 - web/dist/assets/Topic-e0ae155d.js | 1 + web/dist/assets/User-3c76988c.js | 1 - web/dist/assets/User-cab97cbb.js | 1 + web/dist/assets/Wallet-34a63003.js | 1 - web/dist/assets/Wallet-3f9754c9.js | 1 + web/dist/assets/content-60b75b00.js | 1 + web/dist/assets/content-e5b2b63d.js | 1 - web/dist/assets/formatTime-4210fcd1.js | 1 - web/dist/assets/index-6886c40b.js | 1 - web/dist/assets/index-9103f10c.css | 1 - web/dist/assets/index-c337d1db.css | 1 + web/dist/assets/index-f37b0729.js | 1 + ...e_vue_type_style_index_0_lang-f8e6a4c1.js} | 2 +- ...ue_vue_type_style_index_0_lang-75f1af94.js | 1 + ...ue_vue_type_style_index_0_lang-8624318f.js | 1 - ...-63a82733.js => post-skeleton-2ccfac69.js} | 2 +- ...hisper-ccc06a56.js => whisper-41c78cd2.js} | 2 +- web/dist/index.html | 5 ++-- web/src/components/rightbar.vue | 24 +++++++++++---- web/src/types/NetReq.d.ts | 2 ++ web/src/utils/formatTime.ts | 4 +++ 48 files changed, 90 insertions(+), 41 deletions(-) delete mode 100644 web/dist/assets/404-bd2959cd.js create mode 100644 web/dist/assets/404-ee86e1a1.js delete mode 100644 web/dist/assets/Anouncement-6ac7dc85.js create mode 100644 web/dist/assets/Anouncement-970e82a0.js delete mode 100644 web/dist/assets/Collection-a1ac46c8.js create mode 100644 web/dist/assets/Collection-fe5a70c8.js delete mode 100644 web/dist/assets/Contacts-735b9a98.js create mode 100644 web/dist/assets/Contacts-daebe967.js create mode 100644 web/dist/assets/Following-0f4690d5.js delete mode 100644 web/dist/assets/Following-83766ae9.js create mode 100644 web/dist/assets/Home-05450a09.js delete mode 100644 web/dist/assets/Home-3b67ef21.js create mode 100644 web/dist/assets/Messages-233de594.js delete mode 100644 web/dist/assets/Messages-24561ce6.js delete mode 100644 web/dist/assets/Post-41702890.js create mode 100644 web/dist/assets/Post-8a1f9102.js create mode 100644 web/dist/assets/Profile-2f783d8e.js delete mode 100644 web/dist/assets/Profile-3522866b.js delete mode 100644 web/dist/assets/Setting-3543c8fe.js create mode 100644 web/dist/assets/Setting-481cc2c3.js delete mode 100644 web/dist/assets/Topic-c760f051.js create mode 100644 web/dist/assets/Topic-e0ae155d.js delete mode 100644 web/dist/assets/User-3c76988c.js create mode 100644 web/dist/assets/User-cab97cbb.js delete mode 100644 web/dist/assets/Wallet-34a63003.js create mode 100644 web/dist/assets/Wallet-3f9754c9.js create mode 100644 web/dist/assets/content-60b75b00.js delete mode 100644 web/dist/assets/content-e5b2b63d.js delete mode 100644 web/dist/assets/formatTime-4210fcd1.js delete mode 100644 web/dist/assets/index-6886c40b.js delete mode 100644 web/dist/assets/index-9103f10c.css create mode 100644 web/dist/assets/index-c337d1db.css create mode 100644 web/dist/assets/index-f37b0729.js rename web/dist/assets/{main-nav.vue_vue_type_style_index_0_lang-04907baf.js => main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js} (96%) create mode 100644 web/dist/assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js delete mode 100644 web/dist/assets/post-item.vue_vue_type_style_index_0_lang-8624318f.js rename web/dist/assets/{post-skeleton-63a82733.js => post-skeleton-2ccfac69.js} (88%) rename web/dist/assets/{whisper-ccc06a56.js => whisper-41c78cd2.js} (71%) diff --git a/internal/conf/cache.go b/internal/conf/cache.go index 8e3a2a28..174afdd6 100644 --- a/internal/conf/cache.go +++ b/internal/conf/cache.go @@ -23,6 +23,8 @@ const ( PrefixUserTweets = "paopao:usertweets:" PrefixUnreadmsg = "paopao:unreadmsg:" PrefixOnlineUser = "paopao:onlineuser:" + KeySiteStatus = "paopao:sitestatus" + KeyHistoryMaxOnline = "history.max.online" ) // 以下包含一些在cache中会用到的池化后的key diff --git a/internal/core/cache.go b/internal/core/cache.go index ad991cdf..3fdcf3fb 100644 --- a/internal/core/cache.go +++ b/internal/core/cache.go @@ -114,4 +114,5 @@ type WebCache interface { PutUnreadMsgCountResp(uid int64, data []byte) error DelUnreadMsgCountResp(uid int64) error ExistUnreadMsgCountResp(uid int64) bool + PutHistoryMaxOnline(newScore int) (int, error) } diff --git a/internal/dao/cache/web.go b/internal/dao/cache/web.go index 9dae8139..60418194 100644 --- a/internal/dao/cache/web.go +++ b/internal/dao/cache/web.go @@ -26,6 +26,7 @@ type appCache struct { type webCache struct { core.AppCache + c rueidis.Client unreadMsgExpire int64 } @@ -129,6 +130,23 @@ func (s *webCache) ExistUnreadMsgCountResp(uid int64) bool { return s.Exist(conf.KeyUnreadMsg.Get(uid)) } +func (s *webCache) PutHistoryMaxOnline(newScore int) (int, error) { + ctx := context.Background() + cmd := s.c.B().Zadd(). + Key(conf.KeySiteStatus). + Gt().ScoreMember(). + ScoreMember(float64(newScore), conf.KeyHistoryMaxOnline).Build() + if err := s.c.Do(ctx, cmd).Error(); err != nil { + return 0, err + } + cmd = s.c.B().Zscore().Key(conf.KeySiteStatus).Member(conf.KeyHistoryMaxOnline).Build() + if score, err := s.c.Do(ctx, cmd).ToFloat64(); err == nil { + return int(score), nil + } else { + return 0, err + } +} + func newAppCache() *appCache { return &appCache{ cscExpire: conf.CacheSetting.CientSideCacheExpire, @@ -139,6 +157,7 @@ func newAppCache() *appCache { func newWebCache(ac core.AppCache) *webCache { return &webCache{ AppCache: ac, + c: conf.MustRedisClient(), unreadMsgExpire: conf.CacheSetting.UnreadMsgExpire, } } diff --git a/internal/model/web/admin.go b/internal/model/web/admin.go index 47e0aeab..53f8af67 100644 --- a/internal/model/web/admin.go +++ b/internal/model/web/admin.go @@ -17,4 +17,6 @@ type SiteInfoReq struct { type SiteInfoResp struct { RegisterUserCount int64 `json:"register_user_count"` OnlineUserCount int `json:"online_user_count"` + HistoryMaxOnline int `json:"history_max_online"` + ServerUpTime int64 `json:"server_up_time"` } diff --git a/internal/servants/web/admin.go b/internal/servants/web/admin.go index fa6f19f4..1e996ad5 100644 --- a/internal/servants/web/admin.go +++ b/internal/servants/web/admin.go @@ -5,6 +5,8 @@ package web import ( + "time" + "github.com/alimy/mir/v4" "github.com/gin-gonic/gin" api "github.com/rocboss/paopao-ce/auto/api/v1" @@ -24,7 +26,8 @@ var ( type adminSrv struct { api.UnimplementedAdminServant *base.DaoServant - ac core.AppCache + wc core.WebCache + serverUpTime int64 } func (s *adminSrv) Chain() gin.HandlersChain { @@ -45,24 +48,28 @@ func (s *adminSrv) ChangeUserStatus(req *web.ChangeUserStatusReq) mir.Error { } func (s *adminSrv) SiteInfo(req *web.SiteInfoReq) (*web.SiteInfoResp, mir.Error) { - registerUserCount, err := s.Ds.GetRegisterUserCount() + res, err := &web.SiteInfoResp{ServerUpTime: s.serverUpTime}, error(nil) + res.RegisterUserCount, err = s.Ds.GetRegisterUserCount() if err != nil { logrus.Errorf("get SiteInfo[1] occurs error: %s", err) } - onlineUserKeys, err := s.ac.Keys(conf.PrefixOnlineUser + "*") - if err != nil { + onlineUserKeys, xerr := s.wc.Keys(conf.PrefixOnlineUser + "*") + if xerr == nil { + res.OnlineUserCount = len(onlineUserKeys) + if res.HistoryMaxOnline, err = s.wc.PutHistoryMaxOnline(res.OnlineUserCount); err != nil { + logrus.Errorf("get Siteinfo[3] occurs error: %s", err) + } + } else { logrus.Errorf("get Siteinfo[2] occurs error: %s", err) } // 错误进行宽松赦免处理 - return &web.SiteInfoResp{ - RegisterUserCount: registerUserCount, - OnlineUserCount: len(onlineUserKeys), - }, nil + return res, nil } -func newAdminSrv(s *base.DaoServant, ac core.AppCache) api.Admin { +func newAdminSrv(s *base.DaoServant, wc core.WebCache) api.Admin { return &adminSrv{ - DaoServant: s, - ac: ac, + DaoServant: s, + wc: wc, + serverUpTime: time.Now().Unix(), } } diff --git a/internal/servants/web/web.go b/internal/servants/web/web.go index 9cefc7f6..883a2481 100644 --- a/internal/servants/web/web.go +++ b/internal/servants/web/web.go @@ -32,7 +32,7 @@ func RouteWeb(e *gin.Engine) { lazyInitial() ds := base.NewDaoServant() // aways register servants - api.RegisterAdminServant(e, newAdminSrv(ds, _ac)) + api.RegisterAdminServant(e, newAdminSrv(ds, _wc)) api.RegisterCoreServant(e, newCoreSrv(ds, _oss, _wc)) api.RegisterRelaxServant(e, newRelaxSrv(ds, _wc), newRelaxChain()) api.RegisterLooseServant(e, newLooseSrv(ds, _ac)) diff --git a/web/dist/assets/404-bd2959cd.js b/web/dist/assets/404-bd2959cd.js deleted file mode 100644 index 4d798ed2..00000000 --- a/web/dist/assets/404-bd2959cd.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{u as a}from"./vue-router-e5a2430e.js";import{F as i,e as c,a2 as u}from"./naive-ui-d8de3dda.js";import{d as l,f as d,k as t,w as o,e as f,A as x}from"./@vue-a481fc63.js";import{_ as g}from"./index-6886c40b.js";import"./vuex-44de225f.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const v=l({__name:"404",setup(h){const e=a(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=i;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const M=g(v,[["__scopeId","data-v-e62daa85"]]);export{M as default}; diff --git a/web/dist/assets/404-ee86e1a1.js b/web/dist/assets/404-ee86e1a1.js new file mode 100644 index 00000000..75eec1b8 --- /dev/null +++ b/web/dist/assets/404-ee86e1a1.js @@ -0,0 +1 @@ +import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as i}from"./vue-router-e5a2430e.js";import{F as a,e as c,a2 as u}from"./naive-ui-d8de3dda.js";import{d as l,f as d,k as t,w as o,e as f,A as x}from"./@vue-a481fc63.js";import{_ as g}from"./index-f37b0729.js";import"./vuex-44de225f.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */const v=l({__name:"404",setup(h){const e=i(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=a;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const O=g(v,[["__scopeId","data-v-e62daa85"]]);export{O as default}; diff --git a/web/dist/assets/Anouncement-6ac7dc85.js b/web/dist/assets/Anouncement-6ac7dc85.js deleted file mode 100644 index 5b1329a0..00000000 --- a/web/dist/assets/Anouncement-6ac7dc85.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as F}from"./post-skeleton-63a82733.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{u as z}from"./vuex-44de225f.js";import{b as A}from"./vue-router-e5a2430e.js";import{a as R}from"./formatTime-4210fcd1.js";import{F as S,Q as V,I as q,G as I}from"./naive-ui-d8de3dda.js";import{d as P,H as n,b as j,f as o,k as a,w as p,e,bf as u,Y as l,F as D,u as E,q as G,j as s,x as _,l as H}from"./@vue-a481fc63.js";import{_ as L}from"./index-6886c40b.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./moment-2ab8298d.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const M={key:0,class:"pagination-wrap"},O={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},Y=P({__name:"Anouncement",setup($){const d=z(),g=A(),v=n(!1),r=n([]),i=n(+g.query.p||1),f=n(20),m=n(0),h=c=>{i.value=c};return j(()=>{}),(c,J)=>{const k=N,y=V,x=F,w=q,B=I,C=S;return e(),o("div",null,[a(k,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[m.value>1?(e(),o("div",M,[a(y,{page:i.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":m.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(e(),o("div",O,[a(x,{num:f.value},null,8,["num"])])):(e(),o("div",Q,[r.value.length===0?(e(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(e(!0),o(D,null,E(r.value,t=>(e(),G(B,{key:t.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(t.id),1),s("div",null,_(t.reason),1),s("div",{class:H({income:t.change_amount>=0,out:t.change_amount<0})},_((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const yt=L(Y,[["__scopeId","data-v-d4d04859"]]);export{yt as default}; diff --git a/web/dist/assets/Anouncement-970e82a0.js b/web/dist/assets/Anouncement-970e82a0.js new file mode 100644 index 00000000..a450ed35 --- /dev/null +++ b/web/dist/assets/Anouncement-970e82a0.js @@ -0,0 +1 @@ +import{_ as F}from"./post-skeleton-2ccfac69.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as z}from"./vuex-44de225f.js";import{b as A}from"./vue-router-e5a2430e.js";import{E as R,_ as S}from"./index-f37b0729.js";import{F as V,Q as q,I as E,G as I}from"./naive-ui-d8de3dda.js";import{d as P,H as n,b as j,f as o,k as a,w as p,e as t,bf as u,Y as l,F as D,u as G,q as H,j as s,x as _,l as L}from"./@vue-a481fc63.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const M={key:0,class:"pagination-wrap"},O={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},Y=P({__name:"Anouncement",setup($){const d=z(),g=A(),v=n(!1),i=n([]),r=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{r.value=m};return j(()=>{}),(m,J)=>{const k=N,y=q,x=F,w=E,B=I,C=V;return t(),o("div",null,[a(k,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(t(),o("div",M,[a(y,{page:r.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(t(),o("div",O,[a(x,{num:f.value},null,8,["num"])])):(t(),o("div",Q,[i.value.length===0?(t(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(t(!0),o(D,null,G(i.value,e=>(t(),H(B,{key:e.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:L({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const ke=S(Y,[["__scopeId","data-v-d4d04859"]]);export{ke as default}; diff --git a/web/dist/assets/Collection-a1ac46c8.js b/web/dist/assets/Collection-a1ac46c8.js deleted file mode 100644 index ece13d2b..00000000 --- a/web/dist/assets/Collection-a1ac46c8.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as q}from"./whisper-ccc06a56.js";import{_ as I,a as V}from"./post-item.vue_vue_type_style_index_0_lang-8624318f.js";import{_ as W}from"./post-skeleton-63a82733.js";import{_ as E}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{u as G}from"./vuex-44de225f.js";import{b as H}from"./vue-router-e5a2430e.js";import{N as L,_ as Q}from"./index-6886c40b.js";import{d as T,H as s,b as U,f as o,k as n,w as u,bf as h,Y as w,e,F as k,u as y,q as C}from"./@vue-a481fc63.js";import{F as Y,Q as j,I as A,G as D}from"./naive-ui-d8de3dda.js";import"./content-e5b2b63d.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./formatTime-4210fcd1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={key:0,class:"skeleton-wrap"},K={key:1},O={key:0,class:"empty-wrap"},X={key:1},Z={key:2},ee={key:0,class:"pagination-wrap"},oe=T({__name:"Collection",setup(te){const m=G(),S=H(),_=s(!1),i=s([]),l=s(+S.query.p||1),p=s(20),r=s(0),c=s(!1),d=s({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),f=t=>{d.value=t,c.value=!0},b=()=>{c.value=!1},v=()=>{_.value=!0,L({page:l.value,page_size:p.value}).then(t=>{_.value=!1,i.value=t.list,r.value=Math.ceil(t.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(t=>{_.value=!1})},x=t=>{l.value=t,v()};return U(()=>{v()}),(t,ne)=>{const $=E,z=W,B=A,F=I,g=D,M=V,N=q,P=Y,R=j;return e(),o("div",null,[n($,{title:"收藏"}),n(P,{class:"main-content-wrap",bordered:""},{default:u(()=>[_.value?(e(),o("div",J,[n(z,{num:p.value},null,8,["num"])])):(e(),o("div",K,[i.value.length===0?(e(),o("div",O,[n(B,{size:"large",description:"暂无数据"})])):w("",!0),h(m).state.desktopModelShow?(e(),o("div",X,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(F,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))])):(e(),o("div",Z,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(M,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))]))])),n(N,{show:c.value,user:d.value,onSuccess:b},null,8,["show","user"])]),_:1}),r.value>0?(e(),o("div",ee,[n(R,{page:l.value,"onUpdate:page":x,"page-slot":h(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):w("",!0)])}}});const Ve=Q(oe,[["__scopeId","data-v-760779af"]]);export{Ve as default}; diff --git a/web/dist/assets/Collection-fe5a70c8.js b/web/dist/assets/Collection-fe5a70c8.js new file mode 100644 index 00000000..714997b6 --- /dev/null +++ b/web/dist/assets/Collection-fe5a70c8.js @@ -0,0 +1 @@ +import{_ as I}from"./whisper-41c78cd2.js";import{_ as N,a as Q}from"./post-item.vue_vue_type_style_index_0_lang-75f1af94.js";import{_ as V}from"./post-skeleton-2ccfac69.js";import{_ as W}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as E}from"./vuex-44de225f.js";import{b as G}from"./vue-router-e5a2430e.js";import{Q as H,_ as L}from"./index-f37b0729.js";import{d as T,H as s,b as U,f as o,k as n,w as u,bf as h,Y as w,e,F as k,u as y,q as C}from"./@vue-a481fc63.js";import{F as Y,Q as j,I as A,G as D}from"./naive-ui-d8de3dda.js";import"./content-60b75b00.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={key:0,class:"skeleton-wrap"},K={key:1},O={key:0,class:"empty-wrap"},X={key:1},Z={key:2},ee={key:0,class:"pagination-wrap"},oe=T({__name:"Collection",setup(te){const m=E(),S=G(),_=s(!1),i=s([]),l=s(+S.query.p||1),p=s(20),r=s(0),c=s(!1),d=s({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),f=t=>{d.value=t,c.value=!0},b=()=>{c.value=!1},v=()=>{_.value=!0,H({page:l.value,page_size:p.value}).then(t=>{_.value=!1,i.value=t.list,r.value=Math.ceil(t.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(t=>{_.value=!1})},x=t=>{l.value=t,v()};return U(()=>{v()}),(t,ne)=>{const $=W,z=V,B=A,F=N,g=D,M=Q,P=I,R=Y,q=j;return e(),o("div",null,[n($,{title:"收藏"}),n(R,{class:"main-content-wrap",bordered:""},{default:u(()=>[_.value?(e(),o("div",J,[n(z,{num:p.value},null,8,["num"])])):(e(),o("div",K,[i.value.length===0?(e(),o("div",O,[n(B,{size:"large",description:"暂无数据"})])):w("",!0),h(m).state.desktopModelShow?(e(),o("div",X,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(F,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))])):(e(),o("div",Z,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(M,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))]))])),n(P,{show:c.value,user:d.value,onSuccess:b},null,8,["show","user"])]),_:1}),r.value>0?(e(),o("div",ee,[n(q,{page:l.value,"onUpdate:page":x,"page-slot":h(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):w("",!0)])}}});const Ne=L(oe,[["__scopeId","data-v-760779af"]]);export{Ne as default}; diff --git a/web/dist/assets/Contacts-735b9a98.js b/web/dist/assets/Contacts-735b9a98.js deleted file mode 100644 index debd1f52..00000000 --- a/web/dist/assets/Contacts-735b9a98.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as T}from"./whisper-ccc06a56.js";import{d as N,c as j,r as A,e as s,f as c,k as t,w as n,j as i,y as H,A as L,x as v,bf as g,h as I,H as a,b as U,Y as S,F as z,u as W,q as E}from"./@vue-a481fc63.js";import{b as G}from"./formatTime-4210fcd1.js";import{i as Q,p as Y}from"./@vicons-7a4ef312.js";import{j as x,o as J,e as K,O as X,L as Z,F as ee,Q as te,I as ne,G as oe}from"./naive-ui-d8de3dda.js";import{_ as q,b as se}from"./index-6886c40b.js";import{_ as ae}from"./post-skeleton-63a82733.js";import{_ as ce}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{u as ie}from"./vuex-44de225f.js";import{b as _e}from"./vue-router-e5a2430e.js";import"./moment-2ab8298d.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";/* empty css */const re={class:"contact-item"},le={class:"nickname-wrap"},pe={class:"username-wrap"},ue={class:"user-info"},me={class:"info-item"},de={class:"info-item"},fe={class:"item-header-extra"},ve=N({__name:"contact-item",props:{contact:{}},emits:["send-whisper"],setup(b,{emit:h}){const _=b,r=e=>()=>I(x,null,{default:()=>I(e)}),l=j(()=>[{label:"私信",key:"whisper",icon:r(Y)}]),u=e=>{switch(e){case"whisper":const o={id:_.contact.user_id,avatar:_.contact.avatar,username:_.contact.username,nickname:_.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};h("send-whisper",o);break}};return(e,o)=>{const m=J,d=A("router-link"),w=K,k=X,y=Z;return s(),c("div",re,[t(y,{"content-indented":""},{avatar:n(()=>[t(m,{size:54,src:e.contact.avatar},null,8,["src"])]),header:n(()=>[i("span",le,[t(d,{onClick:o[0]||(o[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:n(()=>[L(v(e.contact.nickname),1)]),_:1},8,["to"])]),i("span",pe," @"+v(e.contact.username),1),i("div",ue,[i("span",me," UID. "+v(e.contact.user_id),1),i("span",de,v(g(G)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":n(()=>[i("div",fe,[t(k,{placement:"bottom-end",trigger:"click",size:"small",options:l.value,onSelect:u},{default:n(()=>[t(w,{quaternary:"",circle:""},{icon:n(()=>[t(g(x),null,{default:n(()=>[t(g(Q))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const ge=q(ve,[["__scopeId","data-v-d62f19da"]]),he={key:0,class:"skeleton-wrap"},we={key:1},ke={key:0,class:"empty-wrap"},ye={key:0,class:"pagination-wrap"},be=N({__name:"Contacts",setup(b){const h=ie(),_=_e(),r=a(!1),l=a([]),u=a(+_.query.p||1),e=a(20),o=a(0),m=a(!1),d=a({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),w=p=>{d.value=p,m.value=!0},k=()=>{m.value=!1},y=p=>{u.value=p,C()};U(()=>{C()});const C=(p=!1)=>{l.value.length===0&&(r.value=!0),se({page:u.value,page_size:e.value}).then(f=>{r.value=!1,l.value=f.list,o.value=Math.ceil(f.pager.total_rows/e.value),p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(f=>{r.value=!1})};return(p,f)=>{const B=ce,F=ae,M=ne,P=ge,V=oe,D=T,O=ee,R=te;return s(),c(z,null,[i("div",null,[t(B,{title:"好友"}),t(O,{class:"main-content-wrap",bordered:""},{default:n(()=>[r.value?(s(),c("div",he,[t(F,{num:e.value},null,8,["num"])])):(s(),c("div",we,[l.value.length===0?(s(),c("div",ke,[t(M,{size:"large",description:"暂无数据"})])):S("",!0),(s(!0),c(z,null,W(l.value,$=>(s(),E(V,{class:"list-item",key:$.user_id},{default:n(()=>[t(P,{contact:$,onSendWhisper:w},null,8,["contact"])]),_:2},1024))),128))])),t(D,{show:m.value,user:d.value,onSuccess:k},null,8,["show","user"])]),_:1})]),o.value>0?(s(),c("div",ye,[t(R,{page:u.value,"onUpdate:page":y,"page-slot":g(h).state.collapsedRight?5:8,"page-count":o.value},null,8,["page","page-slot","page-count"])])):S("",!0)],64)}}});const Ye=q(be,[["__scopeId","data-v-e20fef94"]]);export{Ye as default}; diff --git a/web/dist/assets/Contacts-daebe967.js b/web/dist/assets/Contacts-daebe967.js new file mode 100644 index 00000000..da7e57ff --- /dev/null +++ b/web/dist/assets/Contacts-daebe967.js @@ -0,0 +1 @@ +import{_ as T}from"./whisper-41c78cd2.js";import{d as F,c as j,r as A,e as s,f as c,k as t,w as n,j as i,y as H,A as L,x as v,bf as g,h as I,H as a,b as U,Y as S,F as z,u as W,q as E}from"./@vue-a481fc63.js";import{F as G,_ as N,b as Q}from"./index-f37b0729.js";import{i as Y,p as J}from"./@vicons-7a4ef312.js";import{j as x,o as K,e as X,O as Z,L as ee,F as te,Q as ne,I as oe,G as se}from"./naive-ui-d8de3dda.js";import{_ as ae}from"./post-skeleton-2ccfac69.js";import{_ as ce}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as ie}from"./vuex-44de225f.js";import{b as _e}from"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const re={class:"contact-item"},le={class:"nickname-wrap"},pe={class:"username-wrap"},ue={class:"user-info"},me={class:"info-item"},de={class:"info-item"},fe={class:"item-header-extra"},ve=F({__name:"contact-item",props:{contact:{}},emits:["send-whisper"],setup(C,{emit:h}){const _=C,r=e=>()=>I(x,null,{default:()=>I(e)}),l=j(()=>[{label:"私信",key:"whisper",icon:r(J)}]),u=e=>{switch(e){case"whisper":const o={id:_.contact.user_id,avatar:_.contact.avatar,username:_.contact.username,nickname:_.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};h("send-whisper",o);break}};return(e,o)=>{const m=K,d=A("router-link"),w=X,k=Z,y=ee;return s(),c("div",re,[t(y,{"content-indented":""},{avatar:n(()=>[t(m,{size:54,src:e.contact.avatar},null,8,["src"])]),header:n(()=>[i("span",le,[t(d,{onClick:o[0]||(o[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:n(()=>[L(v(e.contact.nickname),1)]),_:1},8,["to"])]),i("span",pe," @"+v(e.contact.username),1),i("div",ue,[i("span",me," UID. "+v(e.contact.user_id),1),i("span",de,v(g(G)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":n(()=>[i("div",fe,[t(k,{placement:"bottom-end",trigger:"click",size:"small",options:l.value,onSelect:u},{default:n(()=>[t(w,{quaternary:"",circle:""},{icon:n(()=>[t(g(x),null,{default:n(()=>[t(g(Y))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const ge=N(ve,[["__scopeId","data-v-d62f19da"]]),he={key:0,class:"skeleton-wrap"},we={key:1},ke={key:0,class:"empty-wrap"},ye={key:0,class:"pagination-wrap"},Ce=F({__name:"Contacts",setup(C){const h=ie(),_=_e(),r=a(!1),l=a([]),u=a(+_.query.p||1),e=a(20),o=a(0),m=a(!1),d=a({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),w=p=>{d.value=p,m.value=!0},k=()=>{m.value=!1},y=p=>{u.value=p,$()};U(()=>{$()});const $=(p=!1)=>{l.value.length===0&&(r.value=!0),Q({page:u.value,page_size:e.value}).then(f=>{r.value=!1,l.value=f.list,o.value=Math.ceil(f.pager.total_rows/e.value),p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(f=>{r.value=!1})};return(p,f)=>{const q=ce,B=ae,M=oe,P=ge,V=se,D=T,O=te,R=ne;return s(),c(z,null,[i("div",null,[t(q,{title:"好友"}),t(O,{class:"main-content-wrap",bordered:""},{default:n(()=>[r.value?(s(),c("div",he,[t(B,{num:e.value},null,8,["num"])])):(s(),c("div",we,[l.value.length===0?(s(),c("div",ke,[t(M,{size:"large",description:"暂无数据"})])):S("",!0),(s(!0),c(z,null,W(l.value,b=>(s(),E(V,{class:"list-item",key:b.user_id},{default:n(()=>[t(P,{contact:b,onSendWhisper:w},null,8,["contact"])]),_:2},1024))),128))])),t(D,{show:m.value,user:d.value,onSuccess:k},null,8,["show","user"])]),_:1})]),o.value>0?(s(),c("div",ye,[t(R,{page:u.value,"onUpdate:page":y,"page-slot":g(h).state.collapsedRight?5:8,"page-count":o.value},null,8,["page","page-slot","page-count"])])):S("",!0)],64)}}});const Qe=N(Ce,[["__scopeId","data-v-e20fef94"]]);export{Qe as default}; diff --git a/web/dist/assets/Following-0f4690d5.js b/web/dist/assets/Following-0f4690d5.js new file mode 100644 index 00000000..66ee8a86 --- /dev/null +++ b/web/dist/assets/Following-0f4690d5.js @@ -0,0 +1 @@ +import{_ as K}from"./whisper-41c78cd2.js";import{d as B,c as Q,r as Y,e as _,f as u,k as o,w as t,j as p,y as X,A as x,x as k,q as N,Y as U,bf as g,h as C,H as r,b as Z,F as M,u as ee}from"./@vue-a481fc63.js";import{u as oe,b as ne}from"./vue-router-e5a2430e.js";import{F as te,J as se,K as ae,_ as O,U as le,V as ce}from"./index-f37b0729.js";import{i as ie,p as _e,z as re,v as ue}from"./@vicons-7a4ef312.js";import{T as pe,j as P,o as me,M as de,e as fe,O as ge,L as ve,F as we,Q as he,f as ke,g as ye,I as be,G as $e}from"./naive-ui-d8de3dda.js";import{_ as Fe}from"./post-skeleton-2ccfac69.js";import{_ as ze}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as Te}from"./vuex-44de225f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"follow-item"},qe={class:"nickname-wrap"},Ie={class:"username-wrap"},Se={class:"user-info"},xe={class:"info-item"},Ce={class:"info-item"},Me={class:"item-header-extra"},Pe=B({__name:"follow-item",props:{contact:{}},emits:["send-whisper"],setup(q,{emit:y}){const n=q,c=pe();oe();const s=e=>()=>C(P,null,{default:()=>C(e)}),b=()=>{c.success({title:"提示",content:"确定"+(n.contact.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{n.contact.is_following?se({user_id:n.contact.user_id}).then(e=>{window.$message.success("取消关注成功"),n.contact.is_following=!1}).catch(e=>{console.log(e)}):ae({user_id:n.contact.user_id}).then(e=>{window.$message.success("关注成功"),n.contact.is_following=!0}).catch(e=>{console.log(e)})}})},v=Q(()=>{let e=[{label:"私信",key:"whisper",icon:s(_e)}];return n.contact.is_following?e.push({label:"取消关注",key:"unfollow",icon:s(re)}):e.push({label:"关注",key:"follow",icon:s(ue)}),e}),m=e=>{switch(e){case"follow":case"unfollow":b();break;case"whisper":const a={id:n.contact.user_id,avatar:n.contact.avatar,username:n.contact.username,nickname:n.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};y("send-whisper",a);break}};return(e,a)=>{const d=me,f=Y("router-link"),w=de,$=fe,F=ge,z=ve;return _(),u("div",Ue,[o(z,{"content-indented":""},{avatar:t(()=>[o(d,{size:54,src:e.contact.avatar},null,8,["src"])]),header:t(()=>[p("span",qe,[o(f,{onClick:a[0]||(a[0]=X(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:t(()=>[x(k(e.contact.nickname),1)]),_:1},8,["to"])]),p("span",Ie," @"+k(e.contact.username),1),e.contact.is_following?(_(),N(w,{key:0,class:"top-tag",type:"success",size:"small",round:""},{default:t(()=>[x(" 已关注 ")]),_:1})):U("",!0),p("div",Se,[p("span",xe," UID. "+k(e.contact.user_id),1),p("span",Ce,k(g(te)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":t(()=>[p("div",Me,[o(F,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:m},{default:t(()=>[o($,{quaternary:"",circle:""},{icon:t(()=>[o(g(P),null,{default:t(()=>[o(g(ie))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const Be=O(Pe,[["__scopeId","data-v-1fb7364a"]]),Ne={key:0,class:"skeleton-wrap"},Oe={key:1},Ve={key:0,class:"empty-wrap"},De={key:0,class:"pagination-wrap"},Re=B({__name:"Following",setup(q){const y=Te(),n=ne(),c=r(!1),s=r([]),b=n.query.n||"粉丝详情",v=n.query.s||"",m=r(n.query.t||"follows"),e=r(+n.query.p||1),a=r(20),d=r(0),f=r(!1),w=r({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),$=l=>{w.value=l,f.value=!0},F=()=>{f.value=!1},z=l=>{e.value=l,T()},V=l=>{m.value=l,T()},T=()=>{m.value==="follows"?D(v):m.value==="followings"&&R(v)},D=(l,h=!1)=>{s.value.length===0&&(c.value=!0),le({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})},R=(l,h=!1)=>{s.value.length===0&&(c.value=!0),ce({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})};return Z(()=>{T()}),(l,h)=>{const i=ze,I=ke,W=ye,j=Fe,A=be,H=Be,L=$e,E=K,G=we,J=he;return _(),u(M,null,[p("div",null,[o(i,{title:g(b),back:!0},null,8,["title"]),o(G,{class:"main-content-wrap",bordered:""},{default:t(()=>[o(W,{type:"line",animated:"","default-value":m.value,"onUpdate:value":V},{default:t(()=>[o(I,{name:"follows",tab:"正在关注"}),o(I,{name:"followings",tab:"我的粉丝"})]),_:1},8,["default-value"]),c.value?(_(),u("div",Ne,[o(j,{num:a.value},null,8,["num"])])):(_(),u("div",Oe,[s.value.length===0?(_(),u("div",Ve,[o(A,{size:"large",description:"暂无数据"})])):U("",!0),(_(!0),u(M,null,ee(s.value,S=>(_(),N(L,{key:S.user_id},{default:t(()=>[o(H,{contact:S,onSendWhisper:$},null,8,["contact"])]),_:2},1024))),128))])),o(E,{show:f.value,user:w.value,onSuccess:F},null,8,["show","user"])]),_:1})]),d.value>0?(_(),u("div",De,[o(J,{page:e.value,"onUpdate:page":z,"page-slot":g(y).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):U("",!0)],64)}}});const po=O(Re,[["__scopeId","data-v-0a10234f"]]);export{po as default}; diff --git a/web/dist/assets/Following-83766ae9.js b/web/dist/assets/Following-83766ae9.js deleted file mode 100644 index 3b729e57..00000000 --- a/web/dist/assets/Following-83766ae9.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as Y}from"./whisper-ccc06a56.js";import{d as B,c as J,r as K,e as _,f as u,k as o,w as t,j as p,y as X,A as x,x as k,q as N,Y as U,bf as g,h as C,H as r,b as Z,F as M,u as ee}from"./@vue-a481fc63.js";import{u as oe,b as ne}from"./vue-router-e5a2430e.js";import{G as te,H as se,_ as O,Q as ae,R as le}from"./index-6886c40b.js";import{b as ce}from"./formatTime-4210fcd1.js";import{i as ie,p as _e,z as re,v as ue}from"./@vicons-7a4ef312.js";import{T as pe,j as P,o as me,M as de,e as fe,O as ge,L as ve,F as we,Q as he,f as ke,g as ye,I as be,G as $e}from"./naive-ui-d8de3dda.js";import{_ as Fe}from"./post-skeleton-63a82733.js";import{_ as ze}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{u as Te}from"./vuex-44de225f.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const Ue={class:"follow-item"},qe={class:"nickname-wrap"},Ie={class:"username-wrap"},Se={class:"user-info"},xe={class:"info-item"},Ce={class:"info-item"},Me={class:"item-header-extra"},Pe=B({__name:"follow-item",props:{contact:{}},emits:["send-whisper"],setup(q,{emit:y}){const n=q,c=pe();oe();const s=e=>()=>C(P,null,{default:()=>C(e)}),b=()=>{c.success({title:"提示",content:"确定"+(n.contact.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{n.contact.is_following?te({user_id:n.contact.user_id}).then(e=>{window.$message.success("取消关注成功"),n.contact.is_following=!1}).catch(e=>{console.log(e)}):se({user_id:n.contact.user_id}).then(e=>{window.$message.success("关注成功"),n.contact.is_following=!0}).catch(e=>{console.log(e)})}})},v=J(()=>{let e=[{label:"私信",key:"whisper",icon:s(_e)}];return n.contact.is_following?e.push({label:"取消关注",key:"unfollow",icon:s(re)}):e.push({label:"关注",key:"follow",icon:s(ue)}),e}),m=e=>{switch(e){case"follow":case"unfollow":b();break;case"whisper":const a={id:n.contact.user_id,avatar:n.contact.avatar,username:n.contact.username,nickname:n.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};y("send-whisper",a);break}};return(e,a)=>{const d=me,f=K("router-link"),w=de,$=fe,F=ge,z=ve;return _(),u("div",Ue,[o(z,{"content-indented":""},{avatar:t(()=>[o(d,{size:54,src:e.contact.avatar},null,8,["src"])]),header:t(()=>[p("span",qe,[o(f,{onClick:a[0]||(a[0]=X(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:t(()=>[x(k(e.contact.nickname),1)]),_:1},8,["to"])]),p("span",Ie," @"+k(e.contact.username),1),e.contact.is_following?(_(),N(w,{key:0,class:"top-tag",type:"success",size:"small",round:""},{default:t(()=>[x(" 已关注 ")]),_:1})):U("",!0),p("div",Se,[p("span",xe," UID. "+k(e.contact.user_id),1),p("span",Ce,k(g(ce)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":t(()=>[p("div",Me,[o(F,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:m},{default:t(()=>[o($,{quaternary:"",circle:""},{icon:t(()=>[o(g(P),null,{default:t(()=>[o(g(ie))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const Be=O(Pe,[["__scopeId","data-v-1fb7364a"]]),Ne={key:0,class:"skeleton-wrap"},Oe={key:1},Re={key:0,class:"empty-wrap"},De={key:0,class:"pagination-wrap"},Ve=B({__name:"Following",setup(q){const y=Te(),n=ne(),c=r(!1),s=r([]),b=n.query.n||"粉丝详情",v=n.query.s||"",m=r(n.query.t||"follows"),e=r(+n.query.p||1),a=r(20),d=r(0),f=r(!1),w=r({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),$=l=>{w.value=l,f.value=!0},F=()=>{f.value=!1},z=l=>{e.value=l,T()},R=l=>{m.value=l,T()},T=()=>{m.value==="follows"?D(v):m.value==="followings"&&V(v)},D=(l,h=!1)=>{s.value.length===0&&(c.value=!0),ae({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})},V=(l,h=!1)=>{s.value.length===0&&(c.value=!0),le({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})};return Z(()=>{T()}),(l,h)=>{const i=ze,I=ke,H=ye,W=Fe,j=be,A=Be,G=$e,L=Y,Q=we,E=he;return _(),u(M,null,[p("div",null,[o(i,{title:g(b),back:!0},null,8,["title"]),o(Q,{class:"main-content-wrap",bordered:""},{default:t(()=>[o(H,{type:"line",animated:"","default-value":m.value,"onUpdate:value":R},{default:t(()=>[o(I,{name:"follows",tab:"正在关注"}),o(I,{name:"followings",tab:"我的粉丝"})]),_:1},8,["default-value"]),c.value?(_(),u("div",Ne,[o(W,{num:a.value},null,8,["num"])])):(_(),u("div",Oe,[s.value.length===0?(_(),u("div",Re,[o(j,{size:"large",description:"暂无数据"})])):U("",!0),(_(!0),u(M,null,ee(s.value,S=>(_(),N(G,{key:S.user_id},{default:t(()=>[o(A,{contact:S,onSendWhisper:$},null,8,["contact"])]),_:2},1024))),128))])),o(L,{show:f.value,user:w.value,onSuccess:F},null,8,["show","user"])]),_:1})]),d.value>0?(_(),u("div",De,[o(E,{page:e.value,"onUpdate:page":z,"page-slot":g(y).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):U("",!0)],64)}}});const mo=O(Ve,[["__scopeId","data-v-0a10234f"]]);export{mo as default}; diff --git a/web/dist/assets/Home-05450a09.js b/web/dist/assets/Home-05450a09.js new file mode 100644 index 00000000..3e31a896 --- /dev/null +++ b/web/dist/assets/Home-05450a09.js @@ -0,0 +1 @@ +import{_ as Ue}from"./whisper-41c78cd2.js";import{_ as Te,a as Ve}from"./post-item.vue_vue_type_style_index_0_lang-75f1af94.js";import{_ as Ee}from"./post-skeleton-2ccfac69.js";import{d as _e,H as l,c as ce,b as ge,e as c,f as y,bf as U,j as A,k as a,w as i,q as O,Y as k,y as ve,A as Y,x as ee,F as pe,u as de,E as Ne}from"./@vue-a481fc63.js";import{u as fe}from"./vuex-44de225f.js";import{l as me}from"./lodash-e0b37ac3.js";import{g as xe,a as Re,c as qe,b as Ge,d as Oe,e as Pe,_ as Fe}from"./index-f37b0729.js";import{p as Le}from"./content-60b75b00.js";import{V as B,P as H}from"./IEnum-5453a777.js";import{I as Ye,V as Se,A as Me,d as Ke,E as We}from"./@vicons-7a4ef312.js";import{o as he,v as je,j as Qe,e as He,w as Ze,x as Je,y as Xe,z as $e,A as et,B as tt,C as at,a as we,D as st,E as ot,F as nt,G as lt,l as it,H as rt,I as ut,k as ct}from"./naive-ui-d8de3dda.js";import{_ as pt}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{b as dt,u as vt}from"./vue-router-e5a2430e.js";import{W as mt}from"./v3-infinite-loading-2c58ec2f.js";import{S as _t}from"./@opentiny-d73a2d67.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./vue-1e3b54ec.js";import"./xss-a5544f63.js";import"./cssfilter-af71ba68.js";const gt=Z=>{const F=new FileReader,b=r=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(r),T=()=>{const r=new Uint8Array(F.result).subarray(0,4);let V="";for(let g=0;g{F.onloadend=()=>{const g=Z.type;r(g===""||g==="application/octet-stream"?T():b(g))},F.readAsArrayBuffer(Z.slice(0,4))})},ft={key:0,class:"compose-wrap"},ht={class:"compose-line"},wt={class:"compose-user"},yt={class:"compose-line compose-options"},kt={class:"attachment"},At={class:"submit-wrap"},bt={class:"attachment-list-wrap"},Ct={key:0,class:"attachment-price-wrap"},zt=A("span",null," 附件价格¥",-1),It={key:0,class:"eye-wrap"},Dt={key:1,class:"link-wrap"},Bt={key:1,class:"compose-wrap"},Ut=A("div",{class:"login-wrap"},[A("span",{class:"login-banner"}," 登录后,精彩更多")],-1),Tt={key:0,class:"login-only-wrap"},Vt={key:1,class:"login-wrap"},Et=_e({__name:"compose",emits:["post-success"],setup(Z,{emit:F}){const b=fe(),T=l([]),r=l(!1),V=l(!1),g=l(!1),P=l(!1),f=l(""),R=l([]),E=l(),N=l(0),m=l("public/image"),I=l([]),p=l([]),h=l([]),C=l([]),D=l(B.PUBLIC),q=l(B.PUBLIC),K="true".toLowerCase()==="true",L=+"400",J=l("true".toLowerCase()==="true"),X=l("true".toLowerCase()==="true"),te=l("true".toLowerCase()==="true"),S=l("false".toLowerCase()==="true"),ae=l("true".toLowerCase()==="true"),W="/v1/attachment",G=ce(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),$=ce(()=>{let e=[{value:B.PUBLIC,label:"公开"},{value:B.PRIVATE,label:"私密"},{value:B.Following,label:"关注可见"}];return K&&e.push({value:B.FRIEND,label:"好友可见"}),e}),se=()=>{g.value=!g.value,g.value&&P.value&&(P.value=!1)},j=()=>{P.value=!P.value,P.value&&g.value&&(g.value=!1)},oe=me.debounce(e=>{xe({k:e}).then(t=>{let n=[];t.suggest.map(o=>{n.push({label:o,value:o})}),T.value=n,r.value=!1}).catch(t=>{r.value=!1})},200),u=me.debounce(e=>{Re({k:e}).then(t=>{let n=[];t.suggest.map(o=>{n.push({label:o,value:o})}),T.value=n,r.value=!1}).catch(t=>{r.value=!1})},200),v=(e,t)=>{r.value||(r.value=!0,t==="@"?oe(e):u(e))},x=e=>{e.length>L?f.value=e.substring(0,L):f.value=e},w=e=>{m.value=e},z=e=>{for(let d=0;d30&&(e[d].name=n.substring(0,18)+"..."+n.substring(n.length-9)+"."+o)}I.value=e},ne=async e=>{var t,n,o,d,s;return m.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((t=e.file.file)==null?void 0:t.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):m.value==="image"&&((n=e.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):m.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=e.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):m.value==="public/video"&&((d=e.file.file)==null?void 0:d.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):m.value==="attachment"&&!await gt(e.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):m.value==="attachment"&&((s=e.file.file)==null?void 0:s.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},le=({file:e,event:t})=>{var n;try{let o=JSON.parse((n=t.target)==null?void 0:n.response);o.code===0&&(m.value==="public/image"&&p.value.push({id:e.id,content:o.data.content}),m.value==="public/video"&&h.value.push({id:e.id,content:o.data.content}),m.value==="attachment"&&C.value.push({id:e.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},ie=({file:e,event:t})=>{var n;try{let o=JSON.parse((n=t.target)==null?void 0:n.response);if(o.code!==0){let d=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(s=>{d+=":"+s}),window.$message.error(d)}}catch{window.$message.error("上传失败")}},re=({file:e})=>{let t=p.value.findIndex(n=>n.id===e.id);t>-1&&p.value.splice(t,1),t=h.value.findIndex(n=>n.id===e.id),t>-1&&h.value.splice(t,1),t=C.value.findIndex(n=>n.id===e.id),t>-1&&C.value.splice(t,1)},ue=()=>{if(f.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:e,users:t}=Le(f.value);const n=[];let o=100;n.push({content:f.value,type:H.TEXT,sort:o}),p.value.map(s=>{o++,n.push({content:s.content,type:H.IMAGEURL,sort:o})}),h.value.map(s=>{o++,n.push({content:s.content,type:H.VIDEOURL,sort:o})}),C.value.map(s=>{o++,n.push({content:s.content,type:H.ATTACHMENT,sort:o})}),R.value.length>0&&R.value.map(s=>{o++,n.push({content:s,type:H.LINKURL,sort:o})}),V.value=!0;let d=D.value;d==B.Following&&(d=B.PUBLIC),qe({contents:n,tags:Array.from(new Set(e)),users:Array.from(new Set(t)),attachment_price:+N.value*100,visibility:d}).then(s=>{var M;window.$message.success("发布成功"),V.value=!1,F("post-success",s),g.value=!1,P.value=!1,(M=E.value)==null||M.clear(),I.value=[],f.value="",R.value=[],p.value=[],h.value=[],C.value=[],D.value=q.value}).catch(s=>{V.value=!1})},Q=e=>{b.commit("triggerAuth",!0),b.commit("triggerAuthKey",e)};return ge(()=>{const e="friend".toLowerCase();K&&e==="friend"?q.value=B.FRIEND:e==="following"?q.value=B.Following:e==="public"?q.value=B.PUBLIC:q.value=B.PRIVATE,D.value=q.value}),(e,t)=>{const n=he,o=je,d=Qe,s=He,M=Ze,ye=Je,ke=Xe,Ae=$e,be=et,Ce=tt,ze=at,Ie=we,De=st,Be=ot;return c(),y("div",null,[U(b).state.userInfo.id>0?(c(),y("div",ft,[A("div",ht,[A("div",wt,[a(n,{round:"",size:30,src:U(b).state.userInfo.avatar},null,8,["src"])]),a(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:r.value,value:f.value,prefix:["@","#"],options:T.value,onSearch:v,"onUpdate:value":x,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(Ce,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:W,headers:{Authorization:G.value},data:{type:m.value},"file-list":I.value,onBeforeUpload:ne,onFinish:le,onError:ie,onRemove:re,"onUpdate:fileList":z},{default:i(()=>[A("div",yt,[A("div",kt,[a(M,{abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("public/image"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Ye))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),X.value?(c(),O(M,{key:0,abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value!=="public/video"||I.value.length===9,onClick:()=>{w("public/video"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),te.value?(c(),O(M,{key:1,abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("attachment"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Me))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),a(s,{quaternary:"",circle:"",type:"primary",onClick:ve(se,["stop"])},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Ke))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),O(s,{key:2,quaternary:"",circle:"",type:"primary",onClick:ve(j,["stop"])},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(We))]),_:1})]),_:1},8,["onClick"])):k("",!0)]),A("div",At,[a(ke,{trigger:"hover",placement:"bottom"},{trigger:i(()=>[a(ye,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:f.value.length/U(L)*100},null,8,["percentage"])]),default:i(()=>[Y(" "+ee(f.value.length)+" / "+ee(U(L)),1)]),_:1}),a(s,{loading:V.value,onClick:ue,type:"primary",secondary:"",round:""},{default:i(()=>[Y(" 发布 ")]),_:1},8,["loading"])])]),A("div",bt,[a(Ae),C.value.length>0?(c(),y("div",Ct,[S.value?(c(),O(be,{key:0,value:N.value,"onUpdate:value":t[0]||(t[0]=_=>N.value=_),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:i(()=>[zt]),_:1},8,["value"])):k("",!0)])):k("",!0)])]),_:1},8,["headers","data","file-list"]),P.value?(c(),y("div",It,[a(De,{value:D.value,"onUpdate:value":t[1]||(t[1]=_=>D.value=_),name:"radiogroup"},{default:i(()=>[a(Ie,null,{default:i(()=>[(c(!0),y(pe,null,de($.value,_=>(c(),O(ze,{key:_.value,value:_.value,label:_.label},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])):k("",!0),g.value?(c(),y("div",Dt,[a(Be,{value:R.value,"onUpdate:value":t[2]||(t[2]=_=>R.value=_),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":i(()=>[Y(" 创建链接 ")]),_:1},8,["value"])])):k("",!0)])):(c(),y("div",Bt,[Ut,J.value?k("",!0):(c(),y("div",Tt,[a(s,{strong:"",secondary:"",round:"",type:"primary",onClick:t[3]||(t[3]=_=>Q("signin"))},{default:i(()=>[Y(" 登录 ")]),_:1})])),J.value?(c(),y("div",Vt,[a(s,{strong:"",secondary:"",round:"",type:"primary",onClick:t[4]||(t[4]=_=>Q("signin"))},{default:i(()=>[Y(" 登录 ")]),_:1}),a(s,{strong:"",secondary:"",round:"",type:"info",onClick:t[5]||(t[5]=_=>Q("signup"))},{default:i(()=>[Y(" 注册 ")]),_:1})])):k("",!0)]))])}}});const Nt="data:image/png;base64,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",xt="/assets/discover-tweets-ba464531.jpeg",Rt="/assets/following-tweets-fab6741a.jpeg",qt={class:"slide-bar-item"},Gt={class:"slide-bar-item-title slide-bar-user-link"},Ot={key:1,class:"skeleton-wrap"},Pt={key:0,class:"empty-wrap"},Ft={key:1},Lt={key:2},Yt={class:"load-more-wrap"},St={class:"load-more-spinner"},Mt=_e({__name:"Home",setup(Z){const F="true".toLowerCase()==="true",b="true".toLowerCase()==="true",T=fe(),r=dt(),V=vt(),g=l(9),P=l(8),f=l([{title:"最新动态",style:1,username:"",avatar:Nt,show:!0},{title:"热门推荐",style:2,username:"",avatar:xt,show:!1},{title:"正在关注",style:3,username:"",avatar:Rt,show:!1},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0}]),R=l("泡泡广场"),E=l(!1),N=l(!1),m=l(1),I=l(""),p=l([]),h=l(1),C=l(20),D=l(0),q=l(!1),K=l({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),L=u=>{K.value=u,q.value=!0},J=()=>{q.value=!1},X=()=>{R.value="泡泡广场",r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?R.value="#"+decodeURIComponent(r.query.q):R.value="搜索: "+decodeURIComponent(r.query.q))},te=ce(()=>F&&b&&T.state.desktopModelShow&&T.state.userInfo.id>0),S=()=>{E.value=!1,N.value=!1,p.value=[],h.value=1,D.value=0},ae=(u,v)=>{switch(S(),m.value=u.style,r.query.q&&(r.query.q=null,X()),u.style){case 1:G();break;case 2:G();break;case 3:r.query.q=null,G();break;case 21:I.value=u.username,$();break}f.value[v].show=!1},W=()=>{f.value=f.value.slice(0,3),!(!F||!b||T.state.userInfo.id===0)&&Ge({page:1,page_size:50}).then(u=>{var v=0;const x=u.list||[];let w=[];for(;v0&&(f.value=f.value.concat(w))}).catch(u=>{console.log(u)})},G=()=>{E.value=!0,Oe({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:h.value,page_size:C.value}).then(u=>{E.value=!1,u.list.length===0&&(N.value=!0),h.value>1?p.value=p.value.concat(u.list):(p.value=u.list,window.scrollTo(0,0)),D.value=Math.ceil(u.pager.total_rows/C.value)}).catch(u=>{E.value=!1,h.value>1&&h.value--})},$=()=>{E.value=!0,Pe({username:I.value,style:"post",page:h.value,page_size:C.value}).then(u=>{E.value=!1,u.list.length===0&&(N.value=!0),h.value>1?p.value=p.value.concat(u.list):(p.value=u.list||[],window.scrollTo(0,0)),D.value=Math.ceil(u.pager.total_rows/C.value)}).catch(u=>{p.value=[],h.value>1&&h.value--,E.value=!1})},se=u=>{if(m.value!=1){V.push({name:"post",query:{id:u.id}});return}let v=[],x=p.value.length;x==C.value&&x--;for(var w=0;w{switch(m.value){case 1:G();break;case 2:G();break;case 3:G();break;case 21:r.query.q?G():$();break}},oe=()=>{h.value{S(),W(),G()}),Ne(()=>({path:r.path,query:r.query,refresh:T.state.refresh}),(u,v)=>{if(X(),u.refresh!==v.refresh){S(),setTimeout(()=>{W(),j()},0);return}v.path!=="/post"&&u.path==="/"&&(S(),setTimeout(()=>{W(),j()},0))}),(u,v)=>{const x=pt,w=Et,z=lt,ne=he,le=it,ie=rt,re=Ee,ue=ut,Q=Te,e=Ve,t=Ue,n=nt,o=ct,d=we;return c(),y("div",null,[a(x,{title:R.value},null,8,["title"]),a(n,{class:"main-content-wrap",bordered:""},{default:i(()=>[a(z,null,{default:i(()=>[a(w,{onPostSuccess:se})]),_:1}),te.value?(c(),O(z,{key:0},{default:i(()=>[a(U(_t),{modelValue:f.value,"onUpdate:modelValue":v[0]||(v[0]=s=>f.value=s),"wheel-blocks":P.value,"init-blocks":g.value,onClick:ae,tag:"div","sub-tag":"div"},{default:i(s=>[A("div",qt,[a(le,{value:"1",offset:[-4,48],dot:"",show:s.slotData.show},{default:i(()=>[a(ne,{round:"",size:48,src:s.slotData.avatar,class:"slide-bar-item-avatar"},null,8,["src"])]),_:2},1032,["show"]),A("div",Gt,[a(ie,{"line-clamp":2},{default:i(()=>[Y(ee(s.slotData.title),1)]),_:2},1024)])])]),_:1},8,["modelValue","wheel-blocks","init-blocks"])]),_:1})):k("",!0),E.value&&p.value.length===0?(c(),y("div",Ot,[a(re,{num:C.value},null,8,["num"])])):k("",!0),A("div",null,[p.value.length===0?(c(),y("div",Pt,[a(ue,{size:"large",description:"暂无数据"})])):k("",!0),U(T).state.desktopModelShow?(c(),y("div",Ft,[(c(!0),y(pe,null,de(p.value,s=>(c(),O(z,{key:s.id},{default:i(()=>[a(Q,{post:s,onSendWhisper:L},null,8,["post"])]),_:2},1024))),128))])):(c(),y("div",Lt,[(c(!0),y(pe,null,de(p.value,s=>(c(),O(z,{key:s.id},{default:i(()=>[a(e,{post:s,onSendWhisper:L},null,8,["post"])]),_:2},1024))),128))]))]),a(t,{show:q.value,user:K.value,onSuccess:J},null,8,["show","user"])]),_:1}),D.value>0?(c(),O(d,{key:0,justify:"center"},{default:i(()=>[a(U(mt),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:v[1]||(v[1]=s=>oe())},{spinner:i(()=>[A("div",Yt,[N.value?k("",!0):(c(),O(o,{key:0,size:14})),A("span",St,ee(N.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):k("",!0)])}}});const Ua=Fe(Mt,[["__scopeId","data-v-899c075b"]]);export{Ua as default}; diff --git a/web/dist/assets/Home-3b67ef21.js b/web/dist/assets/Home-3b67ef21.js deleted file mode 100644 index 7051f03d..00000000 --- a/web/dist/assets/Home-3b67ef21.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as Ue}from"./whisper-ccc06a56.js";import{_ as Te,a as Ve}from"./post-item.vue_vue_type_style_index_0_lang-8624318f.js";import{_ as Ee}from"./post-skeleton-63a82733.js";import{d as _e,H as l,c as ce,b as ge,e as c,f as y,bf as U,j as A,k as a,w as i,q as O,Y as k,y as ve,A as Y,x as ee,F as pe,u as de,E as Ne}from"./@vue-a481fc63.js";import{u as fe}from"./vuex-44de225f.js";import{l as me}from"./lodash-e0b37ac3.js";import{g as xe,a as Re,c as qe,b as Ge,d as Oe,e as Pe,_ as Fe}from"./index-6886c40b.js";import{p as Le}from"./content-e5b2b63d.js";import{V as B,P as H}from"./IEnum-5453a777.js";import{I as Ye,V as Se,A as Me,d as Ke,E as We}from"./@vicons-7a4ef312.js";import{o as he,v as je,j as Qe,e as He,w as Ze,x as Je,y as Xe,z as $e,A as et,B as tt,C as at,a as we,D as st,E as ot,F as nt,G as lt,l as it,H as rt,I as ut,k as ct}from"./naive-ui-d8de3dda.js";import{_ as pt}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{b as dt,u as vt}from"./vue-router-e5a2430e.js";import{W as mt}from"./v3-infinite-loading-2c58ec2f.js";import{S as _t}from"./@opentiny-d73a2d67.js";import"./formatTime-4210fcd1.js";import"./moment-2ab8298d.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./vue-1e3b54ec.js";import"./xss-a5544f63.js";import"./cssfilter-af71ba68.js";const gt=Z=>{const F=new FileReader,b=r=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(r),T=()=>{const r=new Uint8Array(F.result).subarray(0,4);let V="";for(let g=0;g{F.onloadend=()=>{const g=Z.type;r(g===""||g==="application/octet-stream"?T():b(g))},F.readAsArrayBuffer(Z.slice(0,4))})},ft={key:0,class:"compose-wrap"},ht={class:"compose-line"},wt={class:"compose-user"},yt={class:"compose-line compose-options"},kt={class:"attachment"},At={class:"submit-wrap"},bt={class:"attachment-list-wrap"},Ct={key:0,class:"attachment-price-wrap"},zt=A("span",null," 附件价格¥",-1),It={key:0,class:"eye-wrap"},Dt={key:1,class:"link-wrap"},Bt={key:1,class:"compose-wrap"},Ut=A("div",{class:"login-wrap"},[A("span",{class:"login-banner"}," 登录后,精彩更多")],-1),Tt={key:0,class:"login-only-wrap"},Vt={key:1,class:"login-wrap"},Et=_e({__name:"compose",emits:["post-success"],setup(Z,{emit:F}){const b=fe(),T=l([]),r=l(!1),V=l(!1),g=l(!1),P=l(!1),f=l(""),R=l([]),E=l(),N=l(0),m=l("public/image"),I=l([]),p=l([]),h=l([]),C=l([]),D=l(B.PUBLIC),q=l(B.PUBLIC),K="true".toLowerCase()==="true",L=+"400",J=l("true".toLowerCase()==="true"),X=l("true".toLowerCase()==="true"),te=l("true".toLowerCase()==="true"),S=l("false".toLowerCase()==="true"),ae=l("true".toLowerCase()==="true"),W="/v1/attachment",G=ce(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),$=ce(()=>{let e=[{value:B.PUBLIC,label:"公开"},{value:B.PRIVATE,label:"私密"},{value:B.Following,label:"关注可见"}];return K&&e.push({value:B.FRIEND,label:"好友可见"}),e}),se=()=>{g.value=!g.value,g.value&&P.value&&(P.value=!1)},j=()=>{P.value=!P.value,P.value&&g.value&&(g.value=!1)},oe=me.debounce(e=>{xe({k:e}).then(t=>{let n=[];t.suggest.map(o=>{n.push({label:o,value:o})}),T.value=n,r.value=!1}).catch(t=>{r.value=!1})},200),u=me.debounce(e=>{Re({k:e}).then(t=>{let n=[];t.suggest.map(o=>{n.push({label:o,value:o})}),T.value=n,r.value=!1}).catch(t=>{r.value=!1})},200),v=(e,t)=>{r.value||(r.value=!0,t==="@"?oe(e):u(e))},x=e=>{e.length>L?f.value=e.substring(0,L):f.value=e},w=e=>{m.value=e},z=e=>{for(let d=0;d30&&(e[d].name=n.substring(0,18)+"..."+n.substring(n.length-9)+"."+o)}I.value=e},ne=async e=>{var t,n,o,d,s;return m.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((t=e.file.file)==null?void 0:t.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):m.value==="image"&&((n=e.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):m.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=e.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):m.value==="public/video"&&((d=e.file.file)==null?void 0:d.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):m.value==="attachment"&&!await gt(e.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):m.value==="attachment"&&((s=e.file.file)==null?void 0:s.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},le=({file:e,event:t})=>{var n;try{let o=JSON.parse((n=t.target)==null?void 0:n.response);o.code===0&&(m.value==="public/image"&&p.value.push({id:e.id,content:o.data.content}),m.value==="public/video"&&h.value.push({id:e.id,content:o.data.content}),m.value==="attachment"&&C.value.push({id:e.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},ie=({file:e,event:t})=>{var n;try{let o=JSON.parse((n=t.target)==null?void 0:n.response);if(o.code!==0){let d=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(s=>{d+=":"+s}),window.$message.error(d)}}catch{window.$message.error("上传失败")}},re=({file:e})=>{let t=p.value.findIndex(n=>n.id===e.id);t>-1&&p.value.splice(t,1),t=h.value.findIndex(n=>n.id===e.id),t>-1&&h.value.splice(t,1),t=C.value.findIndex(n=>n.id===e.id),t>-1&&C.value.splice(t,1)},ue=()=>{if(f.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:e,users:t}=Le(f.value);const n=[];let o=100;n.push({content:f.value,type:H.TEXT,sort:o}),p.value.map(s=>{o++,n.push({content:s.content,type:H.IMAGEURL,sort:o})}),h.value.map(s=>{o++,n.push({content:s.content,type:H.VIDEOURL,sort:o})}),C.value.map(s=>{o++,n.push({content:s.content,type:H.ATTACHMENT,sort:o})}),R.value.length>0&&R.value.map(s=>{o++,n.push({content:s,type:H.LINKURL,sort:o})}),V.value=!0;let d=D.value;d==B.Following&&(d=B.PUBLIC),qe({contents:n,tags:Array.from(new Set(e)),users:Array.from(new Set(t)),attachment_price:+N.value*100,visibility:d}).then(s=>{var M;window.$message.success("发布成功"),V.value=!1,F("post-success",s),g.value=!1,P.value=!1,(M=E.value)==null||M.clear(),I.value=[],f.value="",R.value=[],p.value=[],h.value=[],C.value=[],D.value=q.value}).catch(s=>{V.value=!1})},Q=e=>{b.commit("triggerAuth",!0),b.commit("triggerAuthKey",e)};return ge(()=>{const e="friend".toLowerCase();K&&e==="friend"?q.value=B.FRIEND:e==="following"?q.value=B.Following:e==="public"?q.value=B.PUBLIC:q.value=B.PRIVATE,D.value=q.value}),(e,t)=>{const n=he,o=je,d=Qe,s=He,M=Ze,ye=Je,ke=Xe,Ae=$e,be=et,Ce=tt,ze=at,Ie=we,De=st,Be=ot;return c(),y("div",null,[U(b).state.userInfo.id>0?(c(),y("div",ft,[A("div",ht,[A("div",wt,[a(n,{round:"",size:30,src:U(b).state.userInfo.avatar},null,8,["src"])]),a(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:r.value,value:f.value,prefix:["@","#"],options:T.value,onSearch:v,"onUpdate:value":x,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(Ce,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:W,headers:{Authorization:G.value},data:{type:m.value},"file-list":I.value,onBeforeUpload:ne,onFinish:le,onError:ie,onRemove:re,"onUpdate:fileList":z},{default:i(()=>[A("div",yt,[A("div",kt,[a(M,{abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("public/image"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Ye))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),X.value?(c(),O(M,{key:0,abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value!=="public/video"||I.value.length===9,onClick:()=>{w("public/video"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),te.value?(c(),O(M,{key:1,abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("attachment"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Me))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),a(s,{quaternary:"",circle:"",type:"primary",onClick:ve(se,["stop"])},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Ke))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),O(s,{key:2,quaternary:"",circle:"",type:"primary",onClick:ve(j,["stop"])},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(We))]),_:1})]),_:1},8,["onClick"])):k("",!0)]),A("div",At,[a(ke,{trigger:"hover",placement:"bottom"},{trigger:i(()=>[a(ye,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:f.value.length/U(L)*100},null,8,["percentage"])]),default:i(()=>[Y(" "+ee(f.value.length)+" / "+ee(U(L)),1)]),_:1}),a(s,{loading:V.value,onClick:ue,type:"primary",secondary:"",round:""},{default:i(()=>[Y(" 发布 ")]),_:1},8,["loading"])])]),A("div",bt,[a(Ae),C.value.length>0?(c(),y("div",Ct,[S.value?(c(),O(be,{key:0,value:N.value,"onUpdate:value":t[0]||(t[0]=_=>N.value=_),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:i(()=>[zt]),_:1},8,["value"])):k("",!0)])):k("",!0)])]),_:1},8,["headers","data","file-list"]),P.value?(c(),y("div",It,[a(De,{value:D.value,"onUpdate:value":t[1]||(t[1]=_=>D.value=_),name:"radiogroup"},{default:i(()=>[a(Ie,null,{default:i(()=>[(c(!0),y(pe,null,de($.value,_=>(c(),O(ze,{key:_.value,value:_.value,label:_.label},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])):k("",!0),g.value?(c(),y("div",Dt,[a(Be,{value:R.value,"onUpdate:value":t[2]||(t[2]=_=>R.value=_),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":i(()=>[Y(" 创建链接 ")]),_:1},8,["value"])])):k("",!0)])):(c(),y("div",Bt,[Ut,J.value?k("",!0):(c(),y("div",Tt,[a(s,{strong:"",secondary:"",round:"",type:"primary",onClick:t[3]||(t[3]=_=>Q("signin"))},{default:i(()=>[Y(" 登录 ")]),_:1})])),J.value?(c(),y("div",Vt,[a(s,{strong:"",secondary:"",round:"",type:"primary",onClick:t[4]||(t[4]=_=>Q("signin"))},{default:i(()=>[Y(" 登录 ")]),_:1}),a(s,{strong:"",secondary:"",round:"",type:"info",onClick:t[5]||(t[5]=_=>Q("signup"))},{default:i(()=>[Y(" 注册 ")]),_:1})])):k("",!0)]))])}}});const Nt="data:image/png;base64,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",xt="/assets/discover-tweets-ba464531.jpeg",Rt="/assets/following-tweets-fab6741a.jpeg",qt={class:"slide-bar-item"},Gt={class:"slide-bar-item-title slide-bar-user-link"},Ot={key:1,class:"skeleton-wrap"},Pt={key:0,class:"empty-wrap"},Ft={key:1},Lt={key:2},Yt={class:"load-more-wrap"},St={class:"load-more-spinner"},Mt=_e({__name:"Home",setup(Z){const F="true".toLowerCase()==="true",b="true".toLowerCase()==="true",T=fe(),r=dt(),V=vt(),g=l(9),P=l(8),f=l([{title:"最新动态",style:1,username:"",avatar:Nt,show:!0},{title:"热门推荐",style:2,username:"",avatar:xt,show:!1},{title:"正在关注",style:3,username:"",avatar:Rt,show:!1},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0}]),R=l("泡泡广场"),E=l(!1),N=l(!1),m=l(1),I=l(""),p=l([]),h=l(1),C=l(20),D=l(0),q=l(!1),K=l({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),L=u=>{K.value=u,q.value=!0},J=()=>{q.value=!1},X=()=>{R.value="泡泡广场",r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?R.value="#"+decodeURIComponent(r.query.q):R.value="搜索: "+decodeURIComponent(r.query.q))},te=ce(()=>F&&b&&T.state.desktopModelShow&&T.state.userInfo.id>0),S=()=>{E.value=!1,N.value=!1,p.value=[],h.value=1,D.value=0},ae=(u,v)=>{switch(S(),m.value=u.style,r.query.q&&(r.query.q=null,X()),u.style){case 1:G();break;case 2:G();break;case 3:r.query.q=null,G();break;case 21:I.value=u.username,$();break}f.value[v].show=!1},W=()=>{f.value=f.value.slice(0,3),!(!F||!b||T.state.userInfo.id===0)&&Ge({page:1,page_size:50}).then(u=>{var v=0;const x=u.list||[];let w=[];for(;v0&&(f.value=f.value.concat(w))}).catch(u=>{console.log(u)})},G=()=>{E.value=!0,Oe({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:h.value,page_size:C.value}).then(u=>{E.value=!1,u.list.length===0&&(N.value=!0),h.value>1?p.value=p.value.concat(u.list):(p.value=u.list,window.scrollTo(0,0)),D.value=Math.ceil(u.pager.total_rows/C.value)}).catch(u=>{E.value=!1,h.value>1&&h.value--})},$=()=>{E.value=!0,Pe({username:I.value,style:"post",page:h.value,page_size:C.value}).then(u=>{E.value=!1,u.list.length===0&&(N.value=!0),h.value>1?p.value=p.value.concat(u.list):(p.value=u.list||[],window.scrollTo(0,0)),D.value=Math.ceil(u.pager.total_rows/C.value)}).catch(u=>{p.value=[],h.value>1&&h.value--,E.value=!1})},se=u=>{if(m.value!=1){V.push({name:"post",query:{id:u.id}});return}let v=[],x=p.value.length;x==C.value&&x--;for(var w=0;w{switch(m.value){case 1:G();break;case 2:G();break;case 3:G();break;case 21:r.query.q?G():$();break}},oe=()=>{h.value{S(),W(),G()}),Ne(()=>({path:r.path,query:r.query,refresh:T.state.refresh}),(u,v)=>{if(X(),u.refresh!==v.refresh){S(),setTimeout(()=>{W(),j()},0);return}v.path!=="/post"&&u.path==="/"&&(S(),setTimeout(()=>{W(),j()},0))}),(u,v)=>{const x=pt,w=Et,z=lt,ne=he,le=it,ie=rt,re=Ee,ue=ut,Q=Te,e=Ve,t=Ue,n=nt,o=ct,d=we;return c(),y("div",null,[a(x,{title:R.value},null,8,["title"]),a(n,{class:"main-content-wrap",bordered:""},{default:i(()=>[a(z,null,{default:i(()=>[a(w,{onPostSuccess:se})]),_:1}),te.value?(c(),O(z,{key:0},{default:i(()=>[a(U(_t),{modelValue:f.value,"onUpdate:modelValue":v[0]||(v[0]=s=>f.value=s),"wheel-blocks":P.value,"init-blocks":g.value,onClick:ae,tag:"div","sub-tag":"div"},{default:i(s=>[A("div",qt,[a(le,{value:"1",offset:[-4,48],dot:"",show:s.slotData.show},{default:i(()=>[a(ne,{round:"",size:48,src:s.slotData.avatar,class:"slide-bar-item-avatar"},null,8,["src"])]),_:2},1032,["show"]),A("div",Gt,[a(ie,{"line-clamp":2},{default:i(()=>[Y(ee(s.slotData.title),1)]),_:2},1024)])])]),_:1},8,["modelValue","wheel-blocks","init-blocks"])]),_:1})):k("",!0),E.value&&p.value.length===0?(c(),y("div",Ot,[a(re,{num:C.value},null,8,["num"])])):k("",!0),A("div",null,[p.value.length===0?(c(),y("div",Pt,[a(ue,{size:"large",description:"暂无数据"})])):k("",!0),U(T).state.desktopModelShow?(c(),y("div",Ft,[(c(!0),y(pe,null,de(p.value,s=>(c(),O(z,{key:s.id},{default:i(()=>[a(Q,{post:s,onSendWhisper:L},null,8,["post"])]),_:2},1024))),128))])):(c(),y("div",Lt,[(c(!0),y(pe,null,de(p.value,s=>(c(),O(z,{key:s.id},{default:i(()=>[a(e,{post:s,onSendWhisper:L},null,8,["post"])]),_:2},1024))),128))]))]),a(t,{show:q.value,user:K.value,onSuccess:J},null,8,["show","user"])]),_:1}),D.value>0?(c(),O(d,{key:0,justify:"center"},{default:i(()=>[a(U(mt),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:v[1]||(v[1]=s=>oe())},{spinner:i(()=>[A("div",Yt,[N.value?k("",!0):(c(),O(o,{key:0,size:14})),A("span",St,ee(N.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):k("",!0)])}}});const Ta=Fe(Mt,[["__scopeId","data-v-899c075b"]]);export{Ta as default}; diff --git a/web/dist/assets/Messages-233de594.js b/web/dist/assets/Messages-233de594.js new file mode 100644 index 00000000..59c5f72e --- /dev/null +++ b/web/dist/assets/Messages-233de594.js @@ -0,0 +1 @@ +import{d as D,c as N,r as J,e as t,f as r,k as s,w as a,bf as o,j as f,y as C,A as _,x as m,q as I,Y as i,l as K,h as H,u as T,F as U,H as v,b as Y}from"./@vue-a481fc63.js";import{u as G}from"./vuex-44de225f.js";import{u as X,b as Z}from"./vue-router-e5a2430e.js";import{E as x,M as ee,N as se,O as ne,_ as E,P as te}from"./index-f37b0729.js";import{J as L,i as ae,K as oe,N as re,O as Q,Q as ie,p as le}from"./@vicons-7a4ef312.js";import{j as d,o as ue,M as _e,l as pe,e as ce,O as de,S as me,L as ge,U as ve,F as fe,Q as ye,I as ke,G as he}from"./naive-ui-d8de3dda.js";import{_ as we}from"./whisper-41c78cd2.js";import{_ as $e}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const be={class:"sender-wrap"},Ce={key:0,class:"nickname"},Ie={class:"username"},Me={key:1,class:"nickname"},Se={class:"username"},ze={key:2,class:"nickname"},Oe={class:"timestamp"},Fe={class:"timestamp-txt"},Ne={key:0,class:"brief-content"},qe={key:1,class:"whisper-content-wrap"},Re={key:2,class:"requesting-friend-wrap"},Ae={key:2,class:"status-info"},Pe={key:3,class:"status-info"},We="https://assets.paopao.info/public/avatar/default/admin.png",je=D({__name:"message-item",props:{message:{}},emits:["send-whisper"],setup(q,{emit:y}){const p=q,c=X(),l=G(),k=e=>()=>H(d,null,{default:()=>H(e)}),h=N(()=>[{label:"私信",key:"whisper",icon:k(le)}]),w=e=>{switch(e){case"whisper":const n=p.message;if(n.type!=99){let $=n.type==4&&n.sender_user_id==l.state.userInfo.id?n.receiver_user:n.sender_user;y("send-whisper",$)}break}},g=N(()=>p.message.type!==4||p.message.sender_user_id!==l.state.userInfo.id),M=N(()=>p.message.type==4&&p.message.receiver_user_id==l.state.userInfo.id),S=N(()=>p.message.type==4&&p.message.sender_user_id==l.state.userInfo.id),R=e=>{u(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?c.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},z=e=>{u(e),ee({user_id:e.sender_user_id}).then(n=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(n=>{console.log(n)})},A=e=>{u(e),se({user_id:e.sender_user_id}).then(n=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(n=>{console.log(n)})},u=e=>{p.message.receiver_user_id==l.state.userInfo.id&&e.is_read===0&&ne({id:e.id}).then(n=>{e.is_read=1}).catch(n=>{console.log(n)})};return(e,n)=>{const $=ue,O=J("router-link"),b=_e,P=pe,W=ce,j=de,B=me,F=ge;return t(),r("div",{class:K(["message-item",{unread:g.value&&e.message.is_read===0}]),onClick:n[5]||(n[5]=V=>u(e.message))},[s(F,{"content-indented":""},{avatar:a(()=>[s($,{round:"",size:30,src:e.message.type==4&&e.message.sender_user_id==o(l).state.userInfo.id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:We},null,8,["src"])]),header:a(()=>[f("div",be,[e.message.type!=4&&e.message.sender_user.id>0||M.value?(t(),r("span",Ce,[s(O,{onClick:n[0]||(n[0]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.sender_user.username}}},{default:a(()=>[_(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),f("span",Ie," @"+m(e.message.sender_user.username),1)])):S.value?(t(),r("span",Me,[s(O,{onClick:n[1]||(n[1]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.receiver_user.username}}},{default:a(()=>[_(m(e.message.receiver_user.nickname),1)]),_:1},8,["to"]),f("span",Se," @"+m(e.message.receiver_user.username),1)])):(t(),r("span",ze," 系统 ")),e.message.type==4?(t(),I(b,{key:3,class:"top-tag",type:"success",size:"small",round:""},{default:a(()=>[_(" 私信 ")]),_:1})):i("",!0),S.value?(t(),I(b,{key:4,class:"top-tag",type:"info",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已发送 ")]),_:1})):i("",!0),e.message.type==4&&e.message.receiver_user_id==o(l).state.userInfo.id?(t(),I(b,{key:5,class:"top-tag",type:"warning",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已接收 ")]),_:1})):i("",!0)])]),"header-extra":a(()=>[f("span",Oe,[g.value&&e.message.is_read===0?(t(),I(P,{key:0,dot:"",processing:""})):i("",!0),f("span",Fe,m(o(x)(e.message.created_on)),1),s(j,{placement:"bottom-end",trigger:"click",size:"small",options:h.value,onSelect:w},{default:a(()=>[s(W,{quaternary:"",circle:""},{icon:a(()=>[s(o(d),null,{default:a(()=>[s(o(ae))]),_:1})]),_:1})]),_:1},8,["options"])])]),description:a(()=>[s(B,{"show-icon":!1,class:"brief-wrap",type:!g.value||e.message.is_read>0?"default":"success"},{default:a(()=>[e.message.type!=4?(t(),r("div",Ne,[_(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),r("span",{key:0,onClick:n[2]||(n[2]=C(V=>R(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(oe))]),_:1}),_(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(t(),r("div",qe,m(e.message.content),1)):i("",!0),e.message.type===5?(t(),r("div",Re,[_(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),r("span",{key:0,onClick:n[3]||(n[3]=C(V=>z(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(re))]),_:1}),_(" 同意 ")])):i("",!0),e.message.reply_id===1?(t(),r("span",{key:1,onClick:n[4]||(n[4]=C(V=>A(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(t(),r("span",Ae,[s(o(d),null,{default:a(()=>[s(o(ie))]),_:1}),_(" 已同意 ")])):i("",!0),e.message.reply_id===3?(t(),r("span",Pe,[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Be=E(je,[["__scopeId","data-v-2e510758"]]),Ve={class:"content"},De=D({__name:"message-skeleton",props:{num:{default:1}},setup(q){return(y,p)=>{const c=ve;return t(!0),r(U,null,T(new Array(y.num),l=>(t(),r("div",{class:"skeleton-item",key:l},[f("div",Ve,[s(c,{text:"",repeat:2}),s(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Ee=E(De,[["__scopeId","data-v-01d2e871"]]),He={key:0,class:"skeleton-wrap"},Le={key:1},Qe={key:0,class:"empty-wrap"},Te={key:0,class:"pagination-wrap"},Ue=D({__name:"Messages",setup(q){const y=Z(),p=G(),c=v(!1),l=v(+y.query.p||1),k=v(10),h=v(0),w=v([]),g=v(!1),M=v({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),S=u=>{M.value=u,g.value=!0},R=()=>{g.value=!1},z=()=>{c.value=!0,te({page:l.value,page_size:k.value}).then(u=>{c.value=!1,w.value=u.list,h.value=Math.ceil(u.pager.total_rows/k.value)}).catch(u=>{c.value=!1})},A=u=>{l.value=u,z()};return Y(()=>{z()}),(u,e)=>{const n=$e,$=we,O=Ee,b=ke,P=Be,W=he,j=fe,B=ye;return t(),r("div",null,[s(n,{title:"消息"}),s(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:a(()=>[s($,{show:g.value,user:M.value,onSuccess:R},null,8,["show","user"]),c.value?(t(),r("div",He,[s(O,{num:k.value},null,8,["num"])])):(t(),r("div",Le,[w.value.length===0?(t(),r("div",Qe,[s(b,{size:"large",description:"暂无数据"})])):i("",!0),(t(!0),r(U,null,T(w.value,F=>(t(),I(W,{key:F.id},{default:a(()=>[s(P,{message:F,onSendWhisper:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),h.value>0?(t(),r("div",Te,[s(B,{page:l.value,"onUpdate:page":A,"page-slot":o(p).state.collapsedRight?5:8,"page-count":h.value},null,8,["page","page-slot","page-count"])])):i("",!0)])}}});const fs=E(Ue,[["__scopeId","data-v-b40dcbaf"]]);export{fs as default}; diff --git a/web/dist/assets/Messages-24561ce6.js b/web/dist/assets/Messages-24561ce6.js deleted file mode 100644 index 4fa04807..00000000 --- a/web/dist/assets/Messages-24561ce6.js +++ /dev/null @@ -1 +0,0 @@ -import{d as D,c as q,r as E,e as t,f as r,k as s,w as a,bf as o,j as f,y as C,A as _,x as m,q as I,Y as i,l as G,h as H,u as Q,F as T,H as v,b as Y}from"./@vue-a481fc63.js";import{u as U}from"./vuex-44de225f.js";import{u as X,b as Z}from"./vue-router-e5a2430e.js";import{J as x,K as ee,L as se,_ as L,M as ne}from"./index-6886c40b.js";import{a as te}from"./formatTime-4210fcd1.js";import{J,i as ae,K as oe,N as re,O as K,Q as ie,p as le}from"./@vicons-7a4ef312.js";import{j as d,o as ue,M as _e,l as pe,e as ce,O as de,S as me,L as ge,U as ve,F as fe,Q as ye,I as ke,G as he}from"./naive-ui-d8de3dda.js";import{_ as we}from"./whisper-ccc06a56.js";import{_ as $e}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const be={class:"sender-wrap"},Ce={key:0,class:"nickname"},Ie={class:"username"},Me={key:1,class:"nickname"},Se={class:"username"},ze={key:2,class:"nickname"},Fe={class:"timestamp"},Oe={class:"timestamp-txt"},qe={key:0,class:"brief-content"},Ne={key:1,class:"whisper-content-wrap"},Re={key:2,class:"requesting-friend-wrap"},Ae={key:2,class:"status-info"},We={key:3,class:"status-info"},je="https://assets.paopao.info/public/avatar/default/admin.png",Be=D({__name:"message-item",props:{message:{}},emits:["send-whisper"],setup(N,{emit:y}){const p=N,c=X(),l=U(),k=e=>()=>H(d,null,{default:()=>H(e)}),h=q(()=>[{label:"私信",key:"whisper",icon:k(le)}]),w=e=>{switch(e){case"whisper":const n=p.message;if(n.type!=99){let $=n.type==4&&n.sender_user_id==l.state.userInfo.id?n.receiver_user:n.sender_user;y("send-whisper",$)}break}},g=q(()=>p.message.type!==4||p.message.sender_user_id!==l.state.userInfo.id),M=q(()=>p.message.type==4&&p.message.receiver_user_id==l.state.userInfo.id),S=q(()=>p.message.type==4&&p.message.sender_user_id==l.state.userInfo.id),R=e=>{u(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?c.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},z=e=>{u(e),x({user_id:e.sender_user_id}).then(n=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(n=>{console.log(n)})},A=e=>{u(e),ee({user_id:e.sender_user_id}).then(n=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(n=>{console.log(n)})},u=e=>{p.message.receiver_user_id==l.state.userInfo.id&&e.is_read===0&&se({id:e.id}).then(n=>{e.is_read=1}).catch(n=>{console.log(n)})};return(e,n)=>{const $=ue,F=E("router-link"),b=_e,W=pe,j=ce,B=de,P=me,O=ge;return t(),r("div",{class:G(["message-item",{unread:g.value&&e.message.is_read===0}]),onClick:n[5]||(n[5]=V=>u(e.message))},[s(O,{"content-indented":""},{avatar:a(()=>[s($,{round:"",size:30,src:e.message.type==4&&e.message.sender_user_id==o(l).state.userInfo.id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:je},null,8,["src"])]),header:a(()=>[f("div",be,[e.message.type!=4&&e.message.sender_user.id>0||M.value?(t(),r("span",Ce,[s(F,{onClick:n[0]||(n[0]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.sender_user.username}}},{default:a(()=>[_(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),f("span",Ie," @"+m(e.message.sender_user.username),1)])):S.value?(t(),r("span",Me,[s(F,{onClick:n[1]||(n[1]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.receiver_user.username}}},{default:a(()=>[_(m(e.message.receiver_user.nickname),1)]),_:1},8,["to"]),f("span",Se," @"+m(e.message.receiver_user.username),1)])):(t(),r("span",ze," 系统 ")),e.message.type==4?(t(),I(b,{key:3,class:"top-tag",type:"success",size:"small",round:""},{default:a(()=>[_(" 私信 ")]),_:1})):i("",!0),S.value?(t(),I(b,{key:4,class:"top-tag",type:"info",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(J)},null,8,["component"])]),default:a(()=>[_(" 已发送 ")]),_:1})):i("",!0),e.message.type==4&&e.message.receiver_user_id==o(l).state.userInfo.id?(t(),I(b,{key:5,class:"top-tag",type:"warning",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(J)},null,8,["component"])]),default:a(()=>[_(" 已接收 ")]),_:1})):i("",!0)])]),"header-extra":a(()=>[f("span",Fe,[g.value&&e.message.is_read===0?(t(),I(W,{key:0,dot:"",processing:""})):i("",!0),f("span",Oe,m(o(te)(e.message.created_on)),1),s(B,{placement:"bottom-end",trigger:"click",size:"small",options:h.value,onSelect:w},{default:a(()=>[s(j,{quaternary:"",circle:""},{icon:a(()=>[s(o(d),null,{default:a(()=>[s(o(ae))]),_:1})]),_:1})]),_:1},8,["options"])])]),description:a(()=>[s(P,{"show-icon":!1,class:"brief-wrap",type:!g.value||e.message.is_read>0?"default":"success"},{default:a(()=>[e.message.type!=4?(t(),r("div",qe,[_(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),r("span",{key:0,onClick:n[2]||(n[2]=C(V=>R(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(oe))]),_:1}),_(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(t(),r("div",Ne,m(e.message.content),1)):i("",!0),e.message.type===5?(t(),r("div",Re,[_(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),r("span",{key:0,onClick:n[3]||(n[3]=C(V=>z(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(re))]),_:1}),_(" 同意 ")])):i("",!0),e.message.reply_id===1?(t(),r("span",{key:1,onClick:n[4]||(n[4]=C(V=>A(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(K))]),_:1}),_(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(t(),r("span",Ae,[s(o(d),null,{default:a(()=>[s(o(ie))]),_:1}),_(" 已同意 ")])):i("",!0),e.message.reply_id===3?(t(),r("span",We,[s(o(d),null,{default:a(()=>[s(o(K))]),_:1}),_(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Pe=L(Be,[["__scopeId","data-v-2e510758"]]),Ve={class:"content"},De=D({__name:"message-skeleton",props:{num:{default:1}},setup(N){return(y,p)=>{const c=ve;return t(!0),r(T,null,Q(new Array(y.num),l=>(t(),r("div",{class:"skeleton-item",key:l},[f("div",Ve,[s(c,{text:"",repeat:2}),s(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Le=L(De,[["__scopeId","data-v-01d2e871"]]),He={key:0,class:"skeleton-wrap"},Je={key:1},Ke={key:0,class:"empty-wrap"},Qe={key:0,class:"pagination-wrap"},Te=D({__name:"Messages",setup(N){const y=Z(),p=U(),c=v(!1),l=v(+y.query.p||1),k=v(10),h=v(0),w=v([]),g=v(!1),M=v({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),S=u=>{M.value=u,g.value=!0},R=()=>{g.value=!1},z=()=>{c.value=!0,ne({page:l.value,page_size:k.value}).then(u=>{c.value=!1,w.value=u.list,h.value=Math.ceil(u.pager.total_rows/k.value)}).catch(u=>{c.value=!1})},A=u=>{l.value=u,z()};return Y(()=>{z()}),(u,e)=>{const n=$e,$=we,F=Le,b=ke,W=Pe,j=he,B=fe,P=ye;return t(),r("div",null,[s(n,{title:"消息"}),s(B,{class:"main-content-wrap messages-wrap",bordered:""},{default:a(()=>[s($,{show:g.value,user:M.value,onSuccess:R},null,8,["show","user"]),c.value?(t(),r("div",He,[s(F,{num:k.value},null,8,["num"])])):(t(),r("div",Je,[w.value.length===0?(t(),r("div",Ke,[s(b,{size:"large",description:"暂无数据"})])):i("",!0),(t(!0),r(T,null,Q(w.value,O=>(t(),I(j,{key:O.id},{default:a(()=>[s(W,{message:O,onSendWhisper:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),h.value>0?(t(),r("div",Qe,[s(P,{page:l.value,"onUpdate:page":A,"page-slot":o(p).state.collapsedRight?5:8,"page-count":h.value},null,8,["page","page-slot","page-count"])])):i("",!0)])}}});const ys=L(Te,[["__scopeId","data-v-b40dcbaf"]]);export{ys as default}; diff --git a/web/dist/assets/Post-41702890.js b/web/dist/assets/Post-41702890.js deleted file mode 100644 index b55a6821..00000000 --- a/web/dist/assets/Post-41702890.js +++ /dev/null @@ -1 +0,0 @@ -import{d as ee,H as c,r as ge,e as o,f as _,j as d,k as t,w as n,A as I,x as P,q as R,Y as u,bf as a,y as B,c as oe,al as Ve,F as re,u as _e,$ as Te,a0 as ze,b as Re,h as $e,E as Ye}from"./@vue-a481fc63.js";import{u as ne}from"./vuex-44de225f.js";import{f as pe}from"./formatTime-4210fcd1.js";import{t as Je,f as Ke,h as We,_ as ae,i as Ge,j as Qe,k as Xe,l as Ze,g as et,m as tt,n as st,o as ot,p as nt,q as at,s as lt,r as it,v as ut,u as ct,w as rt,x as _t,y as Ce}from"./index-6886c40b.js";import{Y as de,V as G}from"./IEnum-5453a777.js";import{T as Ue,e as me,f as Se,g as ve,h as Le,I as pt,i as dt,j as mt,k as vt,l as ht,m as ft,n as gt,o as yt,p as kt,q as wt,r as bt,s as $t,t as xe,F as Ie,E as ie,u as ue,v as ce,w as Pe}from"./@vicons-7a4ef312.js";import{j as H,e as le,J as Oe,H as Ct,b as xt,K as It,o as ye,L as De,v as Pt,w as Tt,x as zt,y as Rt,z as Ut,B as St,M as Lt,O as Ot,i as Dt,P as At,a as Ae,F as Mt,I as Et,k as qt,G as Nt,f as Bt,g as jt}from"./naive-ui-d8de3dda.js";import{p as ke,_ as Me,a as Ft,b as Ht,c as Vt}from"./content-e5b2b63d.js";import{u as Ee,b as Yt}from"./vue-router-e5a2430e.js";import{_ as Jt}from"./post-skeleton-63a82733.js";import{l as Kt}from"./lodash-e0b37ac3.js";import{_ as Wt}from"./whisper-ccc06a56.js";import{c as Gt}from"./copy-to-clipboard-4ef7d3eb.js";import{_ as Qt}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{W as Xt}from"./v3-infinite-loading-2c58ec2f.js";import"./moment-2ab8298d.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";const Zt={class:"reply-item"},es={class:"header-wrap"},ts={class:"username"},ss={class:"reply-name"},os={class:"timestamp"},ns={class:"base-wrap"},as={class:"content"},ls={class:"reply-switch"},is={class:"time-item"},us={class:"actions"},cs={class:"upvote-count"},rs=["onClick"],_s={class:"upvote-count"},ps={key:2,class:"action-item"},ds=["onClick"],ms=ee({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(E,{emit:q}){const i=E,m=ne(),v=c(i.reply.is_thumbs_up==de.YES),k=c(i.reply.is_thumbs_down==de.YES),w=c(i.reply.thumbs_up_count),U=()=>{Je({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{v.value=!v.value,v.value?(w.value++,k.value=!1):w.value--}).catch(h=>{console.log(h)})},r=()=>{Ke({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{k.value=!k.value,k.value&&v.value&&(w.value--,v.value=!1)}).catch(h=>{console.log(h)})},S=()=>{q("focusReply",i.reply)},T=()=>{We({id:i.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{q("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const O=ge("router-link"),p=H,C=le,D=Oe,b=Ct;return o(),_("div",Zt,[d("div",es,[d("div",ts,[t(O,{class:"user-link",to:{name:"user",query:{s:i.reply.user.username}}},{default:n(()=>[I(P(i.reply.user.username),1)]),_:1},8,["to"]),d("span",ss,P(i.reply.at_user_id>0?"回复":":"),1),i.reply.at_user_id>0?(o(),R(O,{key:0,class:"user-link",to:{name:"user",query:{s:i.reply.at_user.username}}},{default:n(()=>[I(P(i.reply.at_user.username),1)]),_:1},8,["to"])):u("",!0)]),d("div",os,[I(P(i.reply.ip_loc)+" ",1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===i.reply.user.id?(o(),R(D,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(C,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(p,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),d("div",ns,[d("div",as,[t(b,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[I(P(i.reply.content),1)]),_:1})]),d("div",ls,[d("span",is,P(a(pe)(i.reply.created_on)),1),d("div",us,[a(m).state.userLogined?u("",!0):(o(),_("div",{key:0,class:"action-item",onClick:$[0]||($[0]=B(()=>{},["stop"]))},[t(p,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",cs,P(w.value),1)])),a(m).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(U,["stop"])},[t(p,{size:"medium"},{default:n(()=>[v.value?u("",!0):(o(),R(a(me),{key:0})),v.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",_s,P(w.value>0?w.value:"赞"),1)],8,rs)):u("",!0),a(m).state.userLogined?u("",!0):(o(),_("div",ps,[t(p,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(m).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(r,["stop"])},[t(p,{size:"medium"},{default:n(()=>[k.value?u("",!0):(o(),R(a(ve),{key:0})),k.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,ds)):u("",!0),a(m).state.userLogined?(o(),_("span",{key:4,class:"show opacity-item reply-btn",onClick:S}," 回复 ")):u("",!0)])])])])}}});const vs=ae(ms,[["__scopeId","data-v-187a4ed3"]]),hs={class:"reply-compose-wrap"},fs={class:"reply-switch"},gs={class:"time-item"},ys={class:"actions"},ks={key:0,class:"action-item"},ws={class:"upvote-count"},bs=["onClick"],$s={class:"upvote-count"},Cs={key:2,class:"action-item"},xs=["onClick"],Is={key:0,class:"reply-input-wrap"},Ps=ee({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(E,{expose:q,emit:i}){const m=E,v=ne(),k=c(),w=c(!1),U=c(""),r=c(!1),S=+"300",T=c(m.comment.is_thumbs_up==de.YES),h=c(m.comment.is_thumbs_down==de.YES),$=c(m.comment.thumbs_up_count),O=()=>{Ge({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(b=>{console.log(b)})},p=()=>{Qe({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(b=>{console.log(b)})},C=b=>{w.value=b,b?setTimeout(()=>{var A;(A=k.value)==null||A.focus()},10):(r.value=!1,U.value="",i("reset"))},D=()=>{r.value=!0,Xe({comment_id:m.comment.id,at_user_id:m.atUserid,content:U.value}).then(b=>{C(!1),window.$message.success("评论成功"),i("reload")}).catch(b=>{r.value=!1})};return q({switchReply:C}),(b,A)=>{const s=H,g=xt,F=le,z=It;return o(),_("div",hs,[d("div",fs,[d("span",gs,P(a(pe)(b.comment.created_on)),1),d("div",ys,[a(v).state.userLogined?u("",!0):(o(),_("div",ks,[t(s,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",ws,P($.value),1)])),a(v).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(O,["stop"])},[t(s,{size:"medium"},{default:n(()=>[T.value?u("",!0):(o(),R(a(me),{key:0})),T.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",$s,P($.value>0?$.value:"赞"),1)],8,bs)):u("",!0),a(v).state.userLogined?u("",!0):(o(),_("div",Cs,[t(s,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(v).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(p,["stop"])},[t(s,{size:"medium"},{default:n(()=>[h.value?u("",!0):(o(),R(a(ve),{key:0})),h.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,xs)):u("",!0),a(v).state.userLogined&&!w.value?(o(),_("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=L=>C(!0))}," 回复 ")):u("",!0),a(v).state.userLogined&&w.value?(o(),_("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=L=>C(!1))}," 取消 ")):u("",!0)])]),w.value?(o(),_("div",Is,[t(z,null,{default:n(()=>[t(g,{ref_key:"inputInstRef",ref:k,size:"small",placeholder:m.atUsername?"@"+m.atUsername:"请输入回复内容..",maxlength:a(S),value:U.value,"onUpdate:value":A[2]||(A[2]=L=>U.value=L),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(F,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:D},{default:n(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):u("",!0)])}}});const Ts=ae(Ps,[["__scopeId","data-v-f9af7a93"]]),zs={class:"comment-item"},Rs={class:"nickname-wrap"},Us={class:"username-wrap"},Ss={class:"opt-wrap"},Ls={class:"timestamp"},Os=["innerHTML"],Ds={class:"reply-wrap"},As=ee({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m=ne(),v=Ee(),k=c(0),w=c(""),U=c(),r=oe(()=>{let p=Object.assign({texts:[],imgs:[]},i.comment);return p.contents.map(C=>{(+C.type==1||+C.type==2)&&p.texts.push(C),+C.type==3&&p.imgs.push(C)}),p}),S=(p,C)=>{let D=p.target;if(D.dataset.detail){const b=D.dataset.detail.split(":");b.length===2&&(m.commit("refresh"),b[0]==="tag"?window.$message.warning("评论内的无效话题"):v.push({name:"user",query:{s:b[1]}}))}},T=p=>{var C,D;k.value=p.user_id,w.value=((C=p.user)==null?void 0:C.username)||"",(D=U.value)==null||D.switchReply(!0)},h=()=>{q("reload")},$=()=>{k.value=0,w.value=""},O=()=>{Ze({id:r.value.id}).then(p=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(p=>{})};return(p,C)=>{const D=ye,b=ge("router-link"),A=H,s=le,g=Oe,F=Me,z=Ts,L=vs,J=De;return o(),_("div",zs,[t(J,{"content-indented":""},Ve({avatar:n(()=>[t(D,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",Rs,[t(b,{onClick:C[0]||(C[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:r.value.user.username}}},{default:n(()=>[I(P(r.value.user.nickname),1)]),_:1},8,["to"])]),d("span",Us," @"+P(r.value.user.username),1)]),"header-extra":n(()=>[d("div",Ss,[d("span",Ls,P(r.value.ip_loc),1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===r.value.user.id?(o(),R(g,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:O},{trigger:n(()=>[t(s,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),R(F,{key:0,imgs:r.value.imgs},null,8,["imgs"])):u("",!0),t(z,{ref_key:"replyComposeRef",ref:U,comment:r.value,"at-userid":k.value,"at-username":w.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),d("div",Ds,[(o(!0),_(re,null,_e(r.value.replies,j=>(o(),R(L,{key:j.id,reply:j,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),_(re,null,_e(r.value.texts,j=>(o(),_("span",{key:j.id,class:"comment-text",onClick:C[1]||(C[1]=B(V=>S(V,r.value.id),["stop"])),innerHTML:a(ke)(j.content).content},null,8,Os))),128))]),key:"0"}:void 0]),1024)])}}});const Ms=ae(As,[["__scopeId","data-v-36dac8c8"]]),Es=E=>(Te("data-v-d9073453"),E=E(),ze(),E),qs={key:0,class:"compose-wrap"},Ns={class:"compose-line"},Bs={class:"compose-user"},js={class:"compose-line compose-options"},Fs={class:"attachment"},Hs={class:"submit-wrap"},Vs={class:"attachment-list-wrap"},Ys={key:1,class:"compose-wrap"},Js=Es(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ks={key:0,class:"login-only-wrap"},Ws={key:1,class:"login-wrap"},Gs=ee({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(E,{emit:q}){const i=E,m=ne(),v=c([]),k=c(!1),w=c(!1),U=c(!1),r=c(""),S=c(),T=c("public/image"),h=c([]),$=c([]),O=c("true".toLowerCase()==="true"),p=+"300",C="/v1/attachment",D=oe(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),b=Kt.debounce(f=>{et({k:f}).then(y=>{let x=[];y.suggest.map(e=>{x.push({label:e,value:e})}),v.value=x,w.value=!1}).catch(y=>{w.value=!1})},200),A=(f,y)=>{w.value||(w.value=!0,y==="@"&&b(f))},s=f=>{f.length>p?r.value=f.substring(0,p):r.value=f},g=f=>{T.value=f},F=f=>{for(let l=0;l30&&(f[l].name=x.substring(0,18)+"..."+x.substring(x.length-9)+"."+e)}h.value=f},z=async f=>{var y,x;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((y=f.file.file)==null?void 0:y.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((x=f.file.file)==null?void 0:x.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},L=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);e.code===0&&T.value==="public/image"&&$.value.push({id:f.id,content:e.data.content})}catch{window.$message.error("上传失败")}},J=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);if(e.code!==0){let l=e.msg||"上传失败";e.details&&e.details.length>0&&e.details.map(M=>{l+=":"+M}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},j=({file:f})=>{let y=$.value.findIndex(x=>x.id===f.id);y>-1&&$.value.splice(y,1)},V=()=>{k.value=!0},Q=()=>{var f;k.value=!1,(f=S.value)==null||f.clear(),h.value=[],r.value="",$.value=[]},K=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=ke(r.value);const y=[];let x=100;y.push({content:r.value,type:2,sort:x}),$.value.map(e=>{x++,y.push({content:e.content,type:3,sort:x})}),U.value=!0,tt({contents:y,post_id:i.postId,users:Array.from(new Set(f))}).then(e=>{window.$message.success("发布成功"),U.value=!1,q("post-success"),Q()}).catch(e=>{U.value=!1})},Y=f=>{m.commit("triggerAuth",!0),m.commit("triggerAuthKey",f)};return(f,y)=>{const x=ye,e=Pt,l=H,M=le,X=Tt,te=zt,he=Rt,fe=Ut,W=St;return o(),_("div",null,[a(m).state.userInfo.id>0?(o(),_("div",qs,[d("div",Ns,[d("div",Bs,[t(x,{round:"",size:30,src:a(m).state.userInfo.avatar},null,8,["src"])]),t(e,{type:"textarea",size:"large",autosize:"",bordered:!1,options:v.value,prefix:["@"],loading:w.value,value:r.value,disabled:i.lock===1,"onUpdate:value":s,onSearch:A,onFocus:V,placeholder:i.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),k.value?(o(),R(W,{key:0,ref_key:"uploadRef",ref:S,abstract:"","list-type":"image",multiple:!0,max:9,action:C,headers:{Authorization:D.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:z,onFinish:L,onError:J,onRemove:j,"onUpdate:fileList":F},{default:n(()=>[d("div",js,[d("div",Fs,[t(X,{abstract:""},{default:n(({handleClick:Z})=>[t(M,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{g("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(l,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(pt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(he,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(te,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(p)*100},null,8,["percentage"])]),default:n(()=>[I(" "+P(r.value.length)+" / "+P(a(p)),1)]),_:1})]),d("div",Hs,[t(M,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:Q},{default:n(()=>[I(" 取消 ")]),_:1}),t(M,{loading:U.value,onClick:K,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",Vs,[t(fe)])]),_:1},8,["headers","data","file-list"])):u("",!0)])):(o(),_("div",Ys,[Js,O.value?u("",!0):(o(),_("div",Ks,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1})])),O.value?(o(),_("div",Ws,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1}),t(M,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=Z=>Y("signup"))},{default:n(()=>[I(" 注册 ")]),_:1})])):u("",!0)]))])}}});const Qs=ae(Gs,[["__scopeId","data-v-d9073453"]]),Xs={class:"username-wrap"},Zs={class:"options"},eo={key:0},to=["innerHTML"],so={class:"timestamp"},oo={key:0},no={key:1},ao={class:"opts-wrap"},lo=["onClick"],io={class:"opt-item"},uo=["onClick"],co=["onClick"],ro=ee({__name:"post-detail",props:{post:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m="true".toLowerCase()==="true",v=ne(),k=Ee(),w=c(!1),U=c(!1),r=c(!1),S=c(!1),T=c(!1),h=c(!1),$=c(!1),O=c(!1),p=c(G.PUBLIC),C=c(!1),D=c({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),b=e=>{D.value=e,C.value=!0},A=()=>{C.value=!1},s=oe({get:()=>{let e=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},i.post);return e.contents.map(l=>{(+l.type==1||+l.type==2)&&e.texts.push(l),+l.type==3&&e.imgs.push(l),+l.type==4&&e.videos.push(l),+l.type==6&&e.links.push(l),+l.type==7&&e.attachments.push(l),+l.type==8&&e.charge_attachments.push(l)}),e},set:e=>{i.post.upvote_count=e.upvote_count,i.post.comment_count=e.comment_count,i.post.collection_count=e.collection_count,i.post.is_essence=e.is_essence}}),g=e=>()=>$e(H,null,{default:()=>$e(e)}),F=oe(()=>{var M;let e=[];if(!v.state.userInfo.is_admin&&v.state.userInfo.id!=i.post.user.id)return e.push({label:"私信",key:"whisper",icon:g(kt)}),e;e.push({label:"删除",key:"delete",icon:g(wt)}),s.value.is_lock===0?e.push({label:"锁定",key:"lock",icon:g(bt)}):e.push({label:"解锁",key:"unlock",icon:g($t)}),v.state.userInfo.is_admin&&(s.value.is_top===0?e.push({label:"置顶",key:"stick",icon:g(xe)}):e.push({label:"取消置顶",key:"unstick",icon:g(xe)})),s.value.is_essence===0?e.push({label:"设为亮点",key:"highlight",icon:g(Ie)}):e.push({label:"取消亮点",key:"unhighlight",icon:g(Ie)});let l;return s.value.visibility===G.PUBLIC?l={label:"公开",key:"vpublic",icon:g(ie),children:[{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:s.value.visibility===G.PRIVATE?l={label:"私密",key:"vprivate",icon:g(ue),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:m&&s.value.visibility===G.FRIEND?l={label:"好友可见",key:"vfriend",icon:g(Pe),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:l={label:"关注可见",key:"vfollowing",icon:g(ce),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)}]},m&&s.value.visibility!==G.FRIEND&&((M=l.children)==null||M.push({label:"好友可见",key:"vfriend",icon:g(Pe)})),e.push(l),e}),z=e=>{k.push({name:"post",query:{id:e}})},L=(e,l)=>{if(e.target.dataset.detail){const M=e.target.dataset.detail.split(":");if(M.length===2){v.commit("refresh"),M[0]==="tag"?k.push({name:"home",query:{q:M[1],t:"tag"}}):k.push({name:"user",query:{s:M[1]}});return}}z(l)},J=e=>{switch(e){case"whisper":b(i.post.user);break;case"delete":r.value=!0;break;case"lock":case"unlock":S.value=!0;break;case"stick":case"unstick":T.value=!0;break;case"highlight":case"unhighlight":h.value=!0;break;case"vpublic":p.value=0,$.value=!0;break;case"vprivate":p.value=1,$.value=!0;break;case"vfriend":p.value=2,$.value=!0;break;case"vfollowing":p.value=3,$.value=!0;break}},j=()=>{nt({id:s.value.id}).then(e=>{window.$message.success("删除成功"),k.replace("/"),setTimeout(()=>{v.commit("refresh")},50)}).catch(e=>{O.value=!1})},V=()=>{at({id:s.value.id}).then(e=>{q("reload"),e.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(e=>{O.value=!1})},Q=()=>{lt({id:s.value.id}).then(e=>{q("reload"),e.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(e=>{O.value=!1})},K=()=>{it({id:s.value.id}).then(e=>{s.value={...s.value,is_essence:e.highlight_status},e.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(e=>{O.value=!1})},Y=()=>{let e=p.value;e==3&&(e=0),ut({id:s.value.id,visibility:e}).then(l=>{q("reload"),window.$message.success("修改可见性成功")}).catch(l=>{O.value=!1})},f=()=>{ct({id:s.value.id}).then(e=>{w.value=e.status,e.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(e=>{console.log(e)})},y=()=>{rt({id:s.value.id}).then(e=>{U.value=e.status,e.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(e=>{console.log(e)})},x=()=>{Gt(`${window.location.origin}/#/post?id=${s.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板")};return Re(()=>{v.state.userInfo.id>0&&(st({id:s.value.id}).then(e=>{w.value=e.status}).catch(e=>{console.log(e)}),ot({id:s.value.id}).then(e=>{U.value=e.status}).catch(e=>{console.log(e)}))}),(e,l)=>{const M=ye,X=ge("router-link"),te=Lt,he=le,fe=Ot,W=Dt,Z=Wt,we=Ft,qe=Me,Ne=Ht,Be=Vt,be=At,je=Ae,Fe=De;return o(),_("div",{class:"detail-item",onClick:l[7]||(l[7]=N=>z(s.value.id))},[t(Fe,null,{avatar:n(()=>[t(M,{round:"",size:30,src:s.value.user.avatar},null,8,["src"])]),header:n(()=>[t(X,{onClick:l[0]||(l[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:s.value.user.username}}},{default:n(()=>[I(P(s.value.user.nickname),1)]),_:1},8,["to"]),d("span",Xs," @"+P(s.value.user.username),1),s.value.is_top?(o(),R(te,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[I(" 置顶 ")]),_:1})):u("",!0),s.value.visibility==a(G).PRIVATE?(o(),R(te,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[I(" 私密 ")]),_:1})):u("",!0),s.value.visibility==a(G).FRIEND?(o(),R(te,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[I(" 好友可见 ")]),_:1})):u("",!0)]),"header-extra":n(()=>[d("div",Zs,[t(fe,{placement:"bottom-end",trigger:"click",size:"small",options:F.value,onSelect:J},{default:n(()=>[t(he,{quaternary:"",circle:""},{icon:n(()=>[t(a(H),null,{default:n(()=>[t(a(dt))]),_:1})]),_:1})]),_:1},8,["options"])]),t(W,{show:r.value,"onUpdate:show":l[1]||(l[1]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show"]),t(W,{show:S.value,"onUpdate:show":l[2]||(l[2]=N=>S.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),t(W,{show:T.value,"onUpdate:show":l[3]||(l[3]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"]),t(W,{show:h.value,"onUpdate:show":l[4]||(l[4]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(s.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),t(W,{show:$.value,"onUpdate:show":l[5]||(l[5]=N=>$.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(p.value==0?"公开":p.value==1?"私密":p.value==2?"好友可见":"关注可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(Z,{show:C.value,user:D.value,onSuccess:A},null,8,["show","user"])]),footer:n(()=>[t(we,{attachments:s.value.attachments},null,8,["attachments"]),t(we,{attachments:s.value.charge_attachments,price:s.value.attachment_price},null,8,["attachments","price"]),t(qe,{imgs:s.value.imgs},null,8,["imgs"]),t(Ne,{videos:s.value.videos,full:!0},null,8,["videos"]),t(Be,{links:s.value.links},null,8,["links"]),d("div",so,[I(" 发布于 "+P(a(pe)(s.value.created_on))+" ",1),s.value.ip_loc?(o(),_("span",oo,[t(be,{vertical:""}),I(" "+P(s.value.ip_loc),1)])):u("",!0),!a(v).state.collapsedLeft&&s.value.created_on!=s.value.latest_replied_on?(o(),_("span",no,[t(be,{vertical:""}),I(" 最后回复 "+P(a(pe)(s.value.latest_replied_on)),1)])):u("",!0)])]),action:n(()=>[d("div",ao,[t(je,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(f,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?u("",!0):(o(),R(a(mt),{key:0})),w.value?(o(),R(a(vt),{key:1,color:"red"})):u("",!0)]),_:1}),I(" "+P(s.value.upvote_count),1)],8,lo),d("div",io,[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(ht))]),_:1}),I(" "+P(s.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(y,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[U.value?u("",!0):(o(),R(a(ft),{key:0})),U.value?(o(),R(a(gt),{key:1,color:"#ff7600"})):u("",!0)]),_:1}),I(" "+P(s.value.collection_count),1)],8,uo),d("div",{class:"opt-item hover",onClick:B(x,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(yt))]),_:1}),I(" "+P(s.value.share_count),1)],8,co)]),_:1})])]),default:n(()=>[s.value.texts.length>0?(o(),_("div",eo,[(o(!0),_(re,null,_e(s.value.texts,N=>(o(),_("span",{key:N.id,class:"post-text",onClick:l[6]||(l[6]=B(He=>L(He,s.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,to))),128))])):u("",!0)]),_:1})])}}});const _o=E=>(Te("data-v-0d01659f"),E=E(),ze(),E),po={key:0,class:"detail-wrap"},mo={key:1,class:"empty-wrap"},vo={key:0,class:"comment-opts-wrap"},ho=_o(()=>d("span",{class:"comment-title-item"},"评论",-1)),fo={key:2},go={key:0,class:"skeleton-wrap"},yo={key:1},ko={key:0,class:"empty-wrap"},wo={key:0,class:"load-more-spinner"},bo={key:1,class:"load-more-spinner"},$o={key:2,class:"load-more-spinner"},Co={key:3,class:"load-more-spinner"},se=20,xo=ee({__name:"Post",setup(E){const q=Yt(),i=c({}),m=c(!1),v=c(!1),k=c([]),w=oe(()=>+q.query.id),U=c("default"),r=c(!0);let S={loading(){},loaded(){},complete(){},error(){}};const T=z=>{U.value=z,z==="default"&&(r.value=!0),g(S)},h=()=>{i.value={id:0},m.value=!0,_t({id:w.value}).then(z=>{m.value=!1,i.value=z,g(S)}).catch(z=>{m.value=!1})};let $=1;const O=c(!1),p=c([]),C=z=>{O.value||Ce({id:i.value.id,sort_strategy:"default",page:$,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&($===1?p.value=L.list:p.value.push(...L.list),k.value=p.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})};let D=1,b=c(!1);const A=c([]),s=z=>{b.value||Ce({id:i.value.id,sort_strategy:"newest",page:D,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&(D===1?A.value=L.list:A.value.push(...L.list),k.value=A.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})},g=z=>{w.value<1||(k.value.length===0&&(v.value=!0),U.value==="default"?(k.value=p.value,C(z)):(k.value=A.value,s(z)),v.value=!1)},F=()=>{$=1,O.value=!1,p.value=[],D=1,b.value=!1,A.value=[],g(S)};return Re(()=>{h()}),Ye(w,()=>{w.value>0&&q.name==="post"&&h()}),(z,L)=>{const J=Qt,j=ro,V=Et,Q=qt,K=Nt,Y=Bt,f=jt,y=Qs,x=Jt,e=Ms,l=Ae,M=Mt;return o(),_("div",null,[t(J,{title:"泡泡详情",back:!0}),t(M,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(K,null,{default:n(()=>[t(Q,{show:m.value},{default:n(()=>[i.value.id>1?(o(),_("div",po,[t(j,{post:i.value,onReload:h},null,8,["post"])])):(o(),_("div",mo,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),i.value.id>0?(o(),_("div",vo,[t(f,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[ho]),default:n(()=>[t(Y,{name:"default",tab:"默认"}),t(Y,{name:"newest",tab:"最新"})]),_:1})])):u("",!0),i.value.id>0?(o(),R(K,{key:1},{default:n(()=>[t(y,{lock:i.value.is_lock,"post-id":i.value.id,onPostSuccess:F},null,8,["lock","post-id"])]),_:1})):u("",!0),i.value.id>0?(o(),_("div",fo,[v.value?(o(),_("div",go,[t(x,{num:5})])):(o(),_("div",yo,[k.value.length===0?(o(),_("div",ko,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):u("",!0),(o(!0),_(re,null,_e(k.value,X=>(o(),R(K,{key:X.id},{default:n(()=>[t(e,{comment:X,onReload:F},null,8,["comment"])]),_:2},1024))),128))]))])):u("",!0),k.value.length>=se?(o(),R(l,{key:3,justify:"center"},{default:n(()=>[t(a(Xt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:g},{spinner:n(()=>[r.value&&O.value?(o(),_("span",wo)):u("",!0),!r.value&&a(b)?(o(),_("span",bo)):u("",!0),r.value&&!O.value?(o(),_("span",$o,"加载评论")):u("",!0),!r.value&&!a(b)?(o(),_("span",Co,"加载评论")):u("",!0)]),_:1})]),_:1})):u("",!0)]),_:1})])}}});const ln=ae(xo,[["__scopeId","data-v-0d01659f"]]);export{ln as default}; diff --git a/web/dist/assets/Post-8a1f9102.js b/web/dist/assets/Post-8a1f9102.js new file mode 100644 index 00000000..7dfbb954 --- /dev/null +++ b/web/dist/assets/Post-8a1f9102.js @@ -0,0 +1 @@ +import{d as ee,H as c,r as ge,e as o,f as _,j as d,k as t,w as n,A as I,x as P,q as R,Y as u,bf as a,y as B,c as oe,al as Ve,F as re,u as _e,$ as Te,a0 as ze,b as Re,h as $e,E as Ye}from"./@vue-a481fc63.js";import{u as ne}from"./vuex-44de225f.js";import{f as pe,t as Je,h as Ke,i as We,_ as ae,j as Ge,k as Qe,l as Xe,m as Ze,g as et,n as tt,o as st,p as ot,q as nt,r as at,s as lt,u as it,v as ut,w as ct,x as rt,y as _t,z as Ce}from"./index-f37b0729.js";import{Y as de,V as G}from"./IEnum-5453a777.js";import{T as Ue,e as me,f as Se,g as ve,h as Le,I as pt,i as dt,j as mt,k as vt,l as ht,m as ft,n as gt,o as yt,p as kt,q as wt,r as bt,s as $t,t as xe,F as Ie,E as ie,u as ue,v as ce,w as Pe}from"./@vicons-7a4ef312.js";import{j as H,e as le,J as Oe,H as Ct,b as xt,K as It,o as ye,L as De,v as Pt,w as Tt,x as zt,y as Rt,z as Ut,B as St,M as Lt,O as Ot,i as Dt,P as At,a as Ae,F as Mt,I as Et,k as qt,G as Nt,f as Bt,g as jt}from"./naive-ui-d8de3dda.js";import{p as ke,_ as Me,a as Ft,b as Ht,c as Vt}from"./content-60b75b00.js";import{u as Ee,b as Yt}from"./vue-router-e5a2430e.js";import{_ as Jt}from"./post-skeleton-2ccfac69.js";import{l as Kt}from"./lodash-e0b37ac3.js";import{_ as Wt}from"./whisper-41c78cd2.js";import{c as Gt}from"./copy-to-clipboard-4ef7d3eb.js";import{_ as Qt}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{W as Xt}from"./v3-infinite-loading-2c58ec2f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";const Zt={class:"reply-item"},es={class:"header-wrap"},ts={class:"username"},ss={class:"reply-name"},os={class:"timestamp"},ns={class:"base-wrap"},as={class:"content"},ls={class:"reply-switch"},is={class:"time-item"},us={class:"actions"},cs={class:"upvote-count"},rs=["onClick"],_s={class:"upvote-count"},ps={key:2,class:"action-item"},ds=["onClick"],ms=ee({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(E,{emit:q}){const i=E,m=ne(),v=c(i.reply.is_thumbs_up==de.YES),k=c(i.reply.is_thumbs_down==de.YES),w=c(i.reply.thumbs_up_count),U=()=>{Je({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{v.value=!v.value,v.value?(w.value++,k.value=!1):w.value--}).catch(h=>{console.log(h)})},r=()=>{Ke({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{k.value=!k.value,k.value&&v.value&&(w.value--,v.value=!1)}).catch(h=>{console.log(h)})},S=()=>{q("focusReply",i.reply)},T=()=>{We({id:i.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{q("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const O=ge("router-link"),p=H,C=le,D=Oe,b=Ct;return o(),_("div",Zt,[d("div",es,[d("div",ts,[t(O,{class:"user-link",to:{name:"user",query:{s:i.reply.user.username}}},{default:n(()=>[I(P(i.reply.user.username),1)]),_:1},8,["to"]),d("span",ss,P(i.reply.at_user_id>0?"回复":":"),1),i.reply.at_user_id>0?(o(),R(O,{key:0,class:"user-link",to:{name:"user",query:{s:i.reply.at_user.username}}},{default:n(()=>[I(P(i.reply.at_user.username),1)]),_:1},8,["to"])):u("",!0)]),d("div",os,[I(P(i.reply.ip_loc)+" ",1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===i.reply.user.id?(o(),R(D,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(C,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(p,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),d("div",ns,[d("div",as,[t(b,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[I(P(i.reply.content),1)]),_:1})]),d("div",ls,[d("span",is,P(a(pe)(i.reply.created_on)),1),d("div",us,[a(m).state.userLogined?u("",!0):(o(),_("div",{key:0,class:"action-item",onClick:$[0]||($[0]=B(()=>{},["stop"]))},[t(p,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",cs,P(w.value),1)])),a(m).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(U,["stop"])},[t(p,{size:"medium"},{default:n(()=>[v.value?u("",!0):(o(),R(a(me),{key:0})),v.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",_s,P(w.value>0?w.value:"赞"),1)],8,rs)):u("",!0),a(m).state.userLogined?u("",!0):(o(),_("div",ps,[t(p,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(m).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(r,["stop"])},[t(p,{size:"medium"},{default:n(()=>[k.value?u("",!0):(o(),R(a(ve),{key:0})),k.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,ds)):u("",!0),a(m).state.userLogined?(o(),_("span",{key:4,class:"show opacity-item reply-btn",onClick:S}," 回复 ")):u("",!0)])])])])}}});const vs=ae(ms,[["__scopeId","data-v-187a4ed3"]]),hs={class:"reply-compose-wrap"},fs={class:"reply-switch"},gs={class:"time-item"},ys={class:"actions"},ks={key:0,class:"action-item"},ws={class:"upvote-count"},bs=["onClick"],$s={class:"upvote-count"},Cs={key:2,class:"action-item"},xs=["onClick"],Is={key:0,class:"reply-input-wrap"},Ps=ee({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(E,{expose:q,emit:i}){const m=E,v=ne(),k=c(),w=c(!1),U=c(""),r=c(!1),S=+"300",T=c(m.comment.is_thumbs_up==de.YES),h=c(m.comment.is_thumbs_down==de.YES),$=c(m.comment.thumbs_up_count),O=()=>{Ge({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(b=>{console.log(b)})},p=()=>{Qe({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(b=>{console.log(b)})},C=b=>{w.value=b,b?setTimeout(()=>{var A;(A=k.value)==null||A.focus()},10):(r.value=!1,U.value="",i("reset"))},D=()=>{r.value=!0,Xe({comment_id:m.comment.id,at_user_id:m.atUserid,content:U.value}).then(b=>{C(!1),window.$message.success("评论成功"),i("reload")}).catch(b=>{r.value=!1})};return q({switchReply:C}),(b,A)=>{const s=H,g=xt,F=le,z=It;return o(),_("div",hs,[d("div",fs,[d("span",gs,P(a(pe)(b.comment.created_on)),1),d("div",ys,[a(v).state.userLogined?u("",!0):(o(),_("div",ks,[t(s,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",ws,P($.value),1)])),a(v).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(O,["stop"])},[t(s,{size:"medium"},{default:n(()=>[T.value?u("",!0):(o(),R(a(me),{key:0})),T.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",$s,P($.value>0?$.value:"赞"),1)],8,bs)):u("",!0),a(v).state.userLogined?u("",!0):(o(),_("div",Cs,[t(s,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(v).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(p,["stop"])},[t(s,{size:"medium"},{default:n(()=>[h.value?u("",!0):(o(),R(a(ve),{key:0})),h.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,xs)):u("",!0),a(v).state.userLogined&&!w.value?(o(),_("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=L=>C(!0))}," 回复 ")):u("",!0),a(v).state.userLogined&&w.value?(o(),_("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=L=>C(!1))}," 取消 ")):u("",!0)])]),w.value?(o(),_("div",Is,[t(z,null,{default:n(()=>[t(g,{ref_key:"inputInstRef",ref:k,size:"small",placeholder:m.atUsername?"@"+m.atUsername:"请输入回复内容..",maxlength:a(S),value:U.value,"onUpdate:value":A[2]||(A[2]=L=>U.value=L),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(F,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:D},{default:n(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):u("",!0)])}}});const Ts=ae(Ps,[["__scopeId","data-v-f9af7a93"]]),zs={class:"comment-item"},Rs={class:"nickname-wrap"},Us={class:"username-wrap"},Ss={class:"opt-wrap"},Ls={class:"timestamp"},Os=["innerHTML"],Ds={class:"reply-wrap"},As=ee({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m=ne(),v=Ee(),k=c(0),w=c(""),U=c(),r=oe(()=>{let p=Object.assign({texts:[],imgs:[]},i.comment);return p.contents.map(C=>{(+C.type==1||+C.type==2)&&p.texts.push(C),+C.type==3&&p.imgs.push(C)}),p}),S=(p,C)=>{let D=p.target;if(D.dataset.detail){const b=D.dataset.detail.split(":");b.length===2&&(m.commit("refresh"),b[0]==="tag"?window.$message.warning("评论内的无效话题"):v.push({name:"user",query:{s:b[1]}}))}},T=p=>{var C,D;k.value=p.user_id,w.value=((C=p.user)==null?void 0:C.username)||"",(D=U.value)==null||D.switchReply(!0)},h=()=>{q("reload")},$=()=>{k.value=0,w.value=""},O=()=>{Ze({id:r.value.id}).then(p=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(p=>{})};return(p,C)=>{const D=ye,b=ge("router-link"),A=H,s=le,g=Oe,F=Me,z=Ts,L=vs,J=De;return o(),_("div",zs,[t(J,{"content-indented":""},Ve({avatar:n(()=>[t(D,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",Rs,[t(b,{onClick:C[0]||(C[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:r.value.user.username}}},{default:n(()=>[I(P(r.value.user.nickname),1)]),_:1},8,["to"])]),d("span",Us," @"+P(r.value.user.username),1)]),"header-extra":n(()=>[d("div",Ss,[d("span",Ls,P(r.value.ip_loc),1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===r.value.user.id?(o(),R(g,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:O},{trigger:n(()=>[t(s,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),R(F,{key:0,imgs:r.value.imgs},null,8,["imgs"])):u("",!0),t(z,{ref_key:"replyComposeRef",ref:U,comment:r.value,"at-userid":k.value,"at-username":w.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),d("div",Ds,[(o(!0),_(re,null,_e(r.value.replies,j=>(o(),R(L,{key:j.id,reply:j,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),_(re,null,_e(r.value.texts,j=>(o(),_("span",{key:j.id,class:"comment-text",onClick:C[1]||(C[1]=B(V=>S(V,r.value.id),["stop"])),innerHTML:a(ke)(j.content).content},null,8,Os))),128))]),key:"0"}:void 0]),1024)])}}});const Ms=ae(As,[["__scopeId","data-v-36dac8c8"]]),Es=E=>(Te("data-v-d9073453"),E=E(),ze(),E),qs={key:0,class:"compose-wrap"},Ns={class:"compose-line"},Bs={class:"compose-user"},js={class:"compose-line compose-options"},Fs={class:"attachment"},Hs={class:"submit-wrap"},Vs={class:"attachment-list-wrap"},Ys={key:1,class:"compose-wrap"},Js=Es(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ks={key:0,class:"login-only-wrap"},Ws={key:1,class:"login-wrap"},Gs=ee({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(E,{emit:q}){const i=E,m=ne(),v=c([]),k=c(!1),w=c(!1),U=c(!1),r=c(""),S=c(),T=c("public/image"),h=c([]),$=c([]),O=c("true".toLowerCase()==="true"),p=+"300",C="/v1/attachment",D=oe(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),b=Kt.debounce(f=>{et({k:f}).then(y=>{let x=[];y.suggest.map(e=>{x.push({label:e,value:e})}),v.value=x,w.value=!1}).catch(y=>{w.value=!1})},200),A=(f,y)=>{w.value||(w.value=!0,y==="@"&&b(f))},s=f=>{f.length>p?r.value=f.substring(0,p):r.value=f},g=f=>{T.value=f},F=f=>{for(let l=0;l30&&(f[l].name=x.substring(0,18)+"..."+x.substring(x.length-9)+"."+e)}h.value=f},z=async f=>{var y,x;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((y=f.file.file)==null?void 0:y.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((x=f.file.file)==null?void 0:x.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},L=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);e.code===0&&T.value==="public/image"&&$.value.push({id:f.id,content:e.data.content})}catch{window.$message.error("上传失败")}},J=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);if(e.code!==0){let l=e.msg||"上传失败";e.details&&e.details.length>0&&e.details.map(M=>{l+=":"+M}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},j=({file:f})=>{let y=$.value.findIndex(x=>x.id===f.id);y>-1&&$.value.splice(y,1)},V=()=>{k.value=!0},Q=()=>{var f;k.value=!1,(f=S.value)==null||f.clear(),h.value=[],r.value="",$.value=[]},K=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=ke(r.value);const y=[];let x=100;y.push({content:r.value,type:2,sort:x}),$.value.map(e=>{x++,y.push({content:e.content,type:3,sort:x})}),U.value=!0,tt({contents:y,post_id:i.postId,users:Array.from(new Set(f))}).then(e=>{window.$message.success("发布成功"),U.value=!1,q("post-success"),Q()}).catch(e=>{U.value=!1})},Y=f=>{m.commit("triggerAuth",!0),m.commit("triggerAuthKey",f)};return(f,y)=>{const x=ye,e=Pt,l=H,M=le,X=Tt,te=zt,he=Rt,fe=Ut,W=St;return o(),_("div",null,[a(m).state.userInfo.id>0?(o(),_("div",qs,[d("div",Ns,[d("div",Bs,[t(x,{round:"",size:30,src:a(m).state.userInfo.avatar},null,8,["src"])]),t(e,{type:"textarea",size:"large",autosize:"",bordered:!1,options:v.value,prefix:["@"],loading:w.value,value:r.value,disabled:i.lock===1,"onUpdate:value":s,onSearch:A,onFocus:V,placeholder:i.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),k.value?(o(),R(W,{key:0,ref_key:"uploadRef",ref:S,abstract:"","list-type":"image",multiple:!0,max:9,action:C,headers:{Authorization:D.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:z,onFinish:L,onError:J,onRemove:j,"onUpdate:fileList":F},{default:n(()=>[d("div",js,[d("div",Fs,[t(X,{abstract:""},{default:n(({handleClick:Z})=>[t(M,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{g("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(l,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(pt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(he,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(te,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(p)*100},null,8,["percentage"])]),default:n(()=>[I(" "+P(r.value.length)+" / "+P(a(p)),1)]),_:1})]),d("div",Hs,[t(M,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:Q},{default:n(()=>[I(" 取消 ")]),_:1}),t(M,{loading:U.value,onClick:K,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",Vs,[t(fe)])]),_:1},8,["headers","data","file-list"])):u("",!0)])):(o(),_("div",Ys,[Js,O.value?u("",!0):(o(),_("div",Ks,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1})])),O.value?(o(),_("div",Ws,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1}),t(M,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=Z=>Y("signup"))},{default:n(()=>[I(" 注册 ")]),_:1})])):u("",!0)]))])}}});const Qs=ae(Gs,[["__scopeId","data-v-d9073453"]]),Xs={class:"username-wrap"},Zs={class:"options"},eo={key:0},to=["innerHTML"],so={class:"timestamp"},oo={key:0},no={key:1},ao={class:"opts-wrap"},lo=["onClick"],io={class:"opt-item"},uo=["onClick"],co=["onClick"],ro=ee({__name:"post-detail",props:{post:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m="true".toLowerCase()==="true",v=ne(),k=Ee(),w=c(!1),U=c(!1),r=c(!1),S=c(!1),T=c(!1),h=c(!1),$=c(!1),O=c(!1),p=c(G.PUBLIC),C=c(!1),D=c({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),b=e=>{D.value=e,C.value=!0},A=()=>{C.value=!1},s=oe({get:()=>{let e=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},i.post);return e.contents.map(l=>{(+l.type==1||+l.type==2)&&e.texts.push(l),+l.type==3&&e.imgs.push(l),+l.type==4&&e.videos.push(l),+l.type==6&&e.links.push(l),+l.type==7&&e.attachments.push(l),+l.type==8&&e.charge_attachments.push(l)}),e},set:e=>{i.post.upvote_count=e.upvote_count,i.post.comment_count=e.comment_count,i.post.collection_count=e.collection_count,i.post.is_essence=e.is_essence}}),g=e=>()=>$e(H,null,{default:()=>$e(e)}),F=oe(()=>{var M;let e=[];if(!v.state.userInfo.is_admin&&v.state.userInfo.id!=i.post.user.id)return e.push({label:"私信",key:"whisper",icon:g(kt)}),e;e.push({label:"删除",key:"delete",icon:g(wt)}),s.value.is_lock===0?e.push({label:"锁定",key:"lock",icon:g(bt)}):e.push({label:"解锁",key:"unlock",icon:g($t)}),v.state.userInfo.is_admin&&(s.value.is_top===0?e.push({label:"置顶",key:"stick",icon:g(xe)}):e.push({label:"取消置顶",key:"unstick",icon:g(xe)})),s.value.is_essence===0?e.push({label:"设为亮点",key:"highlight",icon:g(Ie)}):e.push({label:"取消亮点",key:"unhighlight",icon:g(Ie)});let l;return s.value.visibility===G.PUBLIC?l={label:"公开",key:"vpublic",icon:g(ie),children:[{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:s.value.visibility===G.PRIVATE?l={label:"私密",key:"vprivate",icon:g(ue),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:m&&s.value.visibility===G.FRIEND?l={label:"好友可见",key:"vfriend",icon:g(Pe),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:l={label:"关注可见",key:"vfollowing",icon:g(ce),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)}]},m&&s.value.visibility!==G.FRIEND&&((M=l.children)==null||M.push({label:"好友可见",key:"vfriend",icon:g(Pe)})),e.push(l),e}),z=e=>{k.push({name:"post",query:{id:e}})},L=(e,l)=>{if(e.target.dataset.detail){const M=e.target.dataset.detail.split(":");if(M.length===2){v.commit("refresh"),M[0]==="tag"?k.push({name:"home",query:{q:M[1],t:"tag"}}):k.push({name:"user",query:{s:M[1]}});return}}z(l)},J=e=>{switch(e){case"whisper":b(i.post.user);break;case"delete":r.value=!0;break;case"lock":case"unlock":S.value=!0;break;case"stick":case"unstick":T.value=!0;break;case"highlight":case"unhighlight":h.value=!0;break;case"vpublic":p.value=0,$.value=!0;break;case"vprivate":p.value=1,$.value=!0;break;case"vfriend":p.value=2,$.value=!0;break;case"vfollowing":p.value=3,$.value=!0;break}},j=()=>{nt({id:s.value.id}).then(e=>{window.$message.success("删除成功"),k.replace("/"),setTimeout(()=>{v.commit("refresh")},50)}).catch(e=>{O.value=!1})},V=()=>{at({id:s.value.id}).then(e=>{q("reload"),e.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(e=>{O.value=!1})},Q=()=>{lt({id:s.value.id}).then(e=>{q("reload"),e.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(e=>{O.value=!1})},K=()=>{it({id:s.value.id}).then(e=>{s.value={...s.value,is_essence:e.highlight_status},e.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(e=>{O.value=!1})},Y=()=>{let e=p.value;e==3&&(e=0),ut({id:s.value.id,visibility:e}).then(l=>{q("reload"),window.$message.success("修改可见性成功")}).catch(l=>{O.value=!1})},f=()=>{ct({id:s.value.id}).then(e=>{w.value=e.status,e.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(e=>{console.log(e)})},y=()=>{rt({id:s.value.id}).then(e=>{U.value=e.status,e.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(e=>{console.log(e)})},x=()=>{Gt(`${window.location.origin}/#/post?id=${s.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板")};return Re(()=>{v.state.userInfo.id>0&&(st({id:s.value.id}).then(e=>{w.value=e.status}).catch(e=>{console.log(e)}),ot({id:s.value.id}).then(e=>{U.value=e.status}).catch(e=>{console.log(e)}))}),(e,l)=>{const M=ye,X=ge("router-link"),te=Lt,he=le,fe=Ot,W=Dt,Z=Wt,we=Ft,qe=Me,Ne=Ht,Be=Vt,be=At,je=Ae,Fe=De;return o(),_("div",{class:"detail-item",onClick:l[7]||(l[7]=N=>z(s.value.id))},[t(Fe,null,{avatar:n(()=>[t(M,{round:"",size:30,src:s.value.user.avatar},null,8,["src"])]),header:n(()=>[t(X,{onClick:l[0]||(l[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:s.value.user.username}}},{default:n(()=>[I(P(s.value.user.nickname),1)]),_:1},8,["to"]),d("span",Xs," @"+P(s.value.user.username),1),s.value.is_top?(o(),R(te,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[I(" 置顶 ")]),_:1})):u("",!0),s.value.visibility==a(G).PRIVATE?(o(),R(te,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[I(" 私密 ")]),_:1})):u("",!0),s.value.visibility==a(G).FRIEND?(o(),R(te,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[I(" 好友可见 ")]),_:1})):u("",!0)]),"header-extra":n(()=>[d("div",Zs,[t(fe,{placement:"bottom-end",trigger:"click",size:"small",options:F.value,onSelect:J},{default:n(()=>[t(he,{quaternary:"",circle:""},{icon:n(()=>[t(a(H),null,{default:n(()=>[t(a(dt))]),_:1})]),_:1})]),_:1},8,["options"])]),t(W,{show:r.value,"onUpdate:show":l[1]||(l[1]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show"]),t(W,{show:S.value,"onUpdate:show":l[2]||(l[2]=N=>S.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),t(W,{show:T.value,"onUpdate:show":l[3]||(l[3]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"]),t(W,{show:h.value,"onUpdate:show":l[4]||(l[4]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(s.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),t(W,{show:$.value,"onUpdate:show":l[5]||(l[5]=N=>$.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(p.value==0?"公开":p.value==1?"私密":p.value==2?"好友可见":"关注可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(Z,{show:C.value,user:D.value,onSuccess:A},null,8,["show","user"])]),footer:n(()=>[t(we,{attachments:s.value.attachments},null,8,["attachments"]),t(we,{attachments:s.value.charge_attachments,price:s.value.attachment_price},null,8,["attachments","price"]),t(qe,{imgs:s.value.imgs},null,8,["imgs"]),t(Ne,{videos:s.value.videos,full:!0},null,8,["videos"]),t(Be,{links:s.value.links},null,8,["links"]),d("div",so,[I(" 发布于 "+P(a(pe)(s.value.created_on))+" ",1),s.value.ip_loc?(o(),_("span",oo,[t(be,{vertical:""}),I(" "+P(s.value.ip_loc),1)])):u("",!0),!a(v).state.collapsedLeft&&s.value.created_on!=s.value.latest_replied_on?(o(),_("span",no,[t(be,{vertical:""}),I(" 最后回复 "+P(a(pe)(s.value.latest_replied_on)),1)])):u("",!0)])]),action:n(()=>[d("div",ao,[t(je,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(f,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?u("",!0):(o(),R(a(mt),{key:0})),w.value?(o(),R(a(vt),{key:1,color:"red"})):u("",!0)]),_:1}),I(" "+P(s.value.upvote_count),1)],8,lo),d("div",io,[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(ht))]),_:1}),I(" "+P(s.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(y,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[U.value?u("",!0):(o(),R(a(ft),{key:0})),U.value?(o(),R(a(gt),{key:1,color:"#ff7600"})):u("",!0)]),_:1}),I(" "+P(s.value.collection_count),1)],8,uo),d("div",{class:"opt-item hover",onClick:B(x,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(yt))]),_:1}),I(" "+P(s.value.share_count),1)],8,co)]),_:1})])]),default:n(()=>[s.value.texts.length>0?(o(),_("div",eo,[(o(!0),_(re,null,_e(s.value.texts,N=>(o(),_("span",{key:N.id,class:"post-text",onClick:l[6]||(l[6]=B(He=>L(He,s.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,to))),128))])):u("",!0)]),_:1})])}}});const _o=E=>(Te("data-v-0d01659f"),E=E(),ze(),E),po={key:0,class:"detail-wrap"},mo={key:1,class:"empty-wrap"},vo={key:0,class:"comment-opts-wrap"},ho=_o(()=>d("span",{class:"comment-title-item"},"评论",-1)),fo={key:2},go={key:0,class:"skeleton-wrap"},yo={key:1},ko={key:0,class:"empty-wrap"},wo={key:0,class:"load-more-spinner"},bo={key:1,class:"load-more-spinner"},$o={key:2,class:"load-more-spinner"},Co={key:3,class:"load-more-spinner"},se=20,xo=ee({__name:"Post",setup(E){const q=Yt(),i=c({}),m=c(!1),v=c(!1),k=c([]),w=oe(()=>+q.query.id),U=c("default"),r=c(!0);let S={loading(){},loaded(){},complete(){},error(){}};const T=z=>{U.value=z,z==="default"&&(r.value=!0),g(S)},h=()=>{i.value={id:0},m.value=!0,_t({id:w.value}).then(z=>{m.value=!1,i.value=z,g(S)}).catch(z=>{m.value=!1})};let $=1;const O=c(!1),p=c([]),C=z=>{O.value||Ce({id:i.value.id,sort_strategy:"default",page:$,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&($===1?p.value=L.list:p.value.push(...L.list),k.value=p.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})};let D=1,b=c(!1);const A=c([]),s=z=>{b.value||Ce({id:i.value.id,sort_strategy:"newest",page:D,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&(D===1?A.value=L.list:A.value.push(...L.list),k.value=A.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})},g=z=>{w.value<1||(k.value.length===0&&(v.value=!0),U.value==="default"?(k.value=p.value,C(z)):(k.value=A.value,s(z)),v.value=!1)},F=()=>{$=1,O.value=!1,p.value=[],D=1,b.value=!1,A.value=[],g(S)};return Re(()=>{h()}),Ye(w,()=>{w.value>0&&q.name==="post"&&h()}),(z,L)=>{const J=Qt,j=ro,V=Et,Q=qt,K=Nt,Y=Bt,f=jt,y=Qs,x=Jt,e=Ms,l=Ae,M=Mt;return o(),_("div",null,[t(J,{title:"泡泡详情",back:!0}),t(M,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(K,null,{default:n(()=>[t(Q,{show:m.value},{default:n(()=>[i.value.id>1?(o(),_("div",po,[t(j,{post:i.value,onReload:h},null,8,["post"])])):(o(),_("div",mo,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),i.value.id>0?(o(),_("div",vo,[t(f,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[ho]),default:n(()=>[t(Y,{name:"default",tab:"默认"}),t(Y,{name:"newest",tab:"最新"})]),_:1})])):u("",!0),i.value.id>0?(o(),R(K,{key:1},{default:n(()=>[t(y,{lock:i.value.is_lock,"post-id":i.value.id,onPostSuccess:F},null,8,["lock","post-id"])]),_:1})):u("",!0),i.value.id>0?(o(),_("div",fo,[v.value?(o(),_("div",go,[t(x,{num:5})])):(o(),_("div",yo,[k.value.length===0?(o(),_("div",ko,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):u("",!0),(o(!0),_(re,null,_e(k.value,X=>(o(),R(K,{key:X.id},{default:n(()=>[t(e,{comment:X,onReload:F},null,8,["comment"])]),_:2},1024))),128))]))])):u("",!0),k.value.length>=se?(o(),R(l,{key:3,justify:"center"},{default:n(()=>[t(a(Xt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:g},{spinner:n(()=>[r.value&&O.value?(o(),_("span",wo)):u("",!0),!r.value&&a(b)?(o(),_("span",bo)):u("",!0),r.value&&!O.value?(o(),_("span",$o,"加载评论")):u("",!0),!r.value&&!a(b)?(o(),_("span",Co,"加载评论")):u("",!0)]),_:1})]),_:1})):u("",!0)]),_:1})])}}});const an=ae(xo,[["__scopeId","data-v-0d01659f"]]);export{an as default}; diff --git a/web/dist/assets/Profile-2f783d8e.js b/web/dist/assets/Profile-2f783d8e.js new file mode 100644 index 00000000..c5478adb --- /dev/null +++ b/web/dist/assets/Profile-2f783d8e.js @@ -0,0 +1 @@ +import{_ as fe}from"./whisper-41c78cd2.js";import{_ as he,a as ge}from"./post-item.vue_vue_type_style_index_0_lang-75f1af94.js";import{_ as ke}from"./post-skeleton-2ccfac69.js";import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{d as we,H as n,b as be,E as Pe,r as Ie,f as o,k as u,bf as _,q as d,w as c,Y as m,e,j as f,x as I,A as E,y as ae,F as y,u as w}from"./@vue-a481fc63.js";import{u as Te}from"./vuex-44de225f.js";import{b as Me}from"./vue-router-e5a2430e.js";import{e as x,F as ze,_ as qe}from"./index-f37b0729.js";import{W as xe}from"./v3-infinite-loading-2c58ec2f.js";import{F as Se,a as $e,o as Ce,M as Le,f as Be,g as Fe,I as Ne,k as Ve,G as De}from"./naive-ui-d8de3dda.js";import"./content-60b75b00.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"profile-baseinfo"},We={class:"avatar"},je={class:"base-info"},Ee={class:"username"},He={class:"userinfo"},Re={class:"info-item"},Ae={class:"info-item"},Ge={class:"userinfo"},Ye={class:"info-item"},Je={class:"info-item"},Ke={key:0,class:"skeleton-wrap"},Oe={key:1},Qe={key:0,class:"empty-wrap"},Xe={key:1},Ze={key:0},ea={key:1},aa={key:2},ta={key:3},sa={key:4},la={key:2},oa={key:0},na={key:1},ua={key:2},ia={key:3},ra={key:4},ca={class:"load-more-wrap"},va={class:"load-more-spinner"},_a=we({__name:"Profile",setup(ma){const i=Te(),T=Me(),v=n(!1),b=n(!1),s=n([]),S=n([]),$=n([]),C=n([]),L=n([]),B=n([]),p=n("post"),H=n(+T.query.p||1),R=n(1),A=n(1),G=n(1),Y=n(1),t=n(+T.query.p||1),h=n(20),r=n(0),J=n(0),K=n(0),O=n(0),Q=n(0),X=n(0),F=n(!1),Z=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),g=a=>{Z.value=a,F.value=!0},te=()=>{F.value=!1},N=()=>{switch(p.value){case"post":V();break;case"comment":D();break;case"highlight":U();break;case"media":W();break;case"star":j();break}},V=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"post",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),S.value=s.value,J.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},D=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"comment",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),$.value=s.value,K.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},U=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"highlight",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),C.value=s.value,O.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},W=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"media",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),L.value=s.value,Q.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},j=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"star",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),B.value=s.value,X.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},se=a=>{switch(p.value=a,p.value){case"post":s.value=S.value,t.value=H.value,r.value=J.value,V();break;case"comment":s.value=$.value,t.value=R.value,r.value=K.value,D();break;case"highlight":s.value=C.value,t.value=A.value,r.value=O.value,U();break;case"media":s.value=L.value,t.value=G.value,r.value=Q.value,W();break;case"star":s.value=B.value,t.value=Y.value,r.value=X.value,j();break}},le=()=>{switch(p.value){case"post":H.value=t.value,V();break;case"comment":R.value=t.value,D();break;case"highlight":A.value=t.value,U();break;case"media":G.value=t.value,W();break;case"star":Y.value=t.value,j();break}},oe=()=>{t.value{N()}),Pe(()=>({path:T.path,query:T.query,refresh:i.state.refresh}),(a,P)=>{if(a.refresh!==P.refresh){t.value=+T.query.p||1,setTimeout(()=>{N()},0);return}P.path!=="/post"&&a.path==="/profile"&&(t.value=+T.query.p||1,setTimeout(()=>{N()},0))}),(a,P)=>{const ne=ye,ue=Ce,ie=Le,ee=Ie("router-link"),M=Be,re=Fe,ce=ke,ve=Ne,z=he,k=De,q=ge,_e=fe,me=Se,pe=Ve,de=$e;return e(),o("div",null,[u(ne,{title:"主页"}),_(i).state.userInfo.id>0?(e(),d(me,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:c(()=>[f("div",Ue,[f("div",We,[u(ue,{size:72,src:_(i).state.userInfo.avatar},null,8,["src"])]),f("div",je,[f("div",Ee,[f("strong",null,I(_(i).state.userInfo.nickname),1),f("span",null," @"+I(_(i).state.userInfo.username),1),_(i).state.userInfo.is_admin?(e(),d(ie,{key:0,class:"top-tag",type:"error",size:"small",round:""},{default:c(()=>[E(" 管理员 ")]),_:1})):m("",!0)]),f("div",He,[f("span",Re,"UID. "+I(_(i).state.userInfo.id),1),f("span",Ae,I(_(ze)(_(i).state.userInfo.created_on))+" 加入",1)]),f("div",Ge,[f("span",Ye,[u(ee,{onClick:P[0]||(P[0]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"follows"}}},{default:c(()=>[E(" 关注  "+I(_(i).state.userInfo.follows),1)]),_:1},8,["to"])]),f("span",Je,[u(ee,{onClick:P[1]||(P[1]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"followings"}}},{default:c(()=>[E(" 粉丝  "+I(_(i).state.userInfo.followings),1)]),_:1},8,["to"])])])])]),u(re,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:c(()=>[u(M,{name:"post",tab:"泡泡"}),u(M,{name:"comment",tab:"评论"}),u(M,{name:"highlight",tab:"亮点"}),u(M,{name:"media",tab:"图文"}),u(M,{name:"star",tab:"喜欢"})]),_:1}),v.value&&s.value.length===0?(e(),o("div",Ke,[u(ce,{num:h.value},null,8,["num"])])):(e(),o("div",Oe,[s.value.length===0?(e(),o("div",Qe,[u(ve,{size:"large",description:"暂无数据"})])):m("",!0),_(i).state.desktopModelShow?(e(),o("div",Xe,[p.value==="post"?(e(),o("div",Ze,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",ea,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",aa,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ta,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",sa,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)])):(e(),o("div",la,[p.value==="post"?(e(),o("div",oa,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",na,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",ua,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ia,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",ra,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)]))])),u(_e,{show:F.value,user:Z.value,onSuccess:te},null,8,["show","user"])]),_:1})):m("",!0),r.value>0?(e(),d(de,{key:1,justify:"center"},{default:c(()=>[u(_(xe),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:P[2]||(P[2]=l=>oe())},{spinner:c(()=>[f("div",ca,[b.value?m("",!0):(e(),d(pe,{key:0,size:14})),f("span",va,I(b.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):m("",!0)])}}});const Ga=qe(_a,[["__scopeId","data-v-756dadd0"]]);export{Ga as default}; diff --git a/web/dist/assets/Profile-3522866b.js b/web/dist/assets/Profile-3522866b.js deleted file mode 100644 index 120dc843..00000000 --- a/web/dist/assets/Profile-3522866b.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as fe}from"./whisper-ccc06a56.js";import{_ as he,a as ge}from"./post-item.vue_vue_type_style_index_0_lang-8624318f.js";import{_ as ke}from"./post-skeleton-63a82733.js";import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{d as we,H as n,b as be,E as Pe,r as Ie,f as o,k as u,bf as _,q as d,w as c,Y as m,e,j as f,x as I,A as E,y as ae,F as y,u as w}from"./@vue-a481fc63.js";import{u as Te}from"./vuex-44de225f.js";import{b as Me}from"./vue-router-e5a2430e.js";import{e as x,_ as ze}from"./index-6886c40b.js";import{b as qe}from"./formatTime-4210fcd1.js";import{W as xe}from"./v3-infinite-loading-2c58ec2f.js";import{F as Se,a as $e,o as Ce,M as Le,f as Be,g as Ne,I as Ve,k as De,G as Fe}from"./naive-ui-d8de3dda.js";import"./content-e5b2b63d.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const Ue={class:"profile-baseinfo"},We={class:"avatar"},je={class:"base-info"},Ee={class:"username"},He={class:"userinfo"},Re={class:"info-item"},Ae={class:"info-item"},Ge={class:"userinfo"},Ye={class:"info-item"},Je={class:"info-item"},Ke={key:0,class:"skeleton-wrap"},Oe={key:1},Qe={key:0,class:"empty-wrap"},Xe={key:1},Ze={key:0},ea={key:1},aa={key:2},ta={key:3},sa={key:4},la={key:2},oa={key:0},na={key:1},ua={key:2},ia={key:3},ra={key:4},ca={class:"load-more-wrap"},va={class:"load-more-spinner"},_a=we({__name:"Profile",setup(ma){const i=Te(),T=Me(),v=n(!1),b=n(!1),s=n([]),S=n([]),$=n([]),C=n([]),L=n([]),B=n([]),p=n("post"),H=n(+T.query.p||1),R=n(1),A=n(1),G=n(1),Y=n(1),t=n(+T.query.p||1),h=n(20),r=n(0),J=n(0),K=n(0),O=n(0),Q=n(0),X=n(0),N=n(!1),Z=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),g=a=>{Z.value=a,N.value=!0},te=()=>{N.value=!1},V=()=>{switch(p.value){case"post":D();break;case"comment":F();break;case"highlight":U();break;case"media":W();break;case"star":j();break}},D=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"post",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),S.value=s.value,J.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},F=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"comment",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),$.value=s.value,K.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},U=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"highlight",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),C.value=s.value,O.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},W=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"media",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),L.value=s.value,Q.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},j=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"star",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),B.value=s.value,X.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},se=a=>{switch(p.value=a,p.value){case"post":s.value=S.value,t.value=H.value,r.value=J.value,D();break;case"comment":s.value=$.value,t.value=R.value,r.value=K.value,F();break;case"highlight":s.value=C.value,t.value=A.value,r.value=O.value,U();break;case"media":s.value=L.value,t.value=G.value,r.value=Q.value,W();break;case"star":s.value=B.value,t.value=Y.value,r.value=X.value,j();break}},le=()=>{switch(p.value){case"post":H.value=t.value,D();break;case"comment":R.value=t.value,F();break;case"highlight":A.value=t.value,U();break;case"media":G.value=t.value,W();break;case"star":Y.value=t.value,j();break}},oe=()=>{t.value{V()}),Pe(()=>({path:T.path,query:T.query,refresh:i.state.refresh}),(a,P)=>{if(a.refresh!==P.refresh){t.value=+T.query.p||1,setTimeout(()=>{V()},0);return}P.path!=="/post"&&a.path==="/profile"&&(t.value=+T.query.p||1,setTimeout(()=>{V()},0))}),(a,P)=>{const ne=ye,ue=Ce,ie=Le,ee=Ie("router-link"),M=Be,re=Ne,ce=ke,ve=Ve,z=he,k=Fe,q=ge,_e=fe,me=Se,pe=De,de=$e;return e(),o("div",null,[u(ne,{title:"主页"}),_(i).state.userInfo.id>0?(e(),d(me,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:c(()=>[f("div",Ue,[f("div",We,[u(ue,{size:72,src:_(i).state.userInfo.avatar},null,8,["src"])]),f("div",je,[f("div",Ee,[f("strong",null,I(_(i).state.userInfo.nickname),1),f("span",null," @"+I(_(i).state.userInfo.username),1),_(i).state.userInfo.is_admin?(e(),d(ie,{key:0,class:"top-tag",type:"error",size:"small",round:""},{default:c(()=>[E(" 管理员 ")]),_:1})):m("",!0)]),f("div",He,[f("span",Re,"UID. "+I(_(i).state.userInfo.id),1),f("span",Ae,I(_(qe)(_(i).state.userInfo.created_on))+" 加入",1)]),f("div",Ge,[f("span",Ye,[u(ee,{onClick:P[0]||(P[0]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"follows"}}},{default:c(()=>[E(" 关注  "+I(_(i).state.userInfo.follows),1)]),_:1},8,["to"])]),f("span",Je,[u(ee,{onClick:P[1]||(P[1]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"followings"}}},{default:c(()=>[E(" 粉丝  "+I(_(i).state.userInfo.followings),1)]),_:1},8,["to"])])])])]),u(re,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:c(()=>[u(M,{name:"post",tab:"泡泡"}),u(M,{name:"comment",tab:"评论"}),u(M,{name:"highlight",tab:"亮点"}),u(M,{name:"media",tab:"图文"}),u(M,{name:"star",tab:"喜欢"})]),_:1}),v.value&&s.value.length===0?(e(),o("div",Ke,[u(ce,{num:h.value},null,8,["num"])])):(e(),o("div",Oe,[s.value.length===0?(e(),o("div",Qe,[u(ve,{size:"large",description:"暂无数据"})])):m("",!0),_(i).state.desktopModelShow?(e(),o("div",Xe,[p.value==="post"?(e(),o("div",Ze,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",ea,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",aa,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ta,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",sa,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)])):(e(),o("div",la,[p.value==="post"?(e(),o("div",oa,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",na,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",ua,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ia,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",ra,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)]))])),u(_e,{show:N.value,user:Z.value,onSuccess:te},null,8,["show","user"])]),_:1})):m("",!0),r.value>0?(e(),d(de,{key:1,justify:"center"},{default:c(()=>[u(_(xe),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:P[2]||(P[2]=l=>oe())},{spinner:c(()=>[f("div",ca,[b.value?m("",!0):(e(),d(pe,{key:0,size:14})),f("span",va,I(b.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):m("",!0)])}}});const Ya=ze(_a,[["__scopeId","data-v-756dadd0"]]);export{Ya as default}; diff --git a/web/dist/assets/Setting-3543c8fe.js b/web/dist/assets/Setting-3543c8fe.js deleted file mode 100644 index c6a4d7fa..00000000 --- a/web/dist/assets/Setting-3543c8fe.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{d as ye,H as d,R as X,b as ke,f as g,k as t,w as s,q as b,Y as _,e as r,j as m,bf as u,A as c,x as R,O as be,D as Ce,Z as q,y as A,$ as Ie,a0 as $e}from"./@vue-a481fc63.js";import{u as Pe}from"./vuex-44de225f.js";import{X as Q,Y as Se,Z as Ue,$ as Re,a0 as qe,a1 as Ae,a2 as Be,_ as Ne}from"./index-6886c40b.js";import{Y as ze}from"./@vicons-7a4ef312.js";import{h as Ke,o as xe,e as De,B as Fe,b as je,j as Oe,S as Te,$ as Ve,K as Ee,a0 as Le,a1 as Me,d as Ye}from"./naive-ui-d8de3dda.js";import"./vue-router-e5a2430e.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const j=B=>(Ie("data-v-a681720e"),B=B(),$e(),B),We={class:"base-line avatar"},Ze={class:"base-line"},Ge=j(()=>m("span",{class:"base-label"},"昵称",-1)),He={key:0},Je={class:"base-line"},Xe=j(()=>m("span",{class:"base-label"},"用户名",-1)),Qe={key:0},et={key:1},tt=j(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=j(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},ct={class:"captcha-img-wrap"},pt={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(B){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),N=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),z=d(!1),K=d(!1),M=d(),Y=d(),C=d(!1),x=d(!1),S=d(!1),U=d(!1),I=d(60),y=d(!1),k=d(!1),W=d(),Z=d(),G=d(),H=d(),a=X({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=X({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return N.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):N.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&N.value==="public/avatar"&&Se({avatar:f.data.content}).then(p=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(p=>{console.log(p)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=H.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{v||(x.value=!0,Ue({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=W.value)==null||e.validate(v=>{v||(z.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{z.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{z.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=Z.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&T()}))})},O=()=>{Q().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},T=()=>{Q().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},ce=()=>{Ae({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},pe=()=>{if(!(I.value>0&&U.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Be({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{U.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,U.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&O(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=Y.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),O(),T()}),(n,e)=>{const v=we,f=xe,p=De,D=Fe,h=je,ge=Oe,F=Ke,J=Te,w=Ve,he=Ee,V=Le,E=Me,L=Ye;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",We,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:N.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(p,{size:"small"},{default:s(()=>[c("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ze,[Ge,C.value?_("",!0):(r(),g("div",He,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:Y,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:ce,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(p,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(ze))]),_:1})]),_:1})):_("",!0)]),m("div",Je,[Xe,c(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Qe,[c(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[c(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(J,{title:"手机绑定提示",type:"warning"},{default:s(()=>[c(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:W,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:O},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(p,{type:"primary",ghost:"",disabled:U.value,loading:P.value,onClick:pe},{default:s(()=>[c(R(I.value>0&&U.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",lt,[t(p,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ue},{default:s(()=>[c(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[c(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[c(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(J,{title:"激活码激活提示",type:"warning"},{default:s(()=>[c(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:Z,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",ct,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",pt,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:T},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",mt,[t(p,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[c(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[c(" 您已设置密码 "),S.value?_("",!0):(r(),b(p,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[c(" 重置密码 ")]),_:1})),S.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:G,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:H,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",ft,[t(p,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[c(" 取消 ")]),_:1}),t(p,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[c(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Ot=Ne(gt,[["__scopeId","data-v-a681720e"]]);export{Ot as default}; diff --git a/web/dist/assets/Setting-481cc2c3.js b/web/dist/assets/Setting-481cc2c3.js new file mode 100644 index 00000000..bc18e6ec --- /dev/null +++ b/web/dist/assets/Setting-481cc2c3.js @@ -0,0 +1 @@ +import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{d as ye,H as d,R as Q,b as ke,f as g,k as t,w as s,q as b,Y as _,e as r,j as m,bf as u,A as p,x as R,O as be,D as Ce,Z as q,y as A,$ as Ie,a0 as $e}from"./@vue-a481fc63.js";import{u as Pe}from"./vuex-44de225f.js";import{a0 as X,a1 as Se,a2 as Ue,a3 as Re,a4 as qe,a5 as Ae,a6 as Be,_ as Ne}from"./index-f37b0729.js";import{Y as ze}from"./@vicons-7a4ef312.js";import{h as Ke,o as xe,e as De,B as Fe,b as je,j as Oe,S as Te,$ as Ve,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-d8de3dda.js";import"./vue-router-e5a2430e.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const j=B=>(Ie("data-v-a681720e"),B=B(),$e(),B),Ye={class:"base-line avatar"},Ge={class:"base-line"},He=j(()=>m("span",{class:"base-label"},"昵称",-1)),Je={key:0},Ze={class:"base-line"},Qe=j(()=>m("span",{class:"base-label"},"用户名",-1)),Xe={key:0},et={key:1},tt=j(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=j(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},pt={class:"captcha-img-wrap"},ct={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(B){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),N=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),z=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),S=d(!1),U=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),H=d(),J=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return N.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):N.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&N.value==="public/avatar"&&Se({avatar:f.data.content}).then(c=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(c=>{console.log(c)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=J.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=H.value)==null||e.validate(v=>{v||(x.value=!0,Ue({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(z.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{z.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{z.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&T()}))})},O=()=>{X().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},T=()=>{X().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},pe=()=>{Ae({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},ce=()=>{if(!(I.value>0&&U.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Be({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{U.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,U.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&O(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),O(),T()}),(n,e)=>{const v=we,f=xe,c=De,D=Fe,h=je,ge=Oe,F=Ke,Z=Te,w=Ve,he=Ee,V=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:N.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(c,{size:"small"},{default:s(()=>[p("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[He,C.value?_("",!0):(r(),g("div",Je,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:pe,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(c,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(ze))]),_:1})]),_:1})):_("",!0)]),m("div",Ze,[Qe,p(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Xe,[p(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[p(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Z,{title:"手机绑定提示",type:"warning"},{default:s(()=>[p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:O},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(c,{type:"primary",ghost:"",disabled:U.value,loading:P.value,onClick:ce},{default:s(()=>[p(R(I.value>0&&U.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",lt,[t(c,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ue},{default:s(()=>[p(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[p(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[p(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Z,{title:"激活码激活提示",type:"warning"},{default:s(()=>[p(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",pt,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",ct,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:T},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",mt,[t(c,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[p(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[p(" 您已设置密码 "),S.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[p(" 重置密码 ")]),_:1})),S.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:H,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:J,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",ft,[t(c,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[p(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=Ne(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Topic-c760f051.js b/web/dist/assets/Topic-c760f051.js deleted file mode 100644 index 94954f31..00000000 --- a/web/dist/assets/Topic-c760f051.js +++ /dev/null @@ -1 +0,0 @@ -import{z as $,A as I,B as M,C as O,_ as x}from"./index-6886c40b.js";import{x as U}from"./@vicons-7a4ef312.js";import{d as F,H as i,c as A,b as q,r as j,e as c,f as _,k as n,w as s,q as b,A as B,x as f,Y as p,bf as h,E as D,al as H,F as Y,u as G}from"./@vue-a481fc63.js";import{o as J,M as C,j as K,e as P,O as Q,L as R,F as W,f as X,g as Z,a as ee,k as oe}from"./naive-ui-d8de3dda.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{u as ne}from"./vuex-44de225f.js";import"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=F({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=A(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":M({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":I({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return q(()=>{r.value=!1}),(e,o)=>{const w=j("router-link"),g=J,k=C,a=K,d=P,v=Q,u=R;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(u,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[B(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?p("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):p("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(U))]),_:1})]),_:1})]),_:1},8,["options"])])):p("",!0)]),_:1})])):p("",!0)}}});const _e=F({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);D(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=A({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,O({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return q(()=>{g()}),(a,d)=>{const v=te,u=X,L=C,V=Z,N=ie,S=ee,z=oe,E=W;return c(),_("div",null,[n(v,{title:"话题"}),n(E,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(V,{type:"line",animated:"","onUpdate:value":k},H({default:s(()=>[n(u,{name:"hot",tab:"热门"}),n(u,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(u,{key:0,name:"follow",tab:"关注"})):p("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(L,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[B(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(z,{show:l.value},{default:s(()=>[n(S,null,{default:s(()=>[(c(!0),_(Y,null,G(r.value,y=>(c(),b(N,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Ne=x(_e,[["__scopeId","data-v-1fb31ecf"]]);export{Ne as default}; diff --git a/web/dist/assets/Topic-e0ae155d.js b/web/dist/assets/Topic-e0ae155d.js new file mode 100644 index 00000000..ae2f4261 --- /dev/null +++ b/web/dist/assets/Topic-e0ae155d.js @@ -0,0 +1 @@ +import{A as $,B as M,C as O,D as x,_ as z}from"./index-f37b0729.js";import{x as D}from"./@vicons-7a4ef312.js";import{d as F,H as i,c as A,b as q,r as U,e as c,f as _,k as n,w as s,q as b,A as B,x as f,Y as u,bf as h,E as j,al as H,F as Y,u as G}from"./@vue-a481fc63.js";import{o as J,M as C,j as K,e as P,O as Q,L as R,F as W,f as X,g as Z,a as ee,k as oe}from"./naive-ui-d8de3dda.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as ne}from"./vuex-44de225f.js";import"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=F({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=A(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":O({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":M({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return q(()=>{r.value=!1}),(e,o)=>{const w=U("router-link"),g=J,k=C,a=K,d=P,v=Q,p=R;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[B(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(D))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=F({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);j(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=A({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,x({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return q(()=>{g()}),(a,d)=>{const v=te,p=X,L=C,V=Z,N=ie,S=ee,E=oe,I=W;return c(),_("div",null,[n(v,{title:"话题"}),n(I,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(V,{type:"line",animated:"","onUpdate:value":k},H({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(L,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[B(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(E,{show:l.value},{default:s(()=>[n(S,null,{default:s(()=>[(c(!0),_(Y,null,G(r.value,y=>(c(),b(N,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Se=z(_e,[["__scopeId","data-v-1fb31ecf"]]);export{Se as default}; diff --git a/web/dist/assets/User-3c76988c.js b/web/dist/assets/User-3c76988c.js deleted file mode 100644 index 4b640942..00000000 --- a/web/dist/assets/User-3c76988c.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as Re,a as He}from"./post-item.vue_vue_type_style_index_0_lang-8624318f.js";import{_ as Ne}from"./post-skeleton-63a82733.js";import{_ as Ve}from"./whisper-ccc06a56.js";import{_ as je}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{d as pe,H as i,e as s,q as m,w as r,j as f,k as t,A as U,x,R as Ee,c as Ge,b as Ye,E as Je,r as Ke,f as u,Y as d,bf as k,y as ce,F as $,u as T,h as _e}from"./@vue-a481fc63.js";import{u as Qe}from"./vuex-44de225f.js";import{b as Xe}from"./vue-router-e5a2430e.js";import{D as Ze,_ as me,E as ea,e as V,F as aa,G as sa,H as ta,I as la}from"./index-6886c40b.js";import{R as na,H as oa,S as ua,b as ia,e as fe,i as ra,T as ca,F as _a,a as va,j as ve,o as da,M as pa,O as ma,k as fa,f as ha,g as ga,I as wa,G as ka}from"./naive-ui-d8de3dda.js";import{b as ya}from"./formatTime-4210fcd1.js";import{W as ba}from"./v3-infinite-loading-2c58ec2f.js";import{i as Pa,p as $a,y as de,z as Ta,v as xa,D as za,G as Ua}from"./@vicons-7a4ef312.js";import"./content-e5b2b63d.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const Fa={class:"whisper-wrap"},Ia={class:"whisper-line"},qa={class:"whisper-line send-wrap"},Ca=pe({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(ue,{emit:O}){const y=ue,g=i(""),F=i(!1),c=()=>{O("success")},h=()=>{F.value=!0,Ze({user_id:y.user.id,greetings:g.value}).then(a=>{window.$message.success("发送成功"),F.value=!1,g.value="",c()}).catch(a=>{F.value=!1})};return(a,v)=>{const L=na,A=oa,l=ua,I=ia,q=fe,C=ra;return s(),m(C,{show:a.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:r(()=>[f("div",Fa,[t(l,{"show-icon":!1},{default:r(()=>[U(" 发送添加朋友申请给: "),t(A,{style:{"max-width":"100%"}},{default:r(()=>[t(L,{type:"success"},{default:r(()=>[U(x(a.user.nickname)+"@"+x(a.user.username),1)]),_:1})]),_:1})]),_:1}),f("div",Ia,[t(I,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:g.value,"onUpdate:value":v[0]||(v[0]=M=>g.value=M),maxlength:"120","show-count":""},null,8,["value"])]),f("div",qa,[t(q,{strong:"",secondary:"",type:"primary",loading:F.value,onClick:h},{default:r(()=>[U(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ma=me(Ca,[["__scopeId","data-v-60be56a2"]]),Sa={key:0,class:"profile-baseinfo"},Wa={class:"avatar"},La={class:"base-info"},Oa={class:"username"},Aa={class:"userinfo"},Da={class:"info-item"},Ba={class:"info-item"},Ra={class:"userinfo"},Ha={class:"info-item"},Na={class:"info-item"},Va={key:0,class:"user-opts"},ja={key:0,class:"skeleton-wrap"},Ea={key:1},Ga={key:0,class:"empty-wrap"},Ya={key:1},Ja={key:0},Ka={key:1},Qa={key:2},Xa={key:3},Za={key:4},es={key:2},as={key:0},ss={key:1},ts={key:2},ls={key:3},ns={key:4},os={class:"load-more-wrap"},us={class:"load-more-spinner"},is=pe({__name:"User",setup(ue){const O=ca(),y=Qe(),g=Xe(),F="true".toLowerCase()==="true",c=i(!1),h=i(!1),a=Ee({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),v=i(!1),L=i(!1),A=i(!1),l=i([]),I=i([]),q=i([]),C=i([]),M=i([]),D=i([]),S=i(g.query.s||""),n=i(+g.query.p||1),p=i("post"),E=i(+g.query.p||1),G=i(1),Y=i(1),J=i(1),K=i(1),w=i(20),_=i(0),Q=i(0),X=i(0),Z=i(0),ee=i(0),ae=i(0),b=e=>{a.id=e.id,a.username=e.username,a.nickname=e.nickname,a.avatar=e.avatar,L.value=!0},he=()=>{h.value=!1,l.value=[],I.value=[],q.value=[],C.value=[],M.value=[],D.value=[],p.value="post",n.value=1,E.value=1,G.value=1,Y.value=1,J.value=1,K.value=1,_.value=0,Q.value=0,X.value=0,Z.value=0,ee.value=0,ae.value=0},ge=()=>{switch(p.value){case"post":j();break;case"comment":se();break;case"highlight":te();break;case"media":le();break;case"star":ne();break}},j=()=>{c.value=!0,V({username:S.value,style:"post",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),I.value=l.value,Q.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},se=()=>{c.value=!0,V({username:S.value,style:"comment",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),q.value=l.value,X.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},te=()=>{c.value=!0,V({username:S.value,style:"highlight",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),C.value=l.value,Z.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},le=()=>{c.value=!0,V({username:S.value,style:"media",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),M.value=l.value,ee.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},ne=()=>{c.value=!0,V({username:S.value,style:"star",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),D.value=l.value,ae.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},we=e=>{switch(p.value=e,p.value){case"post":l.value=I.value,n.value=E.value,_.value=Q.value,j();break;case"comment":l.value=q.value,n.value=G.value,_.value=X.value,se();break;case"highlight":l.value=C.value,n.value=Y.value,_.value=Z.value,te();break;case"media":l.value=M.value,n.value=J.value,_.value=ee.value,le();break;case"star":l.value=D.value,n.value=K.value,_.value=ae.value,ne();break}},B=()=>{v.value=!0,ea({username:S.value}).then(e=>{v.value=!1,a.id=e.id,a.avatar=e.avatar,a.username=e.username,a.nickname=e.nickname,a.is_admin=e.is_admin,a.is_friend=e.is_friend,a.created_on=e.created_on,a.is_following=e.is_following,a.follows=e.follows,a.followings=e.followings,a.status=e.status,ge()}).catch(e=>{v.value=!1,console.log(e)})},ke=()=>{switch(p.value){case"post":E.value=n.value,j();break;case"comment":G.value=n.value,se();break;case"highlight":Y.value=n.value,te();break;case"media":J.value=n.value,le();break;case"star":K.value=n.value,ne();break}},ye=()=>{L.value=!0},be=()=>{A.value=!0},Pe=()=>{L.value=!1},$e=()=>{A.value=!1},W=e=>()=>_e(ve,null,{default:()=>_e(e)}),Te=Ge(()=>{let e=[{label:"私信",key:"whisper",icon:W($a)}];return y.state.userInfo.is_admin&&(a.status===1?e.push({label:"禁言",key:"banned",icon:W(de)}):e.push({label:"解封",key:"deblocking",icon:W(de)})),a.is_following?e.push({label:"取消关注",key:"unfollow",icon:W(Ta)}):e.push({label:"关注",key:"follow",icon:W(xa)}),F&&(a.is_friend?e.push({label:"删除好友",key:"delete",icon:W(za)}):e.push({label:"添加朋友",key:"requesting",icon:W(Ua)})),e}),xe=e=>{switch(e){case"whisper":ye();break;case"delete":ze();break;case"requesting":be();break;case"follow":case"unfollow":Ue();break;case"banned":case"deblocking":Fe();break}},ze=()=>{O.warning({title:"删除好友",content:"将好友 “"+a.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,aa({user_id:a.id}).then(e=>{v.value=!1,a.is_friend=!1,j()}).catch(e=>{v.value=!1,console.log(e)})}})},Ue=()=>{O.success({title:"提示",content:"确定"+(a.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,a.is_following?sa({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("取消关注成功"),B()}).catch(e=>{v.value=!1,console.log(e)}):ta({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("关注成功"),B()}).catch(e=>{v.value=!1,console.log(e)})}})},Fe=()=>{O.warning({title:"警告",content:"确定对该用户进行"+(a.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,la({id:a.id,status:a.status===1?2:1}).then(e=>{v.value=!1,a.status===1?window.$message.success("禁言成功"):window.$message.success("解封成功"),B()}).catch(e=>{v.value=!1,console.log(e)})}})},Ie=()=>{n.value<_.value||_.value==0?(h.value=!1,n.value++,ke()):h.value=!0};return Ye(()=>{B()}),Je(()=>({path:g.path,query:g.query}),(e,z)=>{z.path==="/u"&&e.path==="/u"&&(S.value=g.query.s||"",he(),B())}),(e,z)=>{const qe=je,Ce=da,oe=pa,ie=Ke("router-link"),Me=fe,Se=ma,We=Ve,re=fa,R=ha,Le=ga,Oe=Ne,Ae=wa,H=Re,P=ka,N=He,De=_a,Be=va;return s(),u("div",null,[t(qe,{title:"用户详情"}),t(De,{class:"main-content-wrap profile-wrap",bordered:""},{default:r(()=>[t(re,{show:v.value},{default:r(()=>[a.id>0?(s(),u("div",Sa,[f("div",Wa,[t(Ce,{size:72,src:a.avatar},null,8,["src"])]),f("div",La,[f("div",Oa,[f("strong",null,x(a.nickname),1),f("span",null," @"+x(a.username),1),F&&k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_friend?(s(),m(oe,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:r(()=>[U(" 好友 ")]),_:1})):d("",!0),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_following?(s(),m(oe,{key:1,class:"top-tag",type:"success",size:"small",round:""},{default:r(()=>[U(" 已关注 ")]),_:1})):d("",!0),a.is_admin?(s(),m(oe,{key:2,class:"top-tag",type:"error",size:"small",round:""},{default:r(()=>[U(" 管理员 ")]),_:1})):d("",!0)]),f("div",Aa,[f("span",Da,"UID. "+x(a.id),1),f("span",Ba,x(k(ya)(a.created_on))+" 加入",1)]),f("div",Ra,[f("span",Ha,[t(ie,{onClick:z[0]||(z[0]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"follows"}}},{default:r(()=>[U(" 关注  "+x(a.follows),1)]),_:1},8,["to"])]),f("span",Na,[t(ie,{onClick:z[1]||(z[1]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"followings"}}},{default:r(()=>[U(" 粉丝  "+x(a.followings),1)]),_:1},8,["to"])])])]),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username?(s(),u("div",Va,[t(Se,{placement:"bottom-end",trigger:"click",size:"small",options:Te.value,onSelect:xe},{default:r(()=>[t(Me,{quaternary:"",circle:""},{icon:r(()=>[t(k(ve),null,{default:r(()=>[t(k(Pa))]),_:1})]),_:1})]),_:1},8,["options"])])):d("",!0)])):d("",!0),t(We,{show:L.value,user:a,onSuccess:Pe},null,8,["show","user"]),t(Ma,{show:A.value,user:a,onSuccess:$e},null,8,["show","user"])]),_:1},8,["show"]),t(Le,{class:"profile-tabs-wrap",type:"line",animated:"",value:p.value,"onUpdate:value":we},{default:r(()=>[t(R,{name:"post",tab:"泡泡"}),t(R,{name:"comment",tab:"评论"}),t(R,{name:"highlight",tab:"亮点"}),t(R,{name:"media",tab:"图文"}),t(R,{name:"star",tab:"喜欢"})]),_:1},8,["value"]),c.value&&l.value.length===0?(s(),u("div",ja,[t(Oe,{num:w.value},null,8,["num"])])):(s(),u("div",Ea,[l.value.length===0?(s(),u("div",Ga,[t(Ae,{size:"large",description:"暂无数据"})])):d("",!0),k(y).state.desktopModelShow?(s(),u("div",Ya,[p.value==="post"?(s(),u("div",Ja,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",Ka,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",Qa,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",Xa,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",Za,[(s(!0),u($,null,T(D.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)])):(s(),u("div",es,[p.value==="post"?(s(),u("div",as,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",ss,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",ts,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",ls,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",ns,[(s(!0),u($,null,T(D.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)]))]))]),_:1}),_.value>0?(s(),m(Be,{key:0,justify:"center"},{default:r(()=>[t(k(ba),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:z[2]||(z[2]=o=>Ie())},{spinner:r(()=>[f("div",os,[h.value?d("",!0):(s(),m(re,{key:0,size:14})),f("span",us,x(h.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):d("",!0)])}}});const Hs=me(is,[["__scopeId","data-v-ebc19734"]]);export{Hs as default}; diff --git a/web/dist/assets/User-cab97cbb.js b/web/dist/assets/User-cab97cbb.js new file mode 100644 index 00000000..5fe459db --- /dev/null +++ b/web/dist/assets/User-cab97cbb.js @@ -0,0 +1 @@ +import{_ as Re,a as He}from"./post-item.vue_vue_type_style_index_0_lang-75f1af94.js";import{_ as Ne}from"./post-skeleton-2ccfac69.js";import{_ as Ve}from"./whisper-41c78cd2.js";import{_ as je}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{d as pe,H as i,e as s,q as m,w as r,j as f,k as t,A as U,x,R as Ge,c as Ee,b as Je,E as Ke,r as Ye,f as u,Y as d,bf as k,y as ce,F as $,u as T,h as _e}from"./@vue-a481fc63.js";import{u as Qe}from"./vuex-44de225f.js";import{b as Xe}from"./vue-router-e5a2430e.js";import{G as Ze,_ as me,H as ea,F as aa,e as V,I as sa,J as ta,K as la,L as na}from"./index-f37b0729.js";import{R as oa,H as ua,S as ia,b as ra,e as fe,i as ca,T as _a,F as va,a as da,j as ve,o as pa,M as ma,O as fa,k as ha,f as ga,g as wa,I as ka,G as ya}from"./naive-ui-d8de3dda.js";import{W as ba}from"./v3-infinite-loading-2c58ec2f.js";import{i as Pa,p as $a,y as de,z as Ta,v as xa,D as za,G as Ua}from"./@vicons-7a4ef312.js";import"./content-60b75b00.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Fa={class:"whisper-wrap"},Ia={class:"whisper-line"},qa={class:"whisper-line send-wrap"},Ca=pe({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(ue,{emit:O}){const y=ue,g=i(""),F=i(!1),c=()=>{O("success")},h=()=>{F.value=!0,Ze({user_id:y.user.id,greetings:g.value}).then(a=>{window.$message.success("发送成功"),F.value=!1,g.value="",c()}).catch(a=>{F.value=!1})};return(a,v)=>{const L=oa,A=ua,l=ia,I=ra,q=fe,C=ca;return s(),m(C,{show:a.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:r(()=>[f("div",Fa,[t(l,{"show-icon":!1},{default:r(()=>[U(" 发送添加朋友申请给: "),t(A,{style:{"max-width":"100%"}},{default:r(()=>[t(L,{type:"success"},{default:r(()=>[U(x(a.user.nickname)+"@"+x(a.user.username),1)]),_:1})]),_:1})]),_:1}),f("div",Ia,[t(I,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:g.value,"onUpdate:value":v[0]||(v[0]=M=>g.value=M),maxlength:"120","show-count":""},null,8,["value"])]),f("div",qa,[t(q,{strong:"",secondary:"",type:"primary",loading:F.value,onClick:h},{default:r(()=>[U(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ma=me(Ca,[["__scopeId","data-v-60be56a2"]]),Sa={key:0,class:"profile-baseinfo"},Wa={class:"avatar"},La={class:"base-info"},Oa={class:"username"},Aa={class:"userinfo"},Ba={class:"info-item"},Da={class:"info-item"},Ra={class:"userinfo"},Ha={class:"info-item"},Na={class:"info-item"},Va={key:0,class:"user-opts"},ja={key:0,class:"skeleton-wrap"},Ga={key:1},Ea={key:0,class:"empty-wrap"},Ja={key:1},Ka={key:0},Ya={key:1},Qa={key:2},Xa={key:3},Za={key:4},es={key:2},as={key:0},ss={key:1},ts={key:2},ls={key:3},ns={key:4},os={class:"load-more-wrap"},us={class:"load-more-spinner"},is=pe({__name:"User",setup(ue){const O=_a(),y=Qe(),g=Xe(),F="true".toLowerCase()==="true",c=i(!1),h=i(!1),a=Ge({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),v=i(!1),L=i(!1),A=i(!1),l=i([]),I=i([]),q=i([]),C=i([]),M=i([]),B=i([]),S=i(g.query.s||""),n=i(+g.query.p||1),p=i("post"),G=i(+g.query.p||1),E=i(1),J=i(1),K=i(1),Y=i(1),w=i(20),_=i(0),Q=i(0),X=i(0),Z=i(0),ee=i(0),ae=i(0),b=e=>{a.id=e.id,a.username=e.username,a.nickname=e.nickname,a.avatar=e.avatar,L.value=!0},he=()=>{h.value=!1,l.value=[],I.value=[],q.value=[],C.value=[],M.value=[],B.value=[],p.value="post",n.value=1,G.value=1,E.value=1,J.value=1,K.value=1,Y.value=1,_.value=0,Q.value=0,X.value=0,Z.value=0,ee.value=0,ae.value=0},ge=()=>{switch(p.value){case"post":j();break;case"comment":se();break;case"highlight":te();break;case"media":le();break;case"star":ne();break}},j=()=>{c.value=!0,V({username:S.value,style:"post",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),I.value=l.value,Q.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},se=()=>{c.value=!0,V({username:S.value,style:"comment",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),q.value=l.value,X.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},te=()=>{c.value=!0,V({username:S.value,style:"highlight",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),C.value=l.value,Z.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},le=()=>{c.value=!0,V({username:S.value,style:"media",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),M.value=l.value,ee.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},ne=()=>{c.value=!0,V({username:S.value,style:"star",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),B.value=l.value,ae.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},we=e=>{switch(p.value=e,p.value){case"post":l.value=I.value,n.value=G.value,_.value=Q.value,j();break;case"comment":l.value=q.value,n.value=E.value,_.value=X.value,se();break;case"highlight":l.value=C.value,n.value=J.value,_.value=Z.value,te();break;case"media":l.value=M.value,n.value=K.value,_.value=ee.value,le();break;case"star":l.value=B.value,n.value=Y.value,_.value=ae.value,ne();break}},D=()=>{v.value=!0,ea({username:S.value}).then(e=>{v.value=!1,a.id=e.id,a.avatar=e.avatar,a.username=e.username,a.nickname=e.nickname,a.is_admin=e.is_admin,a.is_friend=e.is_friend,a.created_on=e.created_on,a.is_following=e.is_following,a.follows=e.follows,a.followings=e.followings,a.status=e.status,ge()}).catch(e=>{v.value=!1,console.log(e)})},ke=()=>{switch(p.value){case"post":G.value=n.value,j();break;case"comment":E.value=n.value,se();break;case"highlight":J.value=n.value,te();break;case"media":K.value=n.value,le();break;case"star":Y.value=n.value,ne();break}},ye=()=>{L.value=!0},be=()=>{A.value=!0},Pe=()=>{L.value=!1},$e=()=>{A.value=!1},W=e=>()=>_e(ve,null,{default:()=>_e(e)}),Te=Ee(()=>{let e=[{label:"私信",key:"whisper",icon:W($a)}];return y.state.userInfo.is_admin&&(a.status===1?e.push({label:"禁言",key:"banned",icon:W(de)}):e.push({label:"解封",key:"deblocking",icon:W(de)})),a.is_following?e.push({label:"取消关注",key:"unfollow",icon:W(Ta)}):e.push({label:"关注",key:"follow",icon:W(xa)}),F&&(a.is_friend?e.push({label:"删除好友",key:"delete",icon:W(za)}):e.push({label:"添加朋友",key:"requesting",icon:W(Ua)})),e}),xe=e=>{switch(e){case"whisper":ye();break;case"delete":ze();break;case"requesting":be();break;case"follow":case"unfollow":Ue();break;case"banned":case"deblocking":Fe();break}},ze=()=>{O.warning({title:"删除好友",content:"将好友 “"+a.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,sa({user_id:a.id}).then(e=>{v.value=!1,a.is_friend=!1,j()}).catch(e=>{v.value=!1,console.log(e)})}})},Ue=()=>{O.success({title:"提示",content:"确定"+(a.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,a.is_following?ta({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("取消关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)}):la({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Fe=()=>{O.warning({title:"警告",content:"确定对该用户进行"+(a.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,na({id:a.id,status:a.status===1?2:1}).then(e=>{v.value=!1,a.status===1?window.$message.success("禁言成功"):window.$message.success("解封成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Ie=()=>{n.value<_.value||_.value==0?(h.value=!1,n.value++,ke()):h.value=!0};return Je(()=>{D()}),Ke(()=>({path:g.path,query:g.query}),(e,z)=>{z.path==="/u"&&e.path==="/u"&&(S.value=g.query.s||"",he(),D())}),(e,z)=>{const qe=je,Ce=pa,oe=ma,ie=Ye("router-link"),Me=fe,Se=fa,We=Ve,re=ha,R=ga,Le=wa,Oe=Ne,Ae=ka,H=Re,P=ya,N=He,Be=va,De=da;return s(),u("div",null,[t(qe,{title:"用户详情"}),t(Be,{class:"main-content-wrap profile-wrap",bordered:""},{default:r(()=>[t(re,{show:v.value},{default:r(()=>[a.id>0?(s(),u("div",Sa,[f("div",Wa,[t(Ce,{size:72,src:a.avatar},null,8,["src"])]),f("div",La,[f("div",Oa,[f("strong",null,x(a.nickname),1),f("span",null," @"+x(a.username),1),F&&k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_friend?(s(),m(oe,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:r(()=>[U(" 好友 ")]),_:1})):d("",!0),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_following?(s(),m(oe,{key:1,class:"top-tag",type:"success",size:"small",round:""},{default:r(()=>[U(" 已关注 ")]),_:1})):d("",!0),a.is_admin?(s(),m(oe,{key:2,class:"top-tag",type:"error",size:"small",round:""},{default:r(()=>[U(" 管理员 ")]),_:1})):d("",!0)]),f("div",Aa,[f("span",Ba,"UID. "+x(a.id),1),f("span",Da,x(k(aa)(a.created_on))+" 加入",1)]),f("div",Ra,[f("span",Ha,[t(ie,{onClick:z[0]||(z[0]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"follows"}}},{default:r(()=>[U(" 关注  "+x(a.follows),1)]),_:1},8,["to"])]),f("span",Na,[t(ie,{onClick:z[1]||(z[1]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"followings"}}},{default:r(()=>[U(" 粉丝  "+x(a.followings),1)]),_:1},8,["to"])])])]),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username?(s(),u("div",Va,[t(Se,{placement:"bottom-end",trigger:"click",size:"small",options:Te.value,onSelect:xe},{default:r(()=>[t(Me,{quaternary:"",circle:""},{icon:r(()=>[t(k(ve),null,{default:r(()=>[t(k(Pa))]),_:1})]),_:1})]),_:1},8,["options"])])):d("",!0)])):d("",!0),t(We,{show:L.value,user:a,onSuccess:Pe},null,8,["show","user"]),t(Ma,{show:A.value,user:a,onSuccess:$e},null,8,["show","user"])]),_:1},8,["show"]),t(Le,{class:"profile-tabs-wrap",type:"line",animated:"",value:p.value,"onUpdate:value":we},{default:r(()=>[t(R,{name:"post",tab:"泡泡"}),t(R,{name:"comment",tab:"评论"}),t(R,{name:"highlight",tab:"亮点"}),t(R,{name:"media",tab:"图文"}),t(R,{name:"star",tab:"喜欢"})]),_:1},8,["value"]),c.value&&l.value.length===0?(s(),u("div",ja,[t(Oe,{num:w.value},null,8,["num"])])):(s(),u("div",Ga,[l.value.length===0?(s(),u("div",Ea,[t(Ae,{size:"large",description:"暂无数据"})])):d("",!0),k(y).state.desktopModelShow?(s(),u("div",Ja,[p.value==="post"?(s(),u("div",Ka,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",Ya,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",Qa,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",Xa,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",Za,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)])):(s(),u("div",es,[p.value==="post"?(s(),u("div",as,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",ss,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",ts,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",ls,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",ns,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)]))]))]),_:1}),_.value>0?(s(),m(De,{key:0,justify:"center"},{default:r(()=>[t(k(ba),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:z[2]||(z[2]=o=>Ie())},{spinner:r(()=>[f("div",os,[h.value?d("",!0):(s(),m(re,{key:0,size:14})),f("span",us,x(h.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):d("",!0)])}}});const Rs=me(is,[["__scopeId","data-v-ebc19734"]]);export{Rs as default}; diff --git a/web/dist/assets/Wallet-34a63003.js b/web/dist/assets/Wallet-34a63003.js deleted file mode 100644 index a29a3545..00000000 --- a/web/dist/assets/Wallet-34a63003.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as K}from"./post-skeleton-63a82733.js";import{_ as X}from"./main-nav.vue_vue_type_style_index_0_lang-04907baf.js";import{d as Z,H as c,b as J,f as _,k as e,w as o,e as a,bf as y,Y as w,j as n,A as k,F as q,u as z,O as ee,D as te,x as r,q as N,l as oe,y as ne,$ as ae,a0 as se}from"./@vue-a481fc63.js";import{u as le}from"./vuex-44de225f.js";import{b as ce}from"./vue-router-e5a2430e.js";import{b as ie}from"./qrcode-9719fc56.js";import{T as _e,U as re,V as ue,W as pe,_ as de}from"./index-6886c40b.js";import{a as me}from"./formatTime-4210fcd1.js";import{X as ge}from"./@vicons-7a4ef312.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,Q as be,I as xe,j as Ce,l as Ie,h as Se,G as Ae}from"./naive-ui-d8de3dda.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./moment-2ab8298d.js";const T=m=>(ae("data-v-870bd246"),m=m(),se(),m),Re={class:"balance-wrap"},$e={class:"balance-line"},qe={class:"balance-opts"},ze={key:0,class:"pagination-wrap"},Ne={key:0,class:"skeleton-wrap"},Te={key:1},We={key:0,class:"empty-wrap"},Be={class:"bill-line"},Fe={key:0,class:"amount-options"},Oe={key:1,style:{"margin-top":"10px"}},Pe={class:"qrcode-wrap"},Ue=T(()=>n("canvas",{id:"qrcode-container"},null,-1)),Ve={class:"pay-tips"},De={class:"pay-sub-tips"},Ee=T(()=>n("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Le=Z({__name:"Wallet",setup(m){const i=le(),W=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+W.query.p||1),C=c(20),I=c(0),B=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),A=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},F=s=>{x.value=s,A()},R=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),A()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},O=()=>{g.value=!0},P=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",R())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},U=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{R()}),(s,l)=>{const S=X,d=fe,V=ye,f=we,$=ke,D=be,E=K,L=xe,M=Ae,j=ve,Q=Ce,Y=Ie,G=Se,H=he;return a(),_("div",null,[e(S,{title:"钱包"}),e(j,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(a(),_("div",ze,[e(D,{page:x.value,"onUpdate:page":F,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[n("div",Re,[n("div",$e,[e(V,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),n("div",qe,[e($,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:O},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:U},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(a(),_("div",Ne,[e(E,{num:C.value},null,8,["num"])])):(a(),_("div",Te,[b.value.length===0?(a(),_("div",We,[e(L,{size:"large",description:"暂无数据"})])):w("",!0),(a(!0),_(q,null,z(b.value,t=>(a(),N(M,{key:t.id},{default:o(()=>[n("div",Be,[n("div",null,"NO."+r(t.id),1),n("div",null,r(t.reason),1),n("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),n("div",null,r(y(me)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(H,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(G,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(a(),_("div",Fe,[e($,{align:"baseline"},{default:o(()=>[(a(!0),_(q,null,z(B.value,t=>(a(),N(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ne(Me=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(a(),_("div",Oe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:P},{icon:o(()=>[e(Q,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(n("div",Pe,[Ue,n("div",Ve," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),n("div",De,[e(Y,{value:100,type:"info",dot:"",processing:""}),Ee])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const yt=de(Le,[["__scopeId","data-v-870bd246"]]);export{yt as default}; diff --git a/web/dist/assets/Wallet-3f9754c9.js b/web/dist/assets/Wallet-3f9754c9.js new file mode 100644 index 00000000..8492d998 --- /dev/null +++ b/web/dist/assets/Wallet-3f9754c9.js @@ -0,0 +1 @@ +import{_ as G}from"./post-skeleton-2ccfac69.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{d as K,H as c,b as J,f as _,k as e,w as o,e as a,bf as y,Y as w,j as n,A as k,F as q,u as z,O as ee,D as te,x as r,q as N,l as oe,y as ne,$ as ae,a0 as se}from"./@vue-a481fc63.js";import{u as le}from"./vuex-44de225f.js";import{b as ce}from"./vue-router-e5a2430e.js";import{b as ie}from"./qrcode-9719fc56.js";import{X as _e,Y as re,Z as ue,$ as pe,E as de,_ as me}from"./index-f37b0729.js";import{X as ge}from"./@vicons-7a4ef312.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,Q as be,I as xe,j as Ce,l as Ie,h as Se,G as Ae}from"./naive-ui-d8de3dda.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const B=m=>(ae("data-v-870bd246"),m=m(),se(),m),Re={class:"balance-wrap"},$e={class:"balance-line"},qe={class:"balance-opts"},ze={key:0,class:"pagination-wrap"},Ne={key:0,class:"skeleton-wrap"},Be={key:1},Ee={key:0,class:"empty-wrap"},Fe={class:"bill-line"},Oe={key:0,class:"amount-options"},Pe={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},We=B(()=>n("canvas",{id:"qrcode-container"},null,-1)),De={class:"pay-tips"},Le={class:"pay-sub-tips"},Ue=B(()=>n("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ve=K({__name:"Wallet",setup(m){const i=le(),E=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+E.query.p||1),C=c(20),I=c(0),F=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),A=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},O=s=>{x.value=s,A()},R=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),A()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},P=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",R())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},W=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{R()}),(s,l)=>{const S=H,d=fe,D=ye,f=we,$=ke,L=be,U=G,V=xe,M=Ae,Y=ve,j=Ce,Q=Ie,X=Se,Z=he;return a(),_("div",null,[e(S,{title:"钱包"}),e(Y,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(a(),_("div",ze,[e(L,{page:x.value,"onUpdate:page":O,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[n("div",Re,[n("div",$e,[e(D,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),n("div",qe,[e($,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:P},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:W},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(a(),_("div",Ne,[e(U,{num:C.value},null,8,["num"])])):(a(),_("div",Be,[b.value.length===0?(a(),_("div",Ee,[e(V,{size:"large",description:"暂无数据"})])):w("",!0),(a(!0),_(q,null,z(b.value,t=>(a(),N(M,{key:t.id},{default:o(()=>[n("div",Fe,[n("div",null,"NO."+r(t.id),1),n("div",null,r(t.reason),1),n("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),n("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(Z,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(X,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(a(),_("div",Oe,[e($,{align:"baseline"},{default:o(()=>[(a(!0),_(q,null,z(F.value,t=>(a(),N(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ne(Me=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(a(),_("div",Pe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(n("div",Te,[We,n("div",De," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),n("div",Le,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ue])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const ft=me(Ve,[["__scopeId","data-v-870bd246"]]);export{ft as default}; diff --git a/web/dist/assets/content-60b75b00.js b/web/dist/assets/content-60b75b00.js new file mode 100644 index 00000000..746bc831 --- /dev/null +++ b/web/dist/assets/content-60b75b00.js @@ -0,0 +1 @@ +import{d as h,e,f as r,F as a,u as m,k as s,w as o,bf as c,j as C,y as k,x as I,q as d,Y as g,H as j,A as N,h as b}from"./@vue-a481fc63.js";import{R as V,U as T}from"./@vicons-7a4ef312.js";import{j as $,V as A,W as B,m as U,X as z,e as F,i as L}from"./naive-ui-d8de3dda.js";import{_ as D,S as R,T as M}from"./index-f37b0729.js";import{e as O}from"./paopao-video-player-2fe58954.js";const P={class:"link-wrap"},S={class:"link-txt-wrap"},q=["href"],H={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",P,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(V))]),_:1}),C("div",S,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",H,I(n.content),1)],8,q)])]))),128))])}}});const ot=D(W,[["__scopeId","data-v-36eef76b"]]),X={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=A,n=B;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(O),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=U,_=A,f=B,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},G=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),R({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{M({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=F,i=L;return e(),r("div",Z,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(T))]),_:1})]),default:o(()=>[N(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=D(G,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; diff --git a/web/dist/assets/content-e5b2b63d.js b/web/dist/assets/content-e5b2b63d.js deleted file mode 100644 index fbe83ca0..00000000 --- a/web/dist/assets/content-e5b2b63d.js +++ /dev/null @@ -1 +0,0 @@ -import{d as h,e,f as r,F as a,u as m,k as s,w as o,bf as c,j as C,y as k,x as I,q as d,Y as g,H as j,A as N,h as b}from"./@vue-a481fc63.js";import{R as V,U}from"./@vicons-7a4ef312.js";import{j as $,V as A,W as B,m as z,X as F,e as L,i as O}from"./naive-ui-d8de3dda.js";import{_ as D,O as P,P as R}from"./index-6886c40b.js";import{e as T}from"./paopao-video-player-2fe58954.js";const M={class:"link-wrap"},q={class:"link-txt-wrap"},H=["href"],S={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",M,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(V))]),_:1}),C("div",q,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",S,I(n.content),1)],8,H)])]))),128))])}}});const ot=D(W,[["__scopeId","data-v-36eef76b"]]),X={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=A,n=B;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(T),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=z,_=A,f=B,w=F;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},G=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),P({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{R({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=L,i=O;return e(),r("div",Z,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(U))]),_:1})]),default:o(()=>[N(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=D(G,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; diff --git a/web/dist/assets/formatTime-4210fcd1.js b/web/dist/assets/formatTime-4210fcd1.js deleted file mode 100644 index 7aaf7fa8..00000000 --- a/web/dist/assets/formatTime-4210fcd1.js +++ /dev/null @@ -1 +0,0 @@ -import{h as r}from"./moment-2ab8298d.js";r.locale("zh-cn");const a=e=>r.unix(e).fromNow(),f=e=>{let t=r.unix(e),o=r();return t.year()!=o.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):r().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()},u=e=>{let t=r.unix(e),o=r();return t.year()!=o.year()?t.utc(!0).format("YYYY-MM-DD"):r().diff(t,"month")>3?t.utc(!0).format("MM-DD"):t.fromNow()},n=e=>r.unix(e).utc(!0).format("YYYY年MM月");export{a,n as b,u as c,f}; diff --git a/web/dist/assets/index-6886c40b.js b/web/dist/assets/index-6886c40b.js deleted file mode 100644 index 7b1d6701..00000000 --- a/web/dist/assets/index-6886c40b.js +++ /dev/null @@ -1 +0,0 @@ -import{d as W,H as P,R as te,b as Q,e as w,q as N,w as r,j as y,k as s,f as A,A as q,Z as K,y as D,Y as S,bf as f,c as Y,E as G,r as de,F as oe,u as se,x as C,h as k,a5 as ye,s as ne,l as be,ag as ke}from"./@vue-a481fc63.js";import{c as Pe,a as Le,u as pe,b as Oe}from"./vue-router-e5a2430e.js";import{c as Ae,u as B}from"./vuex-44de225f.js";import{a as Te}from"./axios-4a70c6fc.js";import{_ as Ee,N as Ie,a as me,b as _e,c as Re,d as $e,e as he,f as Ce,g as Se,h as ge,i as Ue,j as V,k as Me,u as qe,l as Ke,m as De,n as Ne,o as xe,p as Fe,q as Ve,r as ze,s as We,t as Be}from"./naive-ui-d8de3dda.js";import{S as He,M as je,L as Ge,C as Qe,B as Ye,P as Ze,W as Je,a as Xe,H as re,b as ae,c as le}from"./@vicons-7a4ef312.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))d(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&d(m)}).observe(document,{childList:!0,subtree:!0});function a(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function d(i){if(i.ep)return;i.ep=!0;const n=a(i);fetch(i.href,n)}})();const et="modulepreload",tt=function(e){return"/"+e},ue={},O=function(t,a,d){if(!a||a.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(a.map(n=>{if(n=tt(n),n in ue)return;ue[n]=!0;const m=n.endsWith(".css"),p=m?'[rel="stylesheet"]':"";if(!!d)for(let b=i.length-1;b>=0;b--){const v=i[b];if(v.href===n&&(!m||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${p}`))return;const h=document.createElement("link");if(h.rel=m?"stylesheet":et,m||(h.as="script",h.crossOrigin=""),h.href=n,document.head.appendChild(h),m)return new Promise((b,v)=>{h.addEventListener("load",b),h.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},ot=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>O(()=>import("./Home-3b67ef21.js"),["assets/Home-3b67ef21.js","assets/whisper-ccc06a56.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-8624318f.js","assets/content-e5b2b63d.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/formatTime-4210fcd1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-63a82733.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/IEnum-5453a777.js","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/@opentiny-d73a2d67.js","assets/vue-1e3b54ec.js","assets/xss-a5544f63.js","assets/cssfilter-af71ba68.js","assets/@opentiny-0f942bd4.css","assets/axios-4a70c6fc.js","assets/Home-af58e3ca.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"泡泡详情"},component:()=>O(()=>import("./Post-41702890.js"),["assets/Post-41702890.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/formatTime-4210fcd1.js","assets/moment-2ab8298d.js","assets/IEnum-5453a777.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-e5b2b63d.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vue-router-e5a2430e.js","assets/post-skeleton-63a82733.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/@babel-725317a4.js","assets/whisper-ccc06a56.js","assets/whisper-61451957.css","assets/copy-to-clipboard-4ef7d3eb.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/Post-1ac7281c.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>O(()=>import("./Topic-c760f051.js"),["assets/Topic-c760f051.js","assets/@vicons-7a4ef312.js","assets/@vue-a481fc63.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Topic-384e019e.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>O(()=>import("./Anouncement-6ac7dc85.js"),["assets/Anouncement-6ac7dc85.js","assets/post-skeleton-63a82733.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/formatTime-4210fcd1.js","assets/moment-2ab8298d.js","assets/axios-4a70c6fc.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>O(()=>import("./Profile-3522866b.js"),["assets/Profile-3522866b.js","assets/whisper-ccc06a56.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-8624318f.js","assets/content-e5b2b63d.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/formatTime-4210fcd1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-63a82733.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/Profile-3ffb7be9.css","assets/vfonts-7afd136d.css"])},{path:"/u",name:"user",meta:{title:"用户详情"},component:()=>O(()=>import("./User-3c76988c.js"),["assets/User-3c76988c.js","assets/post-item.vue_vue_type_style_index_0_lang-8624318f.js","assets/content-e5b2b63d.js","assets/@vue-a481fc63.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/formatTime-4210fcd1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-63a82733.js","assets/post-skeleton-f1900002.css","assets/whisper-ccc06a56.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/User-b21ba7c9.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>O(()=>import("./Messages-24561ce6.js"),["assets/Messages-24561ce6.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/formatTime-4210fcd1.js","assets/moment-2ab8298d.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-ccc06a56.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Messages-3c6066fb.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>O(()=>import("./Collection-a1ac46c8.js"),["assets/Collection-a1ac46c8.js","assets/whisper-ccc06a56.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-8624318f.js","assets/content-e5b2b63d.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/formatTime-4210fcd1.js","assets/moment-2ab8298d.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-63a82733.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Collection-5c3a44e2.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>O(()=>import("./Contacts-735b9a98.js"),["assets/Contacts-735b9a98.js","assets/whisper-ccc06a56.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/formatTime-4210fcd1.js","assets/moment-2ab8298d.js","assets/@vicons-7a4ef312.js","assets/post-skeleton-63a82733.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Contacts-7fa3e0d6.css","assets/vfonts-7afd136d.css"])},{path:"/following",name:"following",meta:{title:"关注"},component:()=>O(()=>import("./Following-83766ae9.js"),["assets/Following-83766ae9.js","assets/whisper-ccc06a56.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/vue-router-e5a2430e.js","assets/formatTime-4210fcd1.js","assets/moment-2ab8298d.js","assets/@vicons-7a4ef312.js","assets/post-skeleton-63a82733.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/vuex-44de225f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Following-6aa7d36c.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>O(()=>import("./Wallet-34a63003.js"),["assets/Wallet-34a63003.js","assets/post-skeleton-63a82733.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/formatTime-4210fcd1.js","assets/moment-2ab8298d.js","assets/axios-4a70c6fc.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>O(()=>import("./Setting-3543c8fe.js"),["assets/Setting-3543c8fe.js","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>O(()=>import("./404-bd2959cd.js"),["assets/404-bd2959cd.js","assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],fe=Pe({history:Le(),routes:ot});fe.beforeEach((e,t,a)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,a()});const st=Ae({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:"",created_on:0,follows:0,followings:0,is_admin:!1}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:"",created_on:0,follows:0,followings:0,is_admin:!1},e.userLogined=!1}},actions:{},modules:{}}),Z=Te.create({baseURL:"",timeout:3e4});Z.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));Z.interceptors.response.use(e=>{const{data:t={},code:a=0}=(e==null?void 0:e.data)||{};if(+a==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var a;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((a=t==null?void 0:t.data)==null?void 0:a.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return Z(e)}const ie=e=>o({method:"post",url:"/v1/auth/login",data:e}),nt=e=>o({method:"post",url:"/v1/auth/register",data:e}),j=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),rt={class:"auth-wrap"},at={key:0},lt=W({__name:"auth",setup(e){const t=P("true".toLowerCase()==="true"),a=B(),d=P(!1),i=P(),n=te({username:"",password:""}),m=P(),p=te({username:"",password:"",repassword:""}),U={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(v,u)=>!!p.password&&p.password.startsWith(u)&&p.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},h=v=>{var u;v.preventDefault(),v.stopPropagation(),(u=i.value)==null||u.validate(T=>{T||(d.value=!0,ie({username:n.username,password:n.password}).then(_=>{const E=(_==null?void 0:_.token)||"";return localStorage.setItem("PAOPAO_TOKEN",E),j(E)}).then(_=>{window.$message.success("登录成功"),d.value=!1,a.commit("updateUserinfo",_),a.commit("triggerAuth",!1),a.commit("refresh"),n.username="",n.password=""}).catch(_=>{d.value=!1}))})},b=v=>{var u;v.preventDefault(),v.stopPropagation(),(u=m.value)==null||u.validate(T=>{T||(d.value=!0,nt({username:p.username,password:p.password}).then(_=>ie({username:p.username,password:p.password})).then(_=>{const E=(_==null?void 0:_.token)||"";return localStorage.setItem("PAOPAO_TOKEN",E),j(E)}).then(_=>{window.$message.success("注册成功"),d.value=!1,a.commit("updateUserinfo",_),a.commit("triggerAuth",!1),p.username="",p.password="",p.repassword=""}).catch(_=>{d.value=!1}))})};return Q(()=>{const v=localStorage.getItem("PAOPAO_TOKEN")||"";v?j(v).then(u=>{a.commit("updateUserinfo",u),a.commit("triggerAuth",!1)}).catch(u=>{a.commit("userLogout")}):a.commit("userLogout")}),(v,u)=>{const T=Ee,_=Ie,E=me,I=_e,L=Re,M=$e,l=he,R=Ce,x=Se,F=ge,g=Ue;return w(),N(g,{show:f(a).state.authModalShow,"onUpdate:show":u[7]||(u[7]=c=>f(a).state.authModalShow=c),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:r(()=>[y("div",rt,[s(F,{bordered:!1},{default:r(()=>[t.value?S("",!0):(w(),A("div",at,[s(E,{justify:"center"},{default:r(()=>[s(_,null,{default:r(()=>[s(T,{type:"success"},{default:r(()=>[q("账号登录")]),_:1})]),_:1})]),_:1}),s(M,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:r(()=>[s(L,{label:"账户",path:"username"},{default:r(()=>[s(I,{value:n.username,"onUpdate:value":u[0]||(u[0]=c=>n.username=c),placeholder:"请输入用户名",onKeyup:K(D(h,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(L,{label:"密码",path:"password"},{default:r(()=>[s(I,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=c=>n.password=c),placeholder:"请输入账户密码",onKeyup:K(D(h,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:d.value,onClick:h},{default:r(()=>[q(" 登录 ")]),_:1},8,["loading"])])),t.value?(w(),N(x,{key:1,"default-value":f(a).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:r(()=>[s(R,{name:"signin",tab:"登录"},{default:r(()=>[s(M,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:r(()=>[s(L,{label:"账户",path:"username"},{default:r(()=>[s(I,{value:n.username,"onUpdate:value":u[2]||(u[2]=c=>n.username=c),placeholder:"请输入用户名",onKeyup:K(D(h,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(L,{label:"密码",path:"password"},{default:r(()=>[s(I,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=c=>n.password=c),placeholder:"请输入账户密码",onKeyup:K(D(h,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:d.value,onClick:h},{default:r(()=>[q(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(R,{name:"signup",tab:"注册"},{default:r(()=>[s(M,{ref_key:"registerRef",ref:m,model:p,rules:U},{default:r(()=>[s(L,{label:"用户名",path:"username"},{default:r(()=>[s(I,{value:p.username,"onUpdate:value":u[4]||(u[4]=c=>p.username=c),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(L,{label:"密码",path:"password"},{default:r(()=>[s(I,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:p.password,"onUpdate:value":u[5]||(u[5]=c=>p.password=c),onKeyup:K(D(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(L,{label:"重复密码",path:"repassword"},{default:r(()=>[s(I,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:p.repassword,"onUpdate:value":u[6]||(u[6]=c=>p.repassword=c),onKeyup:K(D(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:d.value,onClick:b},{default:r(()=>[q(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):S("",!0)]),_:1})])]),_:1},8,["show"])}}});const ve=(e,t)=>{const a=e.__vccOpts||e;for(const[d,i]of t)a[d]=i;return a},ut=ve(lt,[["__scopeId","data-v-053dfa44"]]),ro=e=>o({method:"get",url:"/v1/posts",params:e}),it=e=>o({method:"get",url:"/v1/tags",params:e}),ao=e=>o({method:"get",url:"/v1/post",params:e}),lo=e=>o({method:"get",url:"/v1/post/star",params:e}),uo=e=>o({method:"post",url:"/v1/post/star",data:e}),io=e=>o({method:"get",url:"/v1/post/collection",params:e}),co=e=>o({method:"post",url:"/v1/post/collection",data:e}),po=e=>o({method:"get",url:"/v1/post/comments",params:e}),mo=e=>o({method:"get",url:"/v1/user/contacts",params:e}),_o=e=>o({method:"post",url:"/v1/post",data:e}),ho=e=>o({method:"delete",url:"/v1/post",data:e}),go=e=>o({method:"post",url:"/v1/post/lock",data:e}),fo=e=>o({method:"post",url:"/v1/post/stick",data:e}),vo=e=>o({method:"post",url:"/v1/post/highlight",data:e}),wo=e=>o({method:"post",url:"/v1/post/visibility",data:e}),yo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),bo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),ko=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),Po=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),Lo=e=>o({method:"post",url:"/v1/post/comment",data:e}),Oo=e=>o({method:"delete",url:"/v1/post/comment",data:e}),Ao=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),To=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),Eo=e=>o({method:"post",url:"/v1/topic/stick",data:e}),Io=e=>o({method:"post",url:"/v1/topic/follow",data:e}),Ro=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),$o=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Co=e=>o({method:"post",url:"/v1/captcha",data:e}),So=e=>o({method:"post",url:"/v1/user/whisper",data:e}),Uo=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),Mo=e=>o({method:"post",url:"/v1/friend/add",data:e}),qo=e=>o({method:"post",url:"/v1/user/follow",data:e}),Ko=e=>o({method:"post",url:"/v1/user/unfollow",data:e}),Do=e=>o({method:"get",url:"/v1/user/follows",params:e}),No=e=>o({method:"get",url:"/v1/user/followings",params:e}),xo=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Fo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Vo=e=>o({method:"post",url:"/v1/user/phone",data:e}),zo=e=>o({method:"post",url:"/v1/user/activate",data:e}),Wo=e=>o({method:"post",url:"/v1/user/password",data:e}),Bo=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Ho=e=>o({method:"post",url:"/v1/user/avatar",data:e}),ce=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),jo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Go=e=>o({method:"post",url:"/v1/user/message/read",data:e}),Qo=e=>o({method:"get",url:"/v1/user/collections",params:e}),Yo=e=>o({method:"get",url:"/v1/user/profile",params:e}),Zo=e=>o({method:"get",url:"/v1/user/posts",params:e}),Jo=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),Xo=e=>o({method:"post",url:"/v1/user/recharge",data:e}),es=e=>o({method:"get",url:"/v1/user/recharge",params:e}),ts=e=>o({method:"get",url:"/v1/suggest/users",params:e}),os=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),ss=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),ns=e=>o({method:"get",url:"/v1/attachment",params:e}),rs=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),ct=()=>o({method:"get",url:"/v1/admin/site/status"}),dt={key:0,class:"rightbar-wrap"},pt={class:"search-wrap"},mt={class:"post-num"},_t={class:"post-num"},ht={class:"copyright"},gt=["href"],ft=["href"],vt={class:"copyright"},wt={class:"copyright"},yt=W({__name:"rightbar",setup(e){const t=P([]),a=P([]),d=P(!1),i=P(""),n=B(),m=pe(),p=P(0),U=P(0),h=P(null),b="2023 paopao.info",v="Roc's Me",u="",T="泡泡(PaoPao)开源社区",_="https://www.paopao.info",E=+"6",I=+"12",L=()=>{ct().then(g=>{p.value=g.register_user_count,U.value=g.online_user_count}).catch(g=>{}),F.disconnect()},M=()=>{d.value=!0,it({type:"hot_extral",num:I,extral_num:E}).then(g=>{t.value=g.topics,a.value=g.extral_topics??[],x.value=!0,d.value=!1}).catch(g=>{d.value=!1})},l=g=>g>=1e3?(g/1e3).toFixed(1)+"k":g,R=()=>{m.push({name:"home",query:{q:i.value}})},x=Y({get:()=>n.state.userLogined&&a.value.length!==0,set:g=>{}});G(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(g,c)=>{(g.refreshTopicFollow!==c.refreshTopicFollow||g.userLogined)&&M(),n.state.userInfo.is_admin&&L()});const F=new IntersectionObserver(g=>{g.forEach(c=>{c.isIntersecting&&L()})},{root:null,rootMargin:"0px",threshold:1});return Q(()=>{h.value&&F.observe(h.value),M()}),(g,c)=>{const z=V,we=_e,J=de("router-link"),X=Me,H=ge,ee=me;return f(n).state.collapsedRight?S("",!0):(w(),A("div",dt,[y("div",pt,[s(we,{round:"",clearable:"",placeholder:"搜一搜...",value:i.value,"onUpdate:value":c[0]||(c[0]=$=>i.value=$),onKeyup:K(D(R,["prevent"]),["enter"])},{prefix:r(()=>[s(z,{component:f(He)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),x.value?(w(),N(H,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:r(()=>[s(X,{show:d.value},{default:r(()=>[(w(!0),A(oe,null,se(a.value,$=>(w(),A("div",{class:"hot-tag-item",key:$.id},[s(J,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:r(()=>[q(" #"+C($.tag),1)]),_:2},1032,["to"]),y("div",mt,C(l($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):S("",!0),s(H,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:r(()=>[s(X,{show:d.value},{default:r(()=>[(w(!0),A(oe,null,se(t.value,$=>(w(),A("div",{class:"hot-tag-item",key:$.id},[s(J,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:r(()=>[q(" #"+C($.tag),1)]),_:2},1032,["to"]),y("div",_t,C(l($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(H,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:r(()=>[y("div",ht,"© "+C(f(b)),1),y("div",null,[s(ee,null,{default:r(()=>[y("a",{href:f(u),target:"_blank",class:"hash-link"},C(f(v)),9,gt),y("a",{href:f(_),target:"_blank",class:"hash-link"},C(f(T)),9,ft)]),_:1})]),f(n).state.userInfo.is_admin?(w(),A("div",{key:0,ref_key:"userInfoElement",ref:h},[s(ee,null,{default:r(()=>[y("span",vt,C(p.value)+" 注册用户  ",1),y("span",wt,C(U.value)+" 人在线",1)]),_:1})],512)):S("",!0)]),_:1})]))}}});const bt=ve(yt,[["__scopeId","data-v-ec9d8d25"]]),kt="/assets/logo-52afee68.png",Pt={class:"sidebar-wrap"},Lt={class:"logo-wrap"},Ot={key:0,class:"user-wrap"},At={class:"user-info"},Tt={class:"nickname"},Et={class:"nickname-txt"},It={class:"username"},Rt={class:"user-mini-wrap"},$t={key:1,class:"user-wrap"},Ct={key:0,class:"login-only-wrap"},St={key:1,class:"login-wrap"},Ut=W({__name:"sidebar",setup(e){const t=B(),a=Oe(),d=pe(),i=P(!1),n=P(a.name||""),m=P(),p="true".toLowerCase()==="true",U="false".toLowerCase()==="true",h="false".toLocaleLowerCase()==="true",b=P("true".toLowerCase()==="true"),v=+"5000";G(a,()=>{n.value=a.name}),G(t.state,()=>{t.state.userInfo.id>0?m.value||(ce().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)}),m.value=setInterval(()=>{ce().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)})},v)):m.value&&clearInterval(m.value)}),Q(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const u=Y(()=>{const l=[{label:"广场",key:"home",icon:()=>k(re),href:"/"},{label:"话题",key:"topic",icon:()=>k(ae),href:"/topic"}];return U&&l.push({label:"公告",key:"anouncement",icon:()=>k(je),href:"/anouncement"}),l.push({label:"主页",key:"profile",icon:()=>k(Ge),href:"/profile"}),l.push({label:"消息",key:"messages",icon:()=>k(Qe),href:"/messages"}),l.push({label:"收藏",key:"collection",icon:()=>k(Ye),href:"/collection"}),p&&l.push({label:"好友",key:"contacts",icon:()=>k(Ze),href:"/contacts"}),h&&l.push({label:"钱包",key:"wallet",icon:()=>k(Je),href:"/wallet"}),l.push({label:"设置",key:"setting",icon:()=>k(Xe),href:"/setting"}),t.state.userInfo.id>0?l:[{label:"广场",key:"home",icon:()=>k(re),href:"/"},{label:"话题",key:"topic",icon:()=>k(ae),href:"/topic"}]}),T=l=>"href"in l?k("div",{},l.label):l.label,_=l=>l.key==="messages"?k(Ke,{dot:!0,show:i.value,processing:!0},{default:()=>k(V,{color:l.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:l.icon})}):k(V,null,{default:l.icon}),E=(l,R={})=>{n.value=l,d.push({name:l,query:{t:new Date().getTime()}})},I=()=>{a.path==="/"&&t.commit("refresh"),E("home")},L=l=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",l)},M=()=>{t.commit("userLogout"),t.commit("refresh"),I()};return window.$store=t,window.$message=qe(),(l,R)=>{const x=De,F=Ne,g=xe,c=he;return w(),A("div",Pt,[y("div",Lt,[s(x,{class:"logo-img",width:"36",src:f(kt),"preview-disabled":!0,onClick:I},null,8,["src"])]),s(F,{accordion:!0,"icon-size":24,options:u.value,"render-label":T,"render-icon":_,value:n.value,"onUpdate:value":E},null,8,["options","value"]),f(t).state.userInfo.id>0?(w(),A("div",Ot,[s(g,{class:"user-avatar",round:"",size:34,src:f(t).state.userInfo.avatar},null,8,["src"]),y("div",At,[y("div",Tt,[y("span",Et,C(f(t).state.userInfo.nickname),1),s(c,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:M},{icon:r(()=>[s(f(V),null,{default:r(()=>[s(f(le))]),_:1})]),_:1})]),y("div",It,"@"+C(f(t).state.userInfo.username),1)]),y("div",Rt,[s(c,{class:"logout",quaternary:"",circle:"",onClick:M},{icon:r(()=>[s(f(V),{size:24},{default:r(()=>[s(f(le))]),_:1})]),_:1})])])):(w(),A("div",$t,[b.value?S("",!0):(w(),A("div",Ct,[s(c,{strong:"",secondary:"",round:"",type:"primary",onClick:R[0]||(R[0]=z=>L("signin"))},{default:r(()=>[q(" 登录 ")]),_:1})])),b.value?(w(),A("div",St,[s(c,{strong:"",secondary:"",round:"",type:"primary",onClick:R[1]||(R[1]=z=>L("signin"))},{default:r(()=>[q(" 登录 ")]),_:1}),s(c,{strong:"",secondary:"",round:"",type:"info",onClick:R[2]||(R[2]=z=>L("signup"))},{default:r(()=>[q(" 注册 ")]),_:1})])):S("",!0)]))])}}});const Mt={"has-sider":"",class:"main-wrap",position:"static"},qt={key:0},Kt={class:"content-wrap"},Dt=W({__name:"App",setup(e){const t=B(),a=Y(()=>t.state.theme==="dark"?Ve:null);return(d,i)=>{const n=Ut,m=de("router-view"),p=bt,U=ut,h=ze,b=We,v=Be,u=Fe;return w(),N(u,{theme:a.value},{default:r(()=>[s(b,null,{default:r(()=>[s(h,null,{default:r(()=>{var T;return[y("div",{class:be(["app-container",{dark:((T=a.value)==null?void 0:T.name)==="dark",mobile:!f(t).state.desktopModelShow}])},[y("div",Mt,[f(t).state.desktopModelShow?(w(),A("div",qt,[s(n)])):S("",!0),y("div",Kt,[s(m,{class:"app-wrap"},{default:r(({Component:_})=>[(w(),N(ye,null,[d.$route.meta.keepAlive?(w(),N(ne(_),{key:0})):S("",!0)],1024)),d.$route.meta.keepAlive?S("",!0):(w(),N(ne(_),{key:0}))]),_:1})]),s(p)]),s(U)],2)]}),_:1})]),_:1}),s(v)]),_:1},8,["theme"])}}});ke(Dt).use(fe).use(st).mount("#app");export{Vo as $,Ro as A,Io as B,it as C,Uo as D,Yo as E,Fo as F,Ko as G,qo as H,rs as I,Mo as J,xo as K,Go as L,jo as M,Qo as N,ss as O,ns as P,Do as Q,No as R,So as S,j as T,Jo as U,Xo as V,es as W,$o as X,Ho as Y,Wo as Z,ve as _,os as a,zo as a0,Bo as a1,Co as a2,Ut as a3,mo as b,_o as c,ro as d,Zo as e,Po as f,ts as g,To as h,yo as i,bo as j,Ao as k,Oo as l,Lo as m,lo as n,io as o,ho as p,go as q,vo as r,fo as s,ko as t,uo as u,wo as v,co as w,ao as x,po as y,Eo as z}; diff --git a/web/dist/assets/index-9103f10c.css b/web/dist/assets/index-9103f10c.css deleted file mode 100644 index 5f0d9639..00000000 --- a/web/dist/assets/index-9103f10c.css +++ /dev/null @@ -1 +0,0 @@ -.auth-wrap[data-v-053dfa44]{margin-top:-30px}.dark .auth-wrap[data-v-053dfa44]{background-color:#101014bf}.rightbar-wrap[data-v-ec9d8d25]::-webkit-scrollbar{width:0;height:0}.rightbar-wrap[data-v-ec9d8d25]{width:240px;position:fixed;left:calc(50% + var(--content-main) / 2 + 10px);max-height:100vh;overflow:auto}.rightbar-wrap .search-wrap[data-v-ec9d8d25]{margin:12px 0}.rightbar-wrap .hot-tag-item[data-v-ec9d8d25]{line-height:2;position:relative}.rightbar-wrap .hot-tag-item .hash-link[data-v-ec9d8d25]{width:calc(100% - 60px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.rightbar-wrap .hot-tag-item .post-num[data-v-ec9d8d25]{position:absolute;right:0;top:0;width:60px;text-align:right;line-height:2;opacity:.5}.rightbar-wrap .hottopic-wrap[data-v-ec9d8d25]{margin-bottom:10px}.rightbar-wrap .copyright-wrap .copyright[data-v-ec9d8d25]{font-size:12px;opacity:.75}.rightbar-wrap .copyright-wrap .hash-link[data-v-ec9d8d25]{font-size:12px}.dark .hottopic-wrap[data-v-ec9d8d25],.dark .copyright-wrap[data-v-ec9d8d25]{background-color:#18181c}.sidebar-wrap::-webkit-scrollbar{width:0;height:0}.sidebar-wrap{z-index:99;width:200px;height:100vh;position:fixed;right:calc(50% + var(--content-main) / 2 + 10px);padding:12px 0;box-sizing:border-box;max-height:100vh;overflow:auto}.sidebar-wrap .n-menu .n-menu-item-content:before{border-radius:21px}.sidebar-wrap .logo-wrap{display:flex;justify-content:flex-start;margin-bottom:12px}.sidebar-wrap .logo-wrap .logo-img{margin-left:24px}.sidebar-wrap .logo-wrap .logo-img:hover{cursor:pointer}.sidebar-wrap .user-wrap{display:flex;align-items:center;position:absolute;bottom:12px;left:12px;right:12px}.sidebar-wrap .user-wrap .user-mini-wrap{display:none}.sidebar-wrap .user-wrap .user-avatar{margin-right:8px}.sidebar-wrap .user-wrap .user-info{display:flex;flex-direction:column}.sidebar-wrap .user-wrap .user-info .nickname{font-size:16px;font-weight:700;line-height:16px;height:16px;margin-bottom:2px;display:flex;align-items:center}.sidebar-wrap .user-wrap .user-info .nickname .nickname-txt{max-width:90px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sidebar-wrap .user-wrap .user-info .nickname .logout{margin-left:6px}.sidebar-wrap .user-wrap .user-info .username{font-size:14px;line-height:16px;height:16px;width:120px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;opacity:.75}.sidebar-wrap .user-wrap .login-only-wrap{display:flex;justify-content:center;width:100%}.sidebar-wrap .user-wrap .login-only-wrap button{margin:0 4px;width:80%}.sidebar-wrap .user-wrap .login-wrap{display:flex;justify-content:center;width:100%}.sidebar-wrap .user-wrap .login-wrap button{margin:0 4px}.auth-card .n-card-header{z-index:999}@media screen and (max-width: 821px){.sidebar-wrap{width:200px;right:calc(100% - 200px)}.logo-wrap .logo-img{margin-left:12px!important}.user-wrap .user-avatar,.user-wrap .user-info,.user-wrap .login-only-wrap,.user-wrap .login-wrap{margin-bottom:32px}}:root{--content-main: 600px}.app-container{margin:0}.app-container .app-wrap{width:100%;margin:0 auto}.main-wrap{min-height:100vh;display:flex;flex-direction:row;justify-content:center}.main-wrap .content-wrap{width:100%;max-width:var(--content-main);position:relative}.main-wrap .main-content-wrap{margin:0;border-top:none;border-radius:0}.main-wrap .main-content-wrap .n-list-item{padding:0}.empty-wrap{min-height:300px;display:flex;align-items:center;justify-content:center}.following-link{color:#000;color:none;text-decoration:none;cursor:pointer;opacity:.75}.following-link:hover{opacity:.8}.slide-bar-user-link{text-decoration:none;cursor:pointer}.slide-bar-user-link:hover{color:#18a058;opacity:.8}.hash-link,.user-link{color:#18a058;text-decoration:none;cursor:pointer}.hash-link:hover,.user-link:hover{opacity:.8}.beian-link{color:#333;text-decoration:none}.beian-link:hover{opacity:.75}.username-link{color:#000;color:none;text-decoration:none;cursor:pointer}.username-link:hover{text-decoration:underline}.dark .hash-link,.dark .user-link{color:#63e2b7}.dark .following-link,.dark .username-link{color:#eee}.dark .beian-link{color:#ddd}@media screen and (max-width: 821px){.content-wrap{top:0;position:absolute!important}} diff --git a/web/dist/assets/index-c337d1db.css b/web/dist/assets/index-c337d1db.css new file mode 100644 index 00000000..48e358ec --- /dev/null +++ b/web/dist/assets/index-c337d1db.css @@ -0,0 +1 @@ +.auth-wrap[data-v-053dfa44]{margin-top:-30px}.dark .auth-wrap[data-v-053dfa44]{background-color:#101014bf}.rightbar-wrap[data-v-0a6cd0b6]::-webkit-scrollbar{width:0;height:0}.rightbar-wrap[data-v-0a6cd0b6]{width:240px;position:fixed;left:calc(50% + var(--content-main) / 2 + 10px);max-height:100vh;overflow:auto}.rightbar-wrap .search-wrap[data-v-0a6cd0b6]{margin:12px 0}.rightbar-wrap .hot-tag-item[data-v-0a6cd0b6]{line-height:2;position:relative}.rightbar-wrap .hot-tag-item .hash-link[data-v-0a6cd0b6]{width:calc(100% - 60px);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;display:block}.rightbar-wrap .hot-tag-item .post-num[data-v-0a6cd0b6]{position:absolute;right:0;top:0;width:60px;text-align:right;line-height:2;opacity:.5}.rightbar-wrap .hottopic-wrap[data-v-0a6cd0b6]{margin-bottom:10px}.rightbar-wrap .site-info[data-v-0a6cd0b6]{margin-top:8px;padding-left:16px;padding-right:16px}.rightbar-wrap .site-info .site-info-item[data-v-0a6cd0b6]{font-size:10px;opacity:.75}.rightbar-wrap .copyright-wrap .copyright[data-v-0a6cd0b6]{font-size:12px;opacity:.75}.rightbar-wrap .copyright-wrap .hash-link[data-v-0a6cd0b6]{font-size:12px}.dark .hottopic-wrap[data-v-0a6cd0b6],.dark .copyright-wrap[data-v-0a6cd0b6]{background-color:#18181c}.sidebar-wrap::-webkit-scrollbar{width:0;height:0}.sidebar-wrap{z-index:99;width:200px;height:100vh;position:fixed;right:calc(50% + var(--content-main) / 2 + 10px);padding:12px 0;box-sizing:border-box;max-height:100vh;overflow:auto}.sidebar-wrap .n-menu .n-menu-item-content:before{border-radius:21px}.sidebar-wrap .logo-wrap{display:flex;justify-content:flex-start;margin-bottom:12px}.sidebar-wrap .logo-wrap .logo-img{margin-left:24px}.sidebar-wrap .logo-wrap .logo-img:hover{cursor:pointer}.sidebar-wrap .user-wrap{display:flex;align-items:center;position:absolute;bottom:12px;left:12px;right:12px}.sidebar-wrap .user-wrap .user-mini-wrap{display:none}.sidebar-wrap .user-wrap .user-avatar{margin-right:8px}.sidebar-wrap .user-wrap .user-info{display:flex;flex-direction:column}.sidebar-wrap .user-wrap .user-info .nickname{font-size:16px;font-weight:700;line-height:16px;height:16px;margin-bottom:2px;display:flex;align-items:center}.sidebar-wrap .user-wrap .user-info .nickname .nickname-txt{max-width:90px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.sidebar-wrap .user-wrap .user-info .nickname .logout{margin-left:6px}.sidebar-wrap .user-wrap .user-info .username{font-size:14px;line-height:16px;height:16px;width:120px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;opacity:.75}.sidebar-wrap .user-wrap .login-only-wrap{display:flex;justify-content:center;width:100%}.sidebar-wrap .user-wrap .login-only-wrap button{margin:0 4px;width:80%}.sidebar-wrap .user-wrap .login-wrap{display:flex;justify-content:center;width:100%}.sidebar-wrap .user-wrap .login-wrap button{margin:0 4px}.auth-card .n-card-header{z-index:999}@media screen and (max-width: 821px){.sidebar-wrap{width:200px;right:calc(100% - 200px)}.logo-wrap .logo-img{margin-left:12px!important}.user-wrap .user-avatar,.user-wrap .user-info,.user-wrap .login-only-wrap,.user-wrap .login-wrap{margin-bottom:32px}}:root{--content-main: 600px}.app-container{margin:0}.app-container .app-wrap{width:100%;margin:0 auto}.main-wrap{min-height:100vh;display:flex;flex-direction:row;justify-content:center}.main-wrap .content-wrap{width:100%;max-width:var(--content-main);position:relative}.main-wrap .main-content-wrap{margin:0;border-top:none;border-radius:0}.main-wrap .main-content-wrap .n-list-item{padding:0}.empty-wrap{min-height:300px;display:flex;align-items:center;justify-content:center}.following-link{color:#000;color:none;text-decoration:none;cursor:pointer;opacity:.75}.following-link:hover{opacity:.8}.slide-bar-user-link{text-decoration:none;cursor:pointer}.slide-bar-user-link:hover{color:#18a058;opacity:.8}.hash-link,.user-link{color:#18a058;text-decoration:none;cursor:pointer}.hash-link:hover,.user-link:hover{opacity:.8}.beian-link{color:#333;text-decoration:none}.beian-link:hover{opacity:.75}.username-link{color:#000;color:none;text-decoration:none;cursor:pointer}.username-link:hover{text-decoration:underline}.dark .hash-link,.dark .user-link{color:#63e2b7}.dark .following-link,.dark .username-link{color:#eee}.dark .beian-link{color:#ddd}@media screen and (max-width: 821px){.content-wrap{top:0;position:absolute!important}} diff --git a/web/dist/assets/index-f37b0729.js b/web/dist/assets/index-f37b0729.js new file mode 100644 index 00000000..33698ee0 --- /dev/null +++ b/web/dist/assets/index-f37b0729.js @@ -0,0 +1 @@ +import{d as Y,H as k,R as oe,b as Z,e as w,q as K,w as a,j as y,k as s,f as E,A as U,Z as q,y as N,Y as M,bf as f,c as J,E as Q,r as me,F as se,u as ne,x as A,h as P,a5 as Pe,s as re,l as Oe,ag as Le}from"./@vue-a481fc63.js";import{c as Te,a as Ae,u as pe,b as Ee}from"./vue-router-e5a2430e.js";import{c as Ie,u as B}from"./vuex-44de225f.js";import{a as Re}from"./axios-4a70c6fc.js";import{_ as Ce,N as $e,a as _e,b as he,c as Me,d as Se,e as ge,f as Ue,g as De,h as fe,i as xe,j as W,k as qe,u as Ne,l as Ke,m as Fe,n as Ve,o as ze,p as He,q as We,r as Ye,s as Be,t as je}from"./naive-ui-d8de3dda.js";import{h as D}from"./moment-2ab8298d.js";import{S as Ge,M as Qe,L as Ze,C as Je,B as Xe,P as et,W as tt,a as ot,H as ae,b as le,c as ue}from"./@vicons-7a4ef312.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))c(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function r(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function c(i){if(i.ep)return;i.ep=!0;const n=r(i);fetch(i.href,n)}})();const st="modulepreload",nt=function(e){return"/"+e},ie={},T=function(t,r,c){if(!r||r.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(r.map(n=>{if(n=nt(n),n in ie)return;ie[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!c)for(let b=i.length-1;b>=0;b--){const _=i[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":st,m||(v.as="script",v.crossOrigin=""),v.href=n,document.head.appendChild(v),m)return new Promise((b,_)=>{v.addEventListener("load",b),v.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},rt=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>T(()=>import("./Home-05450a09.js"),["assets/Home-05450a09.js","assets/whisper-41c78cd2.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js","assets/content-60b75b00.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/IEnum-5453a777.js","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/@opentiny-d73a2d67.js","assets/vue-1e3b54ec.js","assets/xss-a5544f63.js","assets/cssfilter-af71ba68.js","assets/@opentiny-0f942bd4.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Home-af58e3ca.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"泡泡详情"},component:()=>T(()=>import("./Post-8a1f9102.js"),["assets/Post-8a1f9102.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/IEnum-5453a777.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-60b75b00.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vue-router-e5a2430e.js","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/@babel-725317a4.js","assets/whisper-41c78cd2.js","assets/whisper-61451957.css","assets/copy-to-clipboard-4ef7d3eb.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Post-1ac7281c.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>T(()=>import("./Topic-e0ae155d.js"),["assets/Topic-e0ae155d.js","assets/@vicons-7a4ef312.js","assets/@vue-a481fc63.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Topic-384e019e.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>T(()=>import("./Anouncement-970e82a0.js"),["assets/Anouncement-970e82a0.js","assets/post-skeleton-2ccfac69.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>T(()=>import("./Profile-2f783d8e.js"),["assets/Profile-2f783d8e.js","assets/whisper-41c78cd2.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js","assets/content-60b75b00.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Profile-3ffb7be9.css","assets/vfonts-7afd136d.css"])},{path:"/u",name:"user",meta:{title:"用户详情"},component:()=>T(()=>import("./User-cab97cbb.js"),["assets/User-cab97cbb.js","assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js","assets/content-60b75b00.js","assets/@vue-a481fc63.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/whisper-41c78cd2.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/User-b21ba7c9.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>T(()=>import("./Messages-233de594.js"),["assets/Messages-233de594.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-41c78cd2.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Messages-3c6066fb.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>T(()=>import("./Collection-fe5a70c8.js"),["assets/Collection-fe5a70c8.js","assets/whisper-41c78cd2.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js","assets/content-60b75b00.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Collection-5c3a44e2.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>T(()=>import("./Contacts-daebe967.js"),["assets/Contacts-daebe967.js","assets/whisper-41c78cd2.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/@vicons-7a4ef312.js","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Contacts-7fa3e0d6.css","assets/vfonts-7afd136d.css"])},{path:"/following",name:"following",meta:{title:"关注"},component:()=>T(()=>import("./Following-0f4690d5.js"),["assets/Following-0f4690d5.js","assets/whisper-41c78cd2.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Following-6aa7d36c.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>T(()=>import("./Wallet-3f9754c9.js"),["assets/Wallet-3f9754c9.js","assets/post-skeleton-2ccfac69.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>T(()=>import("./Setting-481cc2c3.js"),["assets/Setting-481cc2c3.js","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>T(()=>import("./404-ee86e1a1.js"),["assets/404-ee86e1a1.js","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],ve=Te({history:Ae(),routes:rt});ve.beforeEach((e,t,r)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,r()});const at=Ie({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:"",created_on:0,follows:0,followings:0,is_admin:!1}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:"",created_on:0,follows:0,followings:0,is_admin:!1},e.userLogined=!1}},actions:{},modules:{}}),X=Re.create({baseURL:"",timeout:3e4});X.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));X.interceptors.response.use(e=>{const{data:t={},code:r=0}=(e==null?void 0:e.data)||{};if(+r==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var r;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((r=t==null?void 0:t.data)==null?void 0:r.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return X(e)}const ce=e=>o({method:"post",url:"/v1/auth/login",data:e}),lt=e=>o({method:"post",url:"/v1/auth/register",data:e}),G=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),ut={class:"auth-wrap"},it={key:0},ct=Y({__name:"auth",setup(e){const t=k("true".toLowerCase()==="true"),r=B(),c=k(!1),i=k(),n=oe({username:"",password:""}),m=k(),d=oe({username:"",password:"",repassword:""}),S={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},v=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=i.value)==null||u.validate(I=>{I||(c.value=!0,ce({username:n.username,password:n.password}).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("登录成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),r.commit("refresh"),n.username="",n.password=""}).catch(h=>{c.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(I=>{I||(c.value=!0,lt({username:d.username,password:d.password}).then(h=>ce({username:d.username,password:d.password})).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("注册成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(h=>{c.value=!1}))})};return Z(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?G(_).then(u=>{r.commit("updateUserinfo",u),r.commit("triggerAuth",!1)}).catch(u=>{r.commit("userLogout")}):r.commit("userLogout")}),(_,u)=>{const I=Ce,h=$e,R=_e,C=he,O=Me,x=Se,l=ge,L=Ue,F=De,H=fe,V=xe;return w(),K(V,{show:f(r).state.authModalShow,"onUpdate:show":u[7]||(u[7]=p=>f(r).state.authModalShow=p),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[y("div",ut,[s(H,{bordered:!1},{default:a(()=>[t.value?M("",!0):(w(),E("div",it,[s(R,{justify:"center"},{default:a(()=>[s(h,null,{default:a(()=>[s(I,{type:"success"},{default:a(()=>[U("账号登录")]),_:1})]),_:1})]),_:1}),s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[0]||(u[0]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])])),t.value?(w(),K(F,{key:1,"default-value":f(r).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(L,{name:"signin",tab:"登录"},{default:a(()=>[s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[2]||(u[2]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(L,{name:"signup",tab:"注册"},{default:a(()=>[s(x,{ref_key:"registerRef",ref:m,model:d,rules:S},{default:a(()=>[s(O,{label:"用户名",path:"username"},{default:a(()=>[s(C,{value:d.username,"onUpdate:value":u[4]||(u[4]=p=>d.username=p),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=p=>d.password=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"重复密码",path:"repassword"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=p=>d.repassword=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:b},{default:a(()=>[U(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const we=(e,t)=>{const r=e.__vccOpts||e;for(const[c,i]of t)r[c]=i;return r},dt=we(ct,[["__scopeId","data-v-053dfa44"]]),io=e=>o({method:"get",url:"/v1/posts",params:e}),mt=e=>o({method:"get",url:"/v1/tags",params:e}),co=e=>o({method:"get",url:"/v1/post",params:e}),mo=e=>o({method:"get",url:"/v1/post/star",params:e}),po=e=>o({method:"post",url:"/v1/post/star",data:e}),_o=e=>o({method:"get",url:"/v1/post/collection",params:e}),ho=e=>o({method:"post",url:"/v1/post/collection",data:e}),go=e=>o({method:"get",url:"/v1/post/comments",params:e}),fo=e=>o({method:"get",url:"/v1/user/contacts",params:e}),vo=e=>o({method:"post",url:"/v1/post",data:e}),wo=e=>o({method:"delete",url:"/v1/post",data:e}),yo=e=>o({method:"post",url:"/v1/post/lock",data:e}),bo=e=>o({method:"post",url:"/v1/post/stick",data:e}),ko=e=>o({method:"post",url:"/v1/post/highlight",data:e}),Po=e=>o({method:"post",url:"/v1/post/visibility",data:e}),Oo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),Lo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),To=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),Ao=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),Eo=e=>o({method:"post",url:"/v1/post/comment",data:e}),Io=e=>o({method:"delete",url:"/v1/post/comment",data:e}),Ro=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),Co=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),$o=e=>o({method:"post",url:"/v1/topic/stick",data:e}),Mo=e=>o({method:"post",url:"/v1/topic/follow",data:e}),So=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),Uo=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Do=e=>o({method:"post",url:"/v1/captcha",data:e}),xo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),qo=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),No=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ko=e=>o({method:"post",url:"/v1/user/follow",data:e}),Fo=e=>o({method:"post",url:"/v1/user/unfollow",data:e}),Vo=e=>o({method:"get",url:"/v1/user/follows",params:e}),zo=e=>o({method:"get",url:"/v1/user/followings",params:e}),Ho=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Wo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Yo=e=>o({method:"post",url:"/v1/user/phone",data:e}),Bo=e=>o({method:"post",url:"/v1/user/activate",data:e}),jo=e=>o({method:"post",url:"/v1/user/password",data:e}),Go=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Qo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),de=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Zo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Jo=e=>o({method:"post",url:"/v1/user/message/read",data:e}),Xo=e=>o({method:"get",url:"/v1/user/collections",params:e}),es=e=>o({method:"get",url:"/v1/user/profile",params:e}),ts=e=>o({method:"get",url:"/v1/user/posts",params:e}),os=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),ss=e=>o({method:"post",url:"/v1/user/recharge",data:e}),ns=e=>o({method:"get",url:"/v1/user/recharge",params:e}),rs=e=>o({method:"get",url:"/v1/suggest/users",params:e}),as=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),ls=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),us=e=>o({method:"get",url:"/v1/attachment",params:e}),is=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),pt=()=>o({method:"get",url:"/v1/admin/site/status"});D.locale("zh-cn");const _t=e=>D.unix(e).fromNow(),cs=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()},ds=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD"):t.fromNow()},ms=e=>D.unix(e).utc(!0).format("YYYY年MM月"),ht={key:0,class:"rightbar-wrap"},gt={class:"search-wrap"},ft={class:"post-num"},vt={class:"post-num"},wt={class:"copyright"},yt=["href"],bt=["href"],kt={class:"site-info-item"},Pt=Y({__name:"rightbar",setup(e){const t=k([]),r=k([]),c=k(!1),i=k(""),n=B(),m=pe(),d=k(0),S=k(0),v=k(0),b=k(0),_=k(null),u="2023 paopao.info",I="Roc's Me",h="",R="泡泡(PaoPao)开源社区",C="https://www.paopao.info",O=+"6",x=+"12",l=()=>{pt().then(g=>{d.value=g.register_user_count,S.value=g.online_user_count,v.value=g.history_max_online,b.value=g.server_up_time}).catch(g=>{}),p.disconnect()},L=()=>{c.value=!0,mt({type:"hot_extral",num:x,extral_num:O}).then(g=>{t.value=g.topics,r.value=g.extral_topics??[],V.value=!0,c.value=!1}).catch(g=>{c.value=!1})},F=g=>g>=1e3?(g/1e3).toFixed(1)+"k":g,H=()=>{m.push({name:"home",query:{q:i.value}})},V=J({get:()=>n.state.userLogined&&r.value.length!==0,set:g=>{}});Q(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(g,z)=>{(g.refreshTopicFollow!==z.refreshTopicFollow||g.userLogined)&&L(),n.state.userInfo.is_admin&&l()});const p=new IntersectionObserver(g=>{g.forEach(z=>{z.isIntersecting&&l()})},{root:null,rootMargin:"0px",threshold:1});return Z(()=>{_.value&&p.observe(_.value),L()}),(g,z)=>{const ye=W,be=he,ee=me("router-link"),te=qe,j=fe,ke=_e;return f(n).state.collapsedRight?M("",!0):(w(),E("div",ht,[y("div",gt,[s(be,{round:"",clearable:"",placeholder:"搜一搜...",value:i.value,"onUpdate:value":z[0]||(z[0]=$=>i.value=$),onKeyup:q(N(H,["prevent"]),["enter"])},{prefix:a(()=>[s(ye,{component:f(Ge)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),V.value?(w(),K(j,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(r.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",ft,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(j,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(t.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",vt,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(j,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[y("div",wt,"© "+A(f(u)),1),y("div",null,[s(ke,null,{default:a(()=>[y("a",{href:f(h),target:"_blank",class:"hash-link"},A(f(I)),9,yt),y("a",{href:f(C),target:"_blank",class:"hash-link"},A(f(R)),9,bt)]),_:1})])]),_:1}),f(n).state.userInfo.is_admin?(w(),E("div",{key:1,class:"site-info",ref_key:"userInfoElement",ref:_},[y("span",kt,A(d.value)+" 注册用户,"+A(S.value)+" 人在线,最高在线 "+A(v.value)+" 人,站点上线于 "+A(f(_t)(b.value)),1)],512)):M("",!0)]))}}});const Ot=we(Pt,[["__scopeId","data-v-0a6cd0b6"]]),Lt="/assets/logo-52afee68.png",Tt={class:"sidebar-wrap"},At={class:"logo-wrap"},Et={key:0,class:"user-wrap"},It={class:"user-info"},Rt={class:"nickname"},Ct={class:"nickname-txt"},$t={class:"username"},Mt={class:"user-mini-wrap"},St={key:1,class:"user-wrap"},Ut={key:0,class:"login-only-wrap"},Dt={key:1,class:"login-wrap"},xt=Y({__name:"sidebar",setup(e){const t=B(),r=Ee(),c=pe(),i=k(!1),n=k(r.name||""),m=k(),d="true".toLowerCase()==="true",S="false".toLowerCase()==="true",v="false".toLocaleLowerCase()==="true",b=k("true".toLowerCase()==="true"),_=+"5000";Q(r,()=>{n.value=r.name}),Q(t.state,()=>{t.state.userInfo.id>0?m.value||(de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)}),m.value=setInterval(()=>{de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)})},_)):m.value&&clearInterval(m.value)}),Z(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const u=J(()=>{const l=[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}];return S&&l.push({label:"公告",key:"anouncement",icon:()=>P(Qe),href:"/anouncement"}),l.push({label:"主页",key:"profile",icon:()=>P(Ze),href:"/profile"}),l.push({label:"消息",key:"messages",icon:()=>P(Je),href:"/messages"}),l.push({label:"收藏",key:"collection",icon:()=>P(Xe),href:"/collection"}),d&&l.push({label:"好友",key:"contacts",icon:()=>P(et),href:"/contacts"}),v&&l.push({label:"钱包",key:"wallet",icon:()=>P(tt),href:"/wallet"}),l.push({label:"设置",key:"setting",icon:()=>P(ot),href:"/setting"}),t.state.userInfo.id>0?l:[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}]}),I=l=>"href"in l?P("div",{},l.label):l.label,h=l=>l.key==="messages"?P(Ke,{dot:!0,show:i.value,processing:!0},{default:()=>P(W,{color:l.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:l.icon})}):P(W,null,{default:l.icon}),R=(l,L={})=>{n.value=l,c.push({name:l,query:{t:new Date().getTime()}})},C=()=>{r.path==="/"&&t.commit("refresh"),R("home")},O=l=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",l)},x=()=>{t.commit("userLogout"),t.commit("refresh"),C()};return window.$store=t,window.$message=Ne(),(l,L)=>{const F=Fe,H=Ve,V=ze,p=ge;return w(),E("div",Tt,[y("div",At,[s(F,{class:"logo-img",width:"36",src:f(Lt),"preview-disabled":!0,onClick:C},null,8,["src"])]),s(H,{accordion:!0,"icon-size":24,options:u.value,"render-label":I,"render-icon":h,value:n.value,"onUpdate:value":R},null,8,["options","value"]),f(t).state.userInfo.id>0?(w(),E("div",Et,[s(V,{class:"user-avatar",round:"",size:34,src:f(t).state.userInfo.avatar},null,8,["src"]),y("div",It,[y("div",Rt,[y("span",Ct,A(f(t).state.userInfo.nickname),1),s(p,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:x},{icon:a(()=>[s(f(W),null,{default:a(()=>[s(f(ue))]),_:1})]),_:1})]),y("div",$t,"@"+A(f(t).state.userInfo.username),1)]),y("div",Mt,[s(p,{class:"logout",quaternary:"",circle:"",onClick:x},{icon:a(()=>[s(f(W),{size:24},{default:a(()=>[s(f(ue))]),_:1})]),_:1})])])):(w(),E("div",St,[b.value?M("",!0):(w(),E("div",Ut,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[0]||(L[0]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1})])),b.value?(w(),E("div",Dt,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[1]||(L[1]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1}),s(p,{strong:"",secondary:"",round:"",type:"info",onClick:L[2]||(L[2]=g=>O("signup"))},{default:a(()=>[U(" 注册 ")]),_:1})])):M("",!0)]))])}}});const qt={"has-sider":"",class:"main-wrap",position:"static"},Nt={key:0},Kt={class:"content-wrap"},Ft=Y({__name:"App",setup(e){const t=B(),r=J(()=>t.state.theme==="dark"?We:null);return(c,i)=>{const n=xt,m=me("router-view"),d=Ot,S=dt,v=Ye,b=Be,_=je,u=He;return w(),K(u,{theme:r.value},{default:a(()=>[s(b,null,{default:a(()=>[s(v,null,{default:a(()=>{var I;return[y("div",{class:Oe(["app-container",{dark:((I=r.value)==null?void 0:I.name)==="dark",mobile:!f(t).state.desktopModelShow}])},[y("div",qt,[f(t).state.desktopModelShow?(w(),E("div",Nt,[s(n)])):M("",!0),y("div",Kt,[s(m,{class:"app-wrap"},{default:a(({Component:h})=>[(w(),K(Pe,null,[c.$route.meta.keepAlive?(w(),K(re(h),{key:0})):M("",!0)],1024)),c.$route.meta.keepAlive?M("",!0):(w(),K(re(h),{key:0}))]),_:1})]),s(d)]),s(S)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});Le(Ft).use(ve).use(at).mount("#app");export{ns as $,$o as A,So as B,Mo as C,mt as D,_t as E,ms as F,qo as G,es as H,Wo as I,Fo as J,Ko as K,is as L,No as M,Ho as N,Jo as O,Zo as P,Xo as Q,ds as R,ls as S,us as T,Vo as U,zo as V,xo as W,G as X,os as Y,ss as Z,we as _,as as a,Uo as a0,Qo as a1,jo as a2,Yo as a3,Bo as a4,Go as a5,Do as a6,xt as a7,fo as b,vo as c,io as d,ts as e,cs as f,rs as g,Ao as h,Co as i,Oo as j,Lo as k,Ro as l,Io as m,Eo as n,mo as o,_o as p,wo as q,yo as r,bo as s,To as t,ko as u,Po as v,po as w,ho as x,co as y,go as z}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js similarity index 96% rename from web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js rename to web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js index f95ba111..84482f7f 100644 --- a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-04907baf.js +++ b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js @@ -1 +1 @@ -import{a3 as A}from"./index-6886c40b.js";import{u as B}from"./vuex-44de225f.js";import{u as E}from"./vue-router-e5a2430e.js";import{j as z}from"./vooks-6d99783e.js";import{Z as C,_ as N,$ as P,a0 as D}from"./@vicons-7a4ef312.js";import{u as R,a3 as $,a4 as x,j as H,e as I,a5 as V,h as j}from"./naive-ui-d8de3dda.js";import{d as q,H as h,b as F,e as n,f,bf as a,k as e,w as t,Y as c,j as L,q as _,A as U,x as Y,F as Z}from"./@vue-a481fc63.js";const G={key:0},J={class:"navbar"},ae=q({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(w){const i=w,o=B(),m=E(),l=h(!1),g=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),o.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),o.commit("triggerTheme","light"))},k=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return F(()=>{localStorage.getItem("PAOPAO_THEME")||u(z()==="dark"),o.state.desktopModelShow||(window.$store=o,window.$message=R())}),(s,d)=>{const b=A,y=$,M=x,r=H,p=I,O=V,S=j;return n(),f(Z,null,[a(o).state.drawerModelShow?(n(),f("div",G,[e(M,{show:l.value,"onUpdate:show":d[0]||(d[0]=T=>l.value=T),width:212,placement:g.value,resizable:""},{default:t(()=>[e(y,null,{default:t(()=>[e(b)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(S,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[L("div",J,[a(o).state.drawerModelShow&&!s.back?(n(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(C))]),_:1})]),_:1})):c("",!0),s.back?(n(),_(p,{key:1,class:"back-btn",onClick:k,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(N))]),_:1})]),_:1})):c("",!0),U(" "+Y(i.title)+" ",1),i.theme?(n(),_(O,{key:2,value:a(o).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:a(P)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:a(D)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{ae as _}; +import{a7 as A}from"./index-f37b0729.js";import{u as B}from"./vuex-44de225f.js";import{u as E}from"./vue-router-e5a2430e.js";import{j as z}from"./vooks-6d99783e.js";import{Z as C,_ as N,$ as P,a0 as D}from"./@vicons-7a4ef312.js";import{u as R,a3 as $,a4 as x,j as H,e as I,a5 as V,h as j}from"./naive-ui-d8de3dda.js";import{d as q,H as h,b as F,e as n,f,bf as a,k as e,w as t,Y as c,j as L,q as _,A as U,x as Y,F as Z}from"./@vue-a481fc63.js";const G={key:0},J={class:"navbar"},ae=q({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(w){const i=w,o=B(),m=E(),l=h(!1),g=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),o.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),o.commit("triggerTheme","light"))},k=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return F(()=>{localStorage.getItem("PAOPAO_THEME")||u(z()==="dark"),o.state.desktopModelShow||(window.$store=o,window.$message=R())}),(s,d)=>{const b=A,y=$,M=x,r=H,p=I,O=V,S=j;return n(),f(Z,null,[a(o).state.drawerModelShow?(n(),f("div",G,[e(M,{show:l.value,"onUpdate:show":d[0]||(d[0]=T=>l.value=T),width:212,placement:g.value,resizable:""},{default:t(()=>[e(y,null,{default:t(()=>[e(b)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(S,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[L("div",J,[a(o).state.drawerModelShow&&!s.back?(n(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(C))]),_:1})]),_:1})):c("",!0),s.back?(n(),_(p,{key:1,class:"back-btn",onClick:k,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(N))]),_:1})]),_:1})):c("",!0),U(" "+Y(i.title)+" ",1),i.theme?(n(),_(O,{key:2,value:a(o).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:a(P)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:a(D)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{ae as _}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js new file mode 100644 index 00000000..0be36a46 --- /dev/null +++ b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js @@ -0,0 +1 @@ +import{p as R,a as V,_ as E,b as Y,c as G}from"./content-60b75b00.js";import{d as J,c as x,r as K,e as a,f,k as n,al as Q,w as o,j as i,F as U,u as W,y as m,bf as l,A as r,x as p,q as u,Y as c,h as C}from"./@vue-a481fc63.js";import{u as X}from"./vuex-44de225f.js";import{u as Z}from"./vue-router-e5a2430e.js";import{R as ee,w as te,x as se}from"./index-f37b0729.js";import{c as oe}from"./copy-to-clipboard-4ef7d3eb.js";import{i as ne,j as ae,l as le,m as ie,p as ue,o as ce}from"./@vicons-7a4ef312.js";import{j as v,o as re,M as pe,e as _e,O as me,a as ve,L as de}from"./naive-ui-d8de3dda.js";const he={class:"post-item"},ge={class:"nickname-wrap"},ke={class:"username-wrap"},ye={class:"timestamp-mobile"},fe={class:"item-header-extra"},we=["innerHTML"],be=["onClick"],xe=["onClick"],Ne=J({__name:"mobile-post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",he,[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",ge,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",ke," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0),i("div",null,[i("span",ye,p(l(ee)(e.value.created_on))+" "+p(e.value.ip_loc),1)])]),"header-extra":o(()=>[i("div",fe,[n(D,{placement:"bottom-end",trigger:"click",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,be),i("div",{class:"opt-item",onClick:s[3]||(s[3]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,xe)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[i("div",{onClick:s[2]||(s[2]=h=>k(e.value.id))},[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,we))),128))])]),key:"0"}:void 0]),1024)])}}});const Ce={class:"nickname-wrap"},$e={class:"username-wrap"},ze={class:"item-header-extra"},Te={class:"timestamp"},qe=["innerHTML"],Pe=["onClick"],Le=["onClick"],Ae=J({__name:"post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",{class:"post-item",onClick:s[3]||(s[3]=h=>k(e.value.id))},[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",Ce,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",$e," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":o(()=>[i("div",ze,[i("span",Te,p(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+p(l(ee)(e.value.created_on)),1),n(D,{placement:"bottom-end",trigger:"hover",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item hover",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,Pe),i("div",{class:"opt-item hover",onClick:s[2]||(s[2]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item hover",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,Le)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text hover",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,qe))),128))]),key:"0"}:void 0]),1024)])}}});export{Ae as _,Ne as a}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-8624318f.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-8624318f.js deleted file mode 100644 index c9f04099..00000000 --- a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-8624318f.js +++ /dev/null @@ -1 +0,0 @@ -import{p as V,a as E,_ as R,b as Y,c as G}from"./content-e5b2b63d.js";import{d as J,c as C,r as K,e as a,f,k as n,al as Q,w as o,j as i,F as U,u as W,y as m,bf as l,A as r,x as p,q as u,Y as c,h as x}from"./@vue-a481fc63.js";import{u as X}from"./vuex-44de225f.js";import{u as Z}from"./vue-router-e5a2430e.js";import{c as ee}from"./formatTime-4210fcd1.js";import{u as te,w as se}from"./index-6886c40b.js";import{c as oe}from"./copy-to-clipboard-4ef7d3eb.js";import{i as ne,j as ae,l as le,m as ie,p as ue,o as ce}from"./@vicons-7a4ef312.js";import{j as v,o as re,M as pe,e as _e,O as me,a as ve,L as de}from"./naive-ui-d8de3dda.js";const he={class:"post-item"},ge={class:"nickname-wrap"},ke={class:"username-wrap"},ye={class:"timestamp-mobile"},fe={class:"item-header-extra"},we=["innerHTML"],be=["onClick"],Ce=["onClick"],Ae=J({__name:"mobile-post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>x(v,null,{default:()=>x(t)}),q=C(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=C({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=E,H=R,B=Y,I=G,N=ve,A=de;return a(),f("div",he,[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",ge,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",ke," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0),i("div",null,[i("span",ye,p(l(ee)(e.value.created_on))+" "+p(e.value.ip_loc),1)])]),"header-extra":o(()=>[i("div",fe,[n(D,{placement:"bottom-end",trigger:"click",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,be),i("div",{class:"opt-item",onClick:s[3]||(s[3]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,Ce)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[i("div",{onClick:s[2]||(s[2]=h=>k(e.value.id))},[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(V)(h.content).content},null,8,we))),128))])]),key:"0"}:void 0]),1024)])}}});const xe={class:"nickname-wrap"},$e={class:"username-wrap"},ze={class:"item-header-extra"},Te={class:"timestamp"},qe=["innerHTML"],Pe=["onClick"],Le=["onClick"],Fe=J({__name:"post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>x(v,null,{default:()=>x(t)}),q=C(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=C({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=E,H=R,B=Y,I=G,N=ve,A=de;return a(),f("div",{class:"post-item",onClick:s[3]||(s[3]=h=>k(e.value.id))},[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",xe,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",$e," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":o(()=>[i("div",ze,[i("span",Te,p(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+p(l(ee)(e.value.created_on)),1),n(D,{placement:"bottom-end",trigger:"hover",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item hover",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,Pe),i("div",{class:"opt-item hover",onClick:s[2]||(s[2]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item hover",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,Le)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text hover",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(V)(h.content).content},null,8,qe))),128))]),key:"0"}:void 0]),1024)])}}});export{Fe as _,Ae as a}; diff --git a/web/dist/assets/post-skeleton-63a82733.js b/web/dist/assets/post-skeleton-2ccfac69.js similarity index 88% rename from web/dist/assets/post-skeleton-63a82733.js rename to web/dist/assets/post-skeleton-2ccfac69.js index 607a2a90..314b9f2f 100644 --- a/web/dist/assets/post-skeleton-63a82733.js +++ b/web/dist/assets/post-skeleton-2ccfac69.js @@ -1 +1 @@ -import{U as r}from"./naive-ui-d8de3dda.js";import{d as c,e as s,f as n,u as p,j as o,k as t,F as l}from"./@vue-a481fc63.js";import{_ as i}from"./index-6886c40b.js";const m={class:"user"},u={class:"content"},d=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",u,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(d,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; +import{U as r}from"./naive-ui-d8de3dda.js";import{d as c,e as s,f as n,u as p,j as o,k as t,F as l}from"./@vue-a481fc63.js";import{_ as i}from"./index-f37b0729.js";const m={class:"user"},u={class:"content"},d=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",u,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(d,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/assets/whisper-ccc06a56.js b/web/dist/assets/whisper-41c78cd2.js similarity index 71% rename from web/dist/assets/whisper-ccc06a56.js rename to web/dist/assets/whisper-41c78cd2.js index bbd6294b..3092c40e 100644 --- a/web/dist/assets/whisper-ccc06a56.js +++ b/web/dist/assets/whisper-41c78cd2.js @@ -1 +1 @@ -import{S as b,_ as k}from"./index-6886c40b.js";import{R as B,H as C,S as N,b as R,e as S,i as U}from"./naive-ui-d8de3dda.js";import{d as V,H as p,e as $,q as z,w as s,j as a,k as n,A as _,x as i}from"./@vue-a481fc63.js";const H={class:"whisper-wrap"},W={class:"whisper-line"},j={class:"whisper-line send-wrap"},q=V({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(r,{emit:u}){const d=r,o=p(""),t=p(!1),c=()=>{u("success")},m=()=>{t.value=!0,b({user_id:d.user.id,content:o.value}).then(e=>{window.$message.success("发送成功"),t.value=!1,o.value="",c()}).catch(e=>{t.value=!1})};return(e,l)=>{const h=B,w=C,f=N,v=R,g=S,y=U;return $(),z(y,{show:e.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:s(()=>[a("div",H,[n(f,{"show-icon":!1},{default:s(()=>[_(" 即将发送私信给: "),n(w,{style:{"max-width":"100%"}},{default:s(()=>[n(h,{type:"success"},{default:s(()=>[_(i(e.user.nickname)+"@"+i(e.user.username),1)]),_:1})]),_:1})]),_:1}),a("div",W,[n(v,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":l[0]||(l[0]=x=>o.value=x),maxlength:"200","show-count":""},null,8,["value"])]),a("div",j,[n(g,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:m},{default:s(()=>[_(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const M=k(q,[["__scopeId","data-v-0cbfe47c"]]);export{M as _}; +import{W as b,_ as k}from"./index-f37b0729.js";import{R as B,H as C,S as N,b as R,e as U,i as V}from"./naive-ui-d8de3dda.js";import{d as W,H as p,e as $,q as z,w as s,j as a,k as n,A as _,x as i}from"./@vue-a481fc63.js";const H={class:"whisper-wrap"},S={class:"whisper-line"},j={class:"whisper-line send-wrap"},q=W({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(r,{emit:u}){const d=r,o=p(""),t=p(!1),c=()=>{u("success")},m=()=>{t.value=!0,b({user_id:d.user.id,content:o.value}).then(e=>{window.$message.success("发送成功"),t.value=!1,o.value="",c()}).catch(e=>{t.value=!1})};return(e,l)=>{const h=B,w=C,f=N,v=R,g=U,y=V;return $(),z(y,{show:e.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:s(()=>[a("div",H,[n(f,{"show-icon":!1},{default:s(()=>[_(" 即将发送私信给: "),n(w,{style:{"max-width":"100%"}},{default:s(()=>[n(h,{type:"success"},{default:s(()=>[_(i(e.user.nickname)+"@"+i(e.user.username),1)]),_:1})]),_:1})]),_:1}),a("div",S,[n(v,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":l[0]||(l[0]=x=>o.value=x),maxlength:"200","show-count":""},null,8,["value"])]),a("div",j,[n(g,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:m},{default:s(()=>[_(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const M=k(q,[["__scopeId","data-v-0cbfe47c"]]);export{M as _}; diff --git a/web/dist/index.html b/web/dist/index.html index 15d38964..9e2968c5 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -8,7 +8,7 @@ 泡泡 - + @@ -27,8 +27,9 @@ + - + diff --git a/web/src/components/rightbar.vue b/web/src/components/rightbar.vue index 37ce4e43..427efaa5 100644 --- a/web/src/components/rightbar.vue +++ b/web/src/components/rightbar.vue @@ -77,13 +77,10 @@ -
- - {{ registerUserCount }} 注册用户   - {{ onlineUserCount }} 人在线 - -
+
+ {{ registerUserCount }} 注册用户,{{ onlineUserCount }} 人在线,最高在线 {{ historyMaxOnline }} 人,站点上线于 {{ formatRelativeTime(serverUpTime) }} +
@@ -94,6 +91,7 @@ import { useRouter } from 'vue-router'; import { getTags } from '@/api/post'; import { getSiteInfo } from '@/api/user'; import { Search } from '@vicons/ionicons5'; +import { formatRelativeTime } from '@/utils/formatTime'; const hotTags = ref([]); const followTags = ref([]); @@ -103,6 +101,8 @@ const store = useStore(); const router = useRouter(); const registerUserCount = ref(0) const onlineUserCount = ref(0) +const historyMaxOnline = ref(0) +const serverUpTime = ref(0) const userInfoElement = ref(null); const copyrightTop = import.meta.env.VITE_COPYRIGHT_TOP const copyrightLeft = import.meta.env.VITE_COPYRIGHT_LEFT @@ -117,6 +117,8 @@ const loadSiteInfo = () => { .then((res) => { registerUserCount.value = res.register_user_count; onlineUserCount.value = res.online_user_count; + historyMaxOnline.value = res.history_max_online; + serverUpTime.value = res.server_up_time; }) .catch((_err) => { // do nothing @@ -238,6 +240,16 @@ onMounted(() => { margin-bottom: 10px; } + .site-info { + margin-top: 8px; + padding-left: 16px; + padding-right: 16px; + .site-info-item { + font-size: 10px; + opacity: 0.75; + } + } + .copyright-wrap { .copyright { font-size: 12px; diff --git a/web/src/types/NetReq.d.ts b/web/src/types/NetReq.d.ts index fcd01b4d..af8a1770 100644 --- a/web/src/types/NetReq.d.ts +++ b/web/src/types/NetReq.d.ts @@ -89,6 +89,8 @@ declare module NetReq { interface SiteInfoResp { register_user_count: number; online_user_count: number; + history_max_online: number; + server_up_time: number; } interface FollowUserResp {} diff --git a/web/src/utils/formatTime.ts b/web/src/utils/formatTime.ts index da1499de..98ab61f1 100644 --- a/web/src/utils/formatTime.ts +++ b/web/src/utils/formatTime.ts @@ -10,6 +10,10 @@ export const formatTime = (time: number) => { return moment.unix(time).utc(true).format("YYYY-MM-DD HH:mm"); }; +export const formatHumanTime = (time: number) => { + return moment().from(moment.unix(time)); +}; + export const formatRelativeTime = (time: number) => { return moment.unix(time).fromNow(); }; From 92c0036bc11e978757c10f49f8438a44b60be265 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Fri, 15 Sep 2023 21:28:39 +0800 Subject: [PATCH 05/26] use a cron job to update max history online user count --- README.md | 2 +- features-status.md | 2 +- internal/conf/conf.go | 2 ++ internal/conf/config.yaml | 2 ++ internal/conf/setting.go | 4 ++++ internal/events/events.go | 4 ++-- internal/servants/web/jobs.go | 41 +++++++++++++++++++++++++++++++++++ internal/servants/web/web.go | 2 ++ 8 files changed, 55 insertions(+), 4 deletions(-) create mode 100644 internal/servants/web/jobs.go diff --git a/README.md b/README.md index e8f98f80..a38e0ad3 100644 --- a/README.md +++ b/README.md @@ -384,7 +384,7 @@ release/paopao serve --no-default-features --features sqlite3,localoss,loggerfil |[`Pprof`](docs/proposal/23062905-添加Pprof功能特性用于获取Profile.md)| 性能优化 | 内测 | 开启Pprof功能收集Profile信息 | |`PhoneBind` | 其他 | 稳定 | 手机绑定功能 | |`UseAuditHook` | 其他 | 内测 | 使用审核hook功能 | -|`UseJobManager` | 其他 | 内测 | 使用JobManager功能 | +|`DisableJobManager` | 其他 | 内测 | 禁止使用JobManager功能 | |`Web:DisallowUserRegister` | 功能特性 | 稳定 | 不允许用户注册 | > 功能项状态详情参考 [features-status](features-status.md). diff --git a/features-status.md b/features-status.md index 4949fdc8..c6cf5aa0 100644 --- a/features-status.md +++ b/features-status.md @@ -203,7 +203,7 @@ * [x] 接口定义 * [x] 业务逻辑实现 -* `UseJobManager` 使用JobManager功能 (目前状态: 内测 待完善后将转为Builtin) +* `DisableJobManager` 禁止使用JobManager功能 (目前状态: 内测 待完善后将转为Builtin) * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 diff --git a/internal/conf/conf.go b/internal/conf/conf.go index 7880db81..fb15b45b 100644 --- a/internal/conf/conf.go +++ b/internal/conf/conf.go @@ -38,6 +38,7 @@ var ( CacheSetting *cacheConf EventManagerSetting *eventManagerConf MetricManagerSetting *metricManagerConf + JobManagerSetting *jobManagerConf CacheIndexSetting *cacheIndexConf SimpleCacheIndexSetting *simpleCacheIndexConf BigCacheIndexSetting *bigCacheIndexConf @@ -75,6 +76,7 @@ func setupSetting(suite []string, noDefault bool) error { "Cache": &CacheSetting, "EventManager": &EventManagerSetting, "MetricManager": &MetricManagerSetting, + "JobManager": &JobManagerSetting, "PprofServer": &PprofServerSetting, "WebServer": &WebServerSetting, "AdminServer": &AdminServerSetting, diff --git a/internal/conf/config.yaml b/internal/conf/config.yaml index e076c42c..0721eee8 100644 --- a/internal/conf/config.yaml +++ b/internal/conf/config.yaml @@ -23,6 +23,8 @@ MetricManager: # 指标监控管理器的配置参数 MaxTempEventBuf: 256 # 最大log缓存条数, 设置范围[10, ++], 默认256 MaxTickCount: 60 # 最大的循环周期, 设置范围[60, ++], 默认60 TickWaitTime: 1 # 一个周期的等待时间,单位:秒 默认1s +JobManager: # Cron Job理器的配置参数 + MaxOnlineInterval: "@every 5m" # 更新最大在线人数,默认每5分钟更新一次 Features: Default: [] WebServer: # Web服务 diff --git a/internal/conf/setting.go b/internal/conf/setting.go index 30802602..5c065050 100644 --- a/internal/conf/setting.go +++ b/internal/conf/setting.go @@ -120,6 +120,10 @@ type metricManagerConf struct { TickWaitTime time.Duration } +type jobManagerConf struct { + MaxOnlineInterval string +} + type cacheIndexConf struct { MaxUpdateQPS int MinWorker int diff --git a/internal/events/events.go b/internal/events/events.go index f981c93a..17b84bda 100644 --- a/internal/events/events.go +++ b/internal/events/events.go @@ -73,10 +73,10 @@ func Schedule(s cron.Schedule, fn JobFn) EntryID { func Initial() { _onceInitial.Do(func() { initEventManager() - if cfg.If("UseJobManager") { + cfg.Not("DisableJobManager", func() { initJobManager() logrus.Debugln("initial JobManager") - } + }) }) } diff --git a/internal/servants/web/jobs.go b/internal/servants/web/jobs.go new file mode 100644 index 00000000..0d5f0b84 --- /dev/null +++ b/internal/servants/web/jobs.go @@ -0,0 +1,41 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package web + +import ( + "github.com/alimy/tryst/cfg" + "github.com/robfig/cron/v3" + "github.com/rocboss/paopao-ce/internal/conf" + "github.com/rocboss/paopao-ce/internal/events" + "github.com/sirupsen/logrus" +) + +func onMaxOnlineJob() { + spec := conf.JobManagerSetting.MaxOnlineInterval + schedule, err := cron.ParseStandard(spec) + if err != nil { + panic(err) + } + events.Schedule(schedule, func() { + onlineUserKeys, err := _wc.Keys(conf.PrefixOnlineUser + "*") + if maxOnline := len(onlineUserKeys); err == nil && maxOnline > 0 { + if _, err = _wc.PutHistoryMaxOnline(maxOnline); err != nil { + logrus.Warnf("onMaxOnlineJob[2] occurs error: %s", err) + } else { + logrus.Debug("trigger onMaxOnlineJob run action") + } + } else if err != nil { + logrus.Warnf("onMaxOnlineJob[1] occurs error: %s", err) + } + }) +} + +func scheduleInnerJobs() { + cfg.Not("DisableJobManager", func() { + lazyInitial() + onMaxOnlineJob() + logrus.Debug("schedule inner jobs complete") + }) +} diff --git a/internal/servants/web/web.go b/internal/servants/web/web.go index 883a2481..af739942 100644 --- a/internal/servants/web/web.go +++ b/internal/servants/web/web.go @@ -46,6 +46,8 @@ func RouteWeb(e *gin.Engine) { api.RegisterAlipayPubServant(e, newAlipayPubSrv(ds)) api.RegisterAlipayPrivServant(e, newAlipayPrivSrv(ds, client)) }) + // shedule inner jobs if need + scheduleInnerJobs() } // lazyInitial do some package lazy initialize for performance From 35c315a649e316502833327a7f55474a875ac284 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Fri, 15 Sep 2023 21:31:13 +0800 Subject: [PATCH 06/26] remove reduce debug log in onMaxOnlineJob --- internal/servants/web/jobs.go | 2 -- 1 file changed, 2 deletions(-) diff --git a/internal/servants/web/jobs.go b/internal/servants/web/jobs.go index 0d5f0b84..57a43829 100644 --- a/internal/servants/web/jobs.go +++ b/internal/servants/web/jobs.go @@ -23,8 +23,6 @@ func onMaxOnlineJob() { if maxOnline := len(onlineUserKeys); err == nil && maxOnline > 0 { if _, err = _wc.PutHistoryMaxOnline(maxOnline); err != nil { logrus.Warnf("onMaxOnlineJob[2] occurs error: %s", err) - } else { - logrus.Debug("trigger onMaxOnlineJob run action") } } else if err != nil { logrus.Warnf("onMaxOnlineJob[1] occurs error: %s", err) From 7ba82d78bdf71f8efb3fe57dc69702b1ee57450a Mon Sep 17 00:00:00 2001 From: Michael Li Date: Fri, 15 Sep 2023 21:55:47 +0800 Subject: [PATCH 07/26] optimize events.Job function name --- internal/events/events.go | 8 ++++---- internal/servants/web/jobs.go | 4 ++-- internal/servants/web/web.go | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/internal/events/events.go b/internal/events/events.go index 17b84bda..672e1b9a 100644 --- a/internal/events/events.go +++ b/internal/events/events.go @@ -54,15 +54,15 @@ func RemoveJob(id EntryID) { _defaultJobManager.Remove(id) } -// ScheduleJob adds a Job to the Cron to be run on the given schedule. +// Schedule adds a Job to the Cron to be run on the given schedule. // The job is wrapped with the configured Chain. -func ScheduleJob(job Job) EntryID { +func Schedule(job Job) EntryID { return _defaultJobManager.Schedule(job) } -// Schedule adds a Job to the Cron to be run on the given schedule. +// OnTask adds a Job to the Cron to be run on the given schedule. // The job is wrapped with the configured Chain. -func Schedule(s cron.Schedule, fn JobFn) EntryID { +func OnTask(s cron.Schedule, fn JobFn) EntryID { job := &simpleJob{ Schedule: s, Job: fn, diff --git a/internal/servants/web/jobs.go b/internal/servants/web/jobs.go index 57a43829..eb06589c 100644 --- a/internal/servants/web/jobs.go +++ b/internal/servants/web/jobs.go @@ -18,7 +18,7 @@ func onMaxOnlineJob() { if err != nil { panic(err) } - events.Schedule(schedule, func() { + events.OnTask(schedule, func() { onlineUserKeys, err := _wc.Keys(conf.PrefixOnlineUser + "*") if maxOnline := len(onlineUserKeys); err == nil && maxOnline > 0 { if _, err = _wc.PutHistoryMaxOnline(maxOnline); err != nil { @@ -30,7 +30,7 @@ func onMaxOnlineJob() { }) } -func scheduleInnerJobs() { +func scheduleJobs() { cfg.Not("DisableJobManager", func() { lazyInitial() onMaxOnlineJob() diff --git a/internal/servants/web/web.go b/internal/servants/web/web.go index af739942..b1d11ae2 100644 --- a/internal/servants/web/web.go +++ b/internal/servants/web/web.go @@ -46,8 +46,8 @@ func RouteWeb(e *gin.Engine) { api.RegisterAlipayPubServant(e, newAlipayPubSrv(ds)) api.RegisterAlipayPrivServant(e, newAlipayPrivSrv(ds, client)) }) - // shedule inner jobs if need - scheduleInnerJobs() + // shedule jobs if need + scheduleJobs() } // lazyInitial do some package lazy initialize for performance From 7616307e45e6d23d4fa655929e07355ffa408f05 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 16 Sep 2023 08:12:05 +0800 Subject: [PATCH 08/26] frontend: optimize main page --- web/dist/assets/404-ee86e1a1.js | 1 - web/dist/assets/Anouncement-970e82a0.js | 1 - web/dist/assets/Collection-fe5a70c8.js | 1 - web/dist/assets/Contacts-daebe967.js | 1 - web/dist/assets/Following-0f4690d5.js | 1 - web/dist/assets/Home-05450a09.js | 1 - web/dist/assets/Home-af58e3ca.css | 1 - web/dist/assets/Messages-233de594.js | 1 - web/dist/assets/Post-8a1f9102.js | 1 - web/dist/assets/Profile-2f783d8e.js | 1 - web/dist/assets/Setting-481cc2c3.js | 1 - web/dist/assets/Topic-e0ae155d.js | 1 - web/dist/assets/User-cab97cbb.js | 1 - web/dist/assets/Wallet-3f9754c9.js | 1 - web/dist/assets/content-60b75b00.js | 1 - web/dist/assets/discover-tweets-ba464531.jpeg | Bin 20042 -> 0 bytes .../assets/following-tweets-fab6741a.jpeg | Bin 63624 -> 0 bytes web/dist/assets/index-f37b0729.js | 1 - ...ue_vue_type_style_index_0_lang-f8e6a4c1.js | 1 - ...ue_vue_type_style_index_0_lang-75f1af94.js | 1 - web/dist/assets/post-skeleton-2ccfac69.js | 1 - web/dist/assets/whisper-41c78cd2.js | 1 - web/dist/index.html | 2 +- web/src/assets/img/discover-tweets.jpeg | Bin 20042 -> 51219 bytes web/src/assets/img/following-tweets.jpeg | Bin 63624 -> 10418 bytes .../img/{all-tweets.png => fresh-tweets.png} | Bin web/src/views/Home.vue | 2 +- 27 files changed, 2 insertions(+), 22 deletions(-) delete mode 100644 web/dist/assets/404-ee86e1a1.js delete mode 100644 web/dist/assets/Anouncement-970e82a0.js delete mode 100644 web/dist/assets/Collection-fe5a70c8.js delete mode 100644 web/dist/assets/Contacts-daebe967.js delete mode 100644 web/dist/assets/Following-0f4690d5.js delete mode 100644 web/dist/assets/Home-05450a09.js delete mode 100644 web/dist/assets/Home-af58e3ca.css delete mode 100644 web/dist/assets/Messages-233de594.js delete mode 100644 web/dist/assets/Post-8a1f9102.js delete mode 100644 web/dist/assets/Profile-2f783d8e.js delete mode 100644 web/dist/assets/Setting-481cc2c3.js delete mode 100644 web/dist/assets/Topic-e0ae155d.js delete mode 100644 web/dist/assets/User-cab97cbb.js delete mode 100644 web/dist/assets/Wallet-3f9754c9.js delete mode 100644 web/dist/assets/content-60b75b00.js delete mode 100644 web/dist/assets/discover-tweets-ba464531.jpeg delete mode 100644 web/dist/assets/following-tweets-fab6741a.jpeg delete mode 100644 web/dist/assets/index-f37b0729.js delete mode 100644 web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js delete mode 100644 web/dist/assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js delete mode 100644 web/dist/assets/post-skeleton-2ccfac69.js delete mode 100644 web/dist/assets/whisper-41c78cd2.js rename web/src/assets/img/{all-tweets.png => fresh-tweets.png} (100%) diff --git a/web/dist/assets/404-ee86e1a1.js b/web/dist/assets/404-ee86e1a1.js deleted file mode 100644 index 75eec1b8..00000000 --- a/web/dist/assets/404-ee86e1a1.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as i}from"./vue-router-e5a2430e.js";import{F as a,e as c,a2 as u}from"./naive-ui-d8de3dda.js";import{d as l,f as d,k as t,w as o,e as f,A as x}from"./@vue-a481fc63.js";import{_ as g}from"./index-f37b0729.js";import"./vuex-44de225f.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */const v=l({__name:"404",setup(h){const e=i(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=a;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const O=g(v,[["__scopeId","data-v-e62daa85"]]);export{O as default}; diff --git a/web/dist/assets/Anouncement-970e82a0.js b/web/dist/assets/Anouncement-970e82a0.js deleted file mode 100644 index a450ed35..00000000 --- a/web/dist/assets/Anouncement-970e82a0.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as F}from"./post-skeleton-2ccfac69.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as z}from"./vuex-44de225f.js";import{b as A}from"./vue-router-e5a2430e.js";import{E as R,_ as S}from"./index-f37b0729.js";import{F as V,Q as q,I as E,G as I}from"./naive-ui-d8de3dda.js";import{d as P,H as n,b as j,f as o,k as a,w as p,e as t,bf as u,Y as l,F as D,u as G,q as H,j as s,x as _,l as L}from"./@vue-a481fc63.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const M={key:0,class:"pagination-wrap"},O={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},Y=P({__name:"Anouncement",setup($){const d=z(),g=A(),v=n(!1),i=n([]),r=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{r.value=m};return j(()=>{}),(m,J)=>{const k=N,y=q,x=F,w=E,B=I,C=V;return t(),o("div",null,[a(k,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(t(),o("div",M,[a(y,{page:r.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(t(),o("div",O,[a(x,{num:f.value},null,8,["num"])])):(t(),o("div",Q,[i.value.length===0?(t(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(t(!0),o(D,null,G(i.value,e=>(t(),H(B,{key:e.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:L({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const ke=S(Y,[["__scopeId","data-v-d4d04859"]]);export{ke as default}; diff --git a/web/dist/assets/Collection-fe5a70c8.js b/web/dist/assets/Collection-fe5a70c8.js deleted file mode 100644 index 714997b6..00000000 --- a/web/dist/assets/Collection-fe5a70c8.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as I}from"./whisper-41c78cd2.js";import{_ as N,a as Q}from"./post-item.vue_vue_type_style_index_0_lang-75f1af94.js";import{_ as V}from"./post-skeleton-2ccfac69.js";import{_ as W}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as E}from"./vuex-44de225f.js";import{b as G}from"./vue-router-e5a2430e.js";import{Q as H,_ as L}from"./index-f37b0729.js";import{d as T,H as s,b as U,f as o,k as n,w as u,bf as h,Y as w,e,F as k,u as y,q as C}from"./@vue-a481fc63.js";import{F as Y,Q as j,I as A,G as D}from"./naive-ui-d8de3dda.js";import"./content-60b75b00.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={key:0,class:"skeleton-wrap"},K={key:1},O={key:0,class:"empty-wrap"},X={key:1},Z={key:2},ee={key:0,class:"pagination-wrap"},oe=T({__name:"Collection",setup(te){const m=E(),S=G(),_=s(!1),i=s([]),l=s(+S.query.p||1),p=s(20),r=s(0),c=s(!1),d=s({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),f=t=>{d.value=t,c.value=!0},b=()=>{c.value=!1},v=()=>{_.value=!0,H({page:l.value,page_size:p.value}).then(t=>{_.value=!1,i.value=t.list,r.value=Math.ceil(t.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(t=>{_.value=!1})},x=t=>{l.value=t,v()};return U(()=>{v()}),(t,ne)=>{const $=W,z=V,B=A,F=N,g=D,M=Q,P=I,R=Y,q=j;return e(),o("div",null,[n($,{title:"收藏"}),n(R,{class:"main-content-wrap",bordered:""},{default:u(()=>[_.value?(e(),o("div",J,[n(z,{num:p.value},null,8,["num"])])):(e(),o("div",K,[i.value.length===0?(e(),o("div",O,[n(B,{size:"large",description:"暂无数据"})])):w("",!0),h(m).state.desktopModelShow?(e(),o("div",X,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(F,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))])):(e(),o("div",Z,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(M,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))]))])),n(P,{show:c.value,user:d.value,onSuccess:b},null,8,["show","user"])]),_:1}),r.value>0?(e(),o("div",ee,[n(q,{page:l.value,"onUpdate:page":x,"page-slot":h(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):w("",!0)])}}});const Ne=L(oe,[["__scopeId","data-v-760779af"]]);export{Ne as default}; diff --git a/web/dist/assets/Contacts-daebe967.js b/web/dist/assets/Contacts-daebe967.js deleted file mode 100644 index da7e57ff..00000000 --- a/web/dist/assets/Contacts-daebe967.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as T}from"./whisper-41c78cd2.js";import{d as F,c as j,r as A,e as s,f as c,k as t,w as n,j as i,y as H,A as L,x as v,bf as g,h as I,H as a,b as U,Y as S,F as z,u as W,q as E}from"./@vue-a481fc63.js";import{F as G,_ as N,b as Q}from"./index-f37b0729.js";import{i as Y,p as J}from"./@vicons-7a4ef312.js";import{j as x,o as K,e as X,O as Z,L as ee,F as te,Q as ne,I as oe,G as se}from"./naive-ui-d8de3dda.js";import{_ as ae}from"./post-skeleton-2ccfac69.js";import{_ as ce}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as ie}from"./vuex-44de225f.js";import{b as _e}from"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const re={class:"contact-item"},le={class:"nickname-wrap"},pe={class:"username-wrap"},ue={class:"user-info"},me={class:"info-item"},de={class:"info-item"},fe={class:"item-header-extra"},ve=F({__name:"contact-item",props:{contact:{}},emits:["send-whisper"],setup(C,{emit:h}){const _=C,r=e=>()=>I(x,null,{default:()=>I(e)}),l=j(()=>[{label:"私信",key:"whisper",icon:r(J)}]),u=e=>{switch(e){case"whisper":const o={id:_.contact.user_id,avatar:_.contact.avatar,username:_.contact.username,nickname:_.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};h("send-whisper",o);break}};return(e,o)=>{const m=K,d=A("router-link"),w=X,k=Z,y=ee;return s(),c("div",re,[t(y,{"content-indented":""},{avatar:n(()=>[t(m,{size:54,src:e.contact.avatar},null,8,["src"])]),header:n(()=>[i("span",le,[t(d,{onClick:o[0]||(o[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:n(()=>[L(v(e.contact.nickname),1)]),_:1},8,["to"])]),i("span",pe," @"+v(e.contact.username),1),i("div",ue,[i("span",me," UID. "+v(e.contact.user_id),1),i("span",de,v(g(G)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":n(()=>[i("div",fe,[t(k,{placement:"bottom-end",trigger:"click",size:"small",options:l.value,onSelect:u},{default:n(()=>[t(w,{quaternary:"",circle:""},{icon:n(()=>[t(g(x),null,{default:n(()=>[t(g(Y))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const ge=N(ve,[["__scopeId","data-v-d62f19da"]]),he={key:0,class:"skeleton-wrap"},we={key:1},ke={key:0,class:"empty-wrap"},ye={key:0,class:"pagination-wrap"},Ce=F({__name:"Contacts",setup(C){const h=ie(),_=_e(),r=a(!1),l=a([]),u=a(+_.query.p||1),e=a(20),o=a(0),m=a(!1),d=a({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),w=p=>{d.value=p,m.value=!0},k=()=>{m.value=!1},y=p=>{u.value=p,$()};U(()=>{$()});const $=(p=!1)=>{l.value.length===0&&(r.value=!0),Q({page:u.value,page_size:e.value}).then(f=>{r.value=!1,l.value=f.list,o.value=Math.ceil(f.pager.total_rows/e.value),p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(f=>{r.value=!1})};return(p,f)=>{const q=ce,B=ae,M=oe,P=ge,V=se,D=T,O=te,R=ne;return s(),c(z,null,[i("div",null,[t(q,{title:"好友"}),t(O,{class:"main-content-wrap",bordered:""},{default:n(()=>[r.value?(s(),c("div",he,[t(B,{num:e.value},null,8,["num"])])):(s(),c("div",we,[l.value.length===0?(s(),c("div",ke,[t(M,{size:"large",description:"暂无数据"})])):S("",!0),(s(!0),c(z,null,W(l.value,b=>(s(),E(V,{class:"list-item",key:b.user_id},{default:n(()=>[t(P,{contact:b,onSendWhisper:w},null,8,["contact"])]),_:2},1024))),128))])),t(D,{show:m.value,user:d.value,onSuccess:k},null,8,["show","user"])]),_:1})]),o.value>0?(s(),c("div",ye,[t(R,{page:u.value,"onUpdate:page":y,"page-slot":g(h).state.collapsedRight?5:8,"page-count":o.value},null,8,["page","page-slot","page-count"])])):S("",!0)],64)}}});const Qe=N(Ce,[["__scopeId","data-v-e20fef94"]]);export{Qe as default}; diff --git a/web/dist/assets/Following-0f4690d5.js b/web/dist/assets/Following-0f4690d5.js deleted file mode 100644 index 66ee8a86..00000000 --- a/web/dist/assets/Following-0f4690d5.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as K}from"./whisper-41c78cd2.js";import{d as B,c as Q,r as Y,e as _,f as u,k as o,w as t,j as p,y as X,A as x,x as k,q as N,Y as U,bf as g,h as C,H as r,b as Z,F as M,u as ee}from"./@vue-a481fc63.js";import{u as oe,b as ne}from"./vue-router-e5a2430e.js";import{F as te,J as se,K as ae,_ as O,U as le,V as ce}from"./index-f37b0729.js";import{i as ie,p as _e,z as re,v as ue}from"./@vicons-7a4ef312.js";import{T as pe,j as P,o as me,M as de,e as fe,O as ge,L as ve,F as we,Q as he,f as ke,g as ye,I as be,G as $e}from"./naive-ui-d8de3dda.js";import{_ as Fe}from"./post-skeleton-2ccfac69.js";import{_ as ze}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as Te}from"./vuex-44de225f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"follow-item"},qe={class:"nickname-wrap"},Ie={class:"username-wrap"},Se={class:"user-info"},xe={class:"info-item"},Ce={class:"info-item"},Me={class:"item-header-extra"},Pe=B({__name:"follow-item",props:{contact:{}},emits:["send-whisper"],setup(q,{emit:y}){const n=q,c=pe();oe();const s=e=>()=>C(P,null,{default:()=>C(e)}),b=()=>{c.success({title:"提示",content:"确定"+(n.contact.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{n.contact.is_following?se({user_id:n.contact.user_id}).then(e=>{window.$message.success("取消关注成功"),n.contact.is_following=!1}).catch(e=>{console.log(e)}):ae({user_id:n.contact.user_id}).then(e=>{window.$message.success("关注成功"),n.contact.is_following=!0}).catch(e=>{console.log(e)})}})},v=Q(()=>{let e=[{label:"私信",key:"whisper",icon:s(_e)}];return n.contact.is_following?e.push({label:"取消关注",key:"unfollow",icon:s(re)}):e.push({label:"关注",key:"follow",icon:s(ue)}),e}),m=e=>{switch(e){case"follow":case"unfollow":b();break;case"whisper":const a={id:n.contact.user_id,avatar:n.contact.avatar,username:n.contact.username,nickname:n.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};y("send-whisper",a);break}};return(e,a)=>{const d=me,f=Y("router-link"),w=de,$=fe,F=ge,z=ve;return _(),u("div",Ue,[o(z,{"content-indented":""},{avatar:t(()=>[o(d,{size:54,src:e.contact.avatar},null,8,["src"])]),header:t(()=>[p("span",qe,[o(f,{onClick:a[0]||(a[0]=X(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:t(()=>[x(k(e.contact.nickname),1)]),_:1},8,["to"])]),p("span",Ie," @"+k(e.contact.username),1),e.contact.is_following?(_(),N(w,{key:0,class:"top-tag",type:"success",size:"small",round:""},{default:t(()=>[x(" 已关注 ")]),_:1})):U("",!0),p("div",Se,[p("span",xe," UID. "+k(e.contact.user_id),1),p("span",Ce,k(g(te)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":t(()=>[p("div",Me,[o(F,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:m},{default:t(()=>[o($,{quaternary:"",circle:""},{icon:t(()=>[o(g(P),null,{default:t(()=>[o(g(ie))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const Be=O(Pe,[["__scopeId","data-v-1fb7364a"]]),Ne={key:0,class:"skeleton-wrap"},Oe={key:1},Ve={key:0,class:"empty-wrap"},De={key:0,class:"pagination-wrap"},Re=B({__name:"Following",setup(q){const y=Te(),n=ne(),c=r(!1),s=r([]),b=n.query.n||"粉丝详情",v=n.query.s||"",m=r(n.query.t||"follows"),e=r(+n.query.p||1),a=r(20),d=r(0),f=r(!1),w=r({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),$=l=>{w.value=l,f.value=!0},F=()=>{f.value=!1},z=l=>{e.value=l,T()},V=l=>{m.value=l,T()},T=()=>{m.value==="follows"?D(v):m.value==="followings"&&R(v)},D=(l,h=!1)=>{s.value.length===0&&(c.value=!0),le({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})},R=(l,h=!1)=>{s.value.length===0&&(c.value=!0),ce({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})};return Z(()=>{T()}),(l,h)=>{const i=ze,I=ke,W=ye,j=Fe,A=be,H=Be,L=$e,E=K,G=we,J=he;return _(),u(M,null,[p("div",null,[o(i,{title:g(b),back:!0},null,8,["title"]),o(G,{class:"main-content-wrap",bordered:""},{default:t(()=>[o(W,{type:"line",animated:"","default-value":m.value,"onUpdate:value":V},{default:t(()=>[o(I,{name:"follows",tab:"正在关注"}),o(I,{name:"followings",tab:"我的粉丝"})]),_:1},8,["default-value"]),c.value?(_(),u("div",Ne,[o(j,{num:a.value},null,8,["num"])])):(_(),u("div",Oe,[s.value.length===0?(_(),u("div",Ve,[o(A,{size:"large",description:"暂无数据"})])):U("",!0),(_(!0),u(M,null,ee(s.value,S=>(_(),N(L,{key:S.user_id},{default:t(()=>[o(H,{contact:S,onSendWhisper:$},null,8,["contact"])]),_:2},1024))),128))])),o(E,{show:f.value,user:w.value,onSuccess:F},null,8,["show","user"])]),_:1})]),d.value>0?(_(),u("div",De,[o(J,{page:e.value,"onUpdate:page":z,"page-slot":g(y).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):U("",!0)],64)}}});const po=O(Re,[["__scopeId","data-v-0a10234f"]]);export{po as default}; diff --git a/web/dist/assets/Home-05450a09.js b/web/dist/assets/Home-05450a09.js deleted file mode 100644 index 3e31a896..00000000 --- a/web/dist/assets/Home-05450a09.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as Ue}from"./whisper-41c78cd2.js";import{_ as Te,a as Ve}from"./post-item.vue_vue_type_style_index_0_lang-75f1af94.js";import{_ as Ee}from"./post-skeleton-2ccfac69.js";import{d as _e,H as l,c as ce,b as ge,e as c,f as y,bf as U,j as A,k as a,w as i,q as O,Y as k,y as ve,A as Y,x as ee,F as pe,u as de,E as Ne}from"./@vue-a481fc63.js";import{u as fe}from"./vuex-44de225f.js";import{l as me}from"./lodash-e0b37ac3.js";import{g as xe,a as Re,c as qe,b as Ge,d as Oe,e as Pe,_ as Fe}from"./index-f37b0729.js";import{p as Le}from"./content-60b75b00.js";import{V as B,P as H}from"./IEnum-5453a777.js";import{I as Ye,V as Se,A as Me,d as Ke,E as We}from"./@vicons-7a4ef312.js";import{o as he,v as je,j as Qe,e as He,w as Ze,x as Je,y as Xe,z as $e,A as et,B as tt,C as at,a as we,D as st,E as ot,F as nt,G as lt,l as it,H as rt,I as ut,k as ct}from"./naive-ui-d8de3dda.js";import{_ as pt}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{b as dt,u as vt}from"./vue-router-e5a2430e.js";import{W as mt}from"./v3-infinite-loading-2c58ec2f.js";import{S as _t}from"./@opentiny-d73a2d67.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./vue-1e3b54ec.js";import"./xss-a5544f63.js";import"./cssfilter-af71ba68.js";const gt=Z=>{const F=new FileReader,b=r=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(r),T=()=>{const r=new Uint8Array(F.result).subarray(0,4);let V="";for(let g=0;g{F.onloadend=()=>{const g=Z.type;r(g===""||g==="application/octet-stream"?T():b(g))},F.readAsArrayBuffer(Z.slice(0,4))})},ft={key:0,class:"compose-wrap"},ht={class:"compose-line"},wt={class:"compose-user"},yt={class:"compose-line compose-options"},kt={class:"attachment"},At={class:"submit-wrap"},bt={class:"attachment-list-wrap"},Ct={key:0,class:"attachment-price-wrap"},zt=A("span",null," 附件价格¥",-1),It={key:0,class:"eye-wrap"},Dt={key:1,class:"link-wrap"},Bt={key:1,class:"compose-wrap"},Ut=A("div",{class:"login-wrap"},[A("span",{class:"login-banner"}," 登录后,精彩更多")],-1),Tt={key:0,class:"login-only-wrap"},Vt={key:1,class:"login-wrap"},Et=_e({__name:"compose",emits:["post-success"],setup(Z,{emit:F}){const b=fe(),T=l([]),r=l(!1),V=l(!1),g=l(!1),P=l(!1),f=l(""),R=l([]),E=l(),N=l(0),m=l("public/image"),I=l([]),p=l([]),h=l([]),C=l([]),D=l(B.PUBLIC),q=l(B.PUBLIC),K="true".toLowerCase()==="true",L=+"400",J=l("true".toLowerCase()==="true"),X=l("true".toLowerCase()==="true"),te=l("true".toLowerCase()==="true"),S=l("false".toLowerCase()==="true"),ae=l("true".toLowerCase()==="true"),W="/v1/attachment",G=ce(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),$=ce(()=>{let e=[{value:B.PUBLIC,label:"公开"},{value:B.PRIVATE,label:"私密"},{value:B.Following,label:"关注可见"}];return K&&e.push({value:B.FRIEND,label:"好友可见"}),e}),se=()=>{g.value=!g.value,g.value&&P.value&&(P.value=!1)},j=()=>{P.value=!P.value,P.value&&g.value&&(g.value=!1)},oe=me.debounce(e=>{xe({k:e}).then(t=>{let n=[];t.suggest.map(o=>{n.push({label:o,value:o})}),T.value=n,r.value=!1}).catch(t=>{r.value=!1})},200),u=me.debounce(e=>{Re({k:e}).then(t=>{let n=[];t.suggest.map(o=>{n.push({label:o,value:o})}),T.value=n,r.value=!1}).catch(t=>{r.value=!1})},200),v=(e,t)=>{r.value||(r.value=!0,t==="@"?oe(e):u(e))},x=e=>{e.length>L?f.value=e.substring(0,L):f.value=e},w=e=>{m.value=e},z=e=>{for(let d=0;d30&&(e[d].name=n.substring(0,18)+"..."+n.substring(n.length-9)+"."+o)}I.value=e},ne=async e=>{var t,n,o,d,s;return m.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((t=e.file.file)==null?void 0:t.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):m.value==="image"&&((n=e.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):m.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=e.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):m.value==="public/video"&&((d=e.file.file)==null?void 0:d.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):m.value==="attachment"&&!await gt(e.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):m.value==="attachment"&&((s=e.file.file)==null?void 0:s.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},le=({file:e,event:t})=>{var n;try{let o=JSON.parse((n=t.target)==null?void 0:n.response);o.code===0&&(m.value==="public/image"&&p.value.push({id:e.id,content:o.data.content}),m.value==="public/video"&&h.value.push({id:e.id,content:o.data.content}),m.value==="attachment"&&C.value.push({id:e.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},ie=({file:e,event:t})=>{var n;try{let o=JSON.parse((n=t.target)==null?void 0:n.response);if(o.code!==0){let d=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(s=>{d+=":"+s}),window.$message.error(d)}}catch{window.$message.error("上传失败")}},re=({file:e})=>{let t=p.value.findIndex(n=>n.id===e.id);t>-1&&p.value.splice(t,1),t=h.value.findIndex(n=>n.id===e.id),t>-1&&h.value.splice(t,1),t=C.value.findIndex(n=>n.id===e.id),t>-1&&C.value.splice(t,1)},ue=()=>{if(f.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:e,users:t}=Le(f.value);const n=[];let o=100;n.push({content:f.value,type:H.TEXT,sort:o}),p.value.map(s=>{o++,n.push({content:s.content,type:H.IMAGEURL,sort:o})}),h.value.map(s=>{o++,n.push({content:s.content,type:H.VIDEOURL,sort:o})}),C.value.map(s=>{o++,n.push({content:s.content,type:H.ATTACHMENT,sort:o})}),R.value.length>0&&R.value.map(s=>{o++,n.push({content:s,type:H.LINKURL,sort:o})}),V.value=!0;let d=D.value;d==B.Following&&(d=B.PUBLIC),qe({contents:n,tags:Array.from(new Set(e)),users:Array.from(new Set(t)),attachment_price:+N.value*100,visibility:d}).then(s=>{var M;window.$message.success("发布成功"),V.value=!1,F("post-success",s),g.value=!1,P.value=!1,(M=E.value)==null||M.clear(),I.value=[],f.value="",R.value=[],p.value=[],h.value=[],C.value=[],D.value=q.value}).catch(s=>{V.value=!1})},Q=e=>{b.commit("triggerAuth",!0),b.commit("triggerAuthKey",e)};return ge(()=>{const e="friend".toLowerCase();K&&e==="friend"?q.value=B.FRIEND:e==="following"?q.value=B.Following:e==="public"?q.value=B.PUBLIC:q.value=B.PRIVATE,D.value=q.value}),(e,t)=>{const n=he,o=je,d=Qe,s=He,M=Ze,ye=Je,ke=Xe,Ae=$e,be=et,Ce=tt,ze=at,Ie=we,De=st,Be=ot;return c(),y("div",null,[U(b).state.userInfo.id>0?(c(),y("div",ft,[A("div",ht,[A("div",wt,[a(n,{round:"",size:30,src:U(b).state.userInfo.avatar},null,8,["src"])]),a(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:r.value,value:f.value,prefix:["@","#"],options:T.value,onSearch:v,"onUpdate:value":x,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(Ce,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:W,headers:{Authorization:G.value},data:{type:m.value},"file-list":I.value,onBeforeUpload:ne,onFinish:le,onError:ie,onRemove:re,"onUpdate:fileList":z},{default:i(()=>[A("div",yt,[A("div",kt,[a(M,{abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("public/image"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Ye))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),X.value?(c(),O(M,{key:0,abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value!=="public/video"||I.value.length===9,onClick:()=>{w("public/video"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),te.value?(c(),O(M,{key:1,abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("attachment"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Me))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),a(s,{quaternary:"",circle:"",type:"primary",onClick:ve(se,["stop"])},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Ke))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),O(s,{key:2,quaternary:"",circle:"",type:"primary",onClick:ve(j,["stop"])},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(We))]),_:1})]),_:1},8,["onClick"])):k("",!0)]),A("div",At,[a(ke,{trigger:"hover",placement:"bottom"},{trigger:i(()=>[a(ye,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:f.value.length/U(L)*100},null,8,["percentage"])]),default:i(()=>[Y(" "+ee(f.value.length)+" / "+ee(U(L)),1)]),_:1}),a(s,{loading:V.value,onClick:ue,type:"primary",secondary:"",round:""},{default:i(()=>[Y(" 发布 ")]),_:1},8,["loading"])])]),A("div",bt,[a(Ae),C.value.length>0?(c(),y("div",Ct,[S.value?(c(),O(be,{key:0,value:N.value,"onUpdate:value":t[0]||(t[0]=_=>N.value=_),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:i(()=>[zt]),_:1},8,["value"])):k("",!0)])):k("",!0)])]),_:1},8,["headers","data","file-list"]),P.value?(c(),y("div",It,[a(De,{value:D.value,"onUpdate:value":t[1]||(t[1]=_=>D.value=_),name:"radiogroup"},{default:i(()=>[a(Ie,null,{default:i(()=>[(c(!0),y(pe,null,de($.value,_=>(c(),O(ze,{key:_.value,value:_.value,label:_.label},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])):k("",!0),g.value?(c(),y("div",Dt,[a(Be,{value:R.value,"onUpdate:value":t[2]||(t[2]=_=>R.value=_),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":i(()=>[Y(" 创建链接 ")]),_:1},8,["value"])])):k("",!0)])):(c(),y("div",Bt,[Ut,J.value?k("",!0):(c(),y("div",Tt,[a(s,{strong:"",secondary:"",round:"",type:"primary",onClick:t[3]||(t[3]=_=>Q("signin"))},{default:i(()=>[Y(" 登录 ")]),_:1})])),J.value?(c(),y("div",Vt,[a(s,{strong:"",secondary:"",round:"",type:"primary",onClick:t[4]||(t[4]=_=>Q("signin"))},{default:i(()=>[Y(" 登录 ")]),_:1}),a(s,{strong:"",secondary:"",round:"",type:"info",onClick:t[5]||(t[5]=_=>Q("signup"))},{default:i(()=>[Y(" 注册 ")]),_:1})])):k("",!0)]))])}}});const Nt="data:image/png;base64,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",xt="/assets/discover-tweets-ba464531.jpeg",Rt="/assets/following-tweets-fab6741a.jpeg",qt={class:"slide-bar-item"},Gt={class:"slide-bar-item-title slide-bar-user-link"},Ot={key:1,class:"skeleton-wrap"},Pt={key:0,class:"empty-wrap"},Ft={key:1},Lt={key:2},Yt={class:"load-more-wrap"},St={class:"load-more-spinner"},Mt=_e({__name:"Home",setup(Z){const F="true".toLowerCase()==="true",b="true".toLowerCase()==="true",T=fe(),r=dt(),V=vt(),g=l(9),P=l(8),f=l([{title:"最新动态",style:1,username:"",avatar:Nt,show:!0},{title:"热门推荐",style:2,username:"",avatar:xt,show:!1},{title:"正在关注",style:3,username:"",avatar:Rt,show:!1},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0}]),R=l("泡泡广场"),E=l(!1),N=l(!1),m=l(1),I=l(""),p=l([]),h=l(1),C=l(20),D=l(0),q=l(!1),K=l({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),L=u=>{K.value=u,q.value=!0},J=()=>{q.value=!1},X=()=>{R.value="泡泡广场",r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?R.value="#"+decodeURIComponent(r.query.q):R.value="搜索: "+decodeURIComponent(r.query.q))},te=ce(()=>F&&b&&T.state.desktopModelShow&&T.state.userInfo.id>0),S=()=>{E.value=!1,N.value=!1,p.value=[],h.value=1,D.value=0},ae=(u,v)=>{switch(S(),m.value=u.style,r.query.q&&(r.query.q=null,X()),u.style){case 1:G();break;case 2:G();break;case 3:r.query.q=null,G();break;case 21:I.value=u.username,$();break}f.value[v].show=!1},W=()=>{f.value=f.value.slice(0,3),!(!F||!b||T.state.userInfo.id===0)&&Ge({page:1,page_size:50}).then(u=>{var v=0;const x=u.list||[];let w=[];for(;v0&&(f.value=f.value.concat(w))}).catch(u=>{console.log(u)})},G=()=>{E.value=!0,Oe({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:h.value,page_size:C.value}).then(u=>{E.value=!1,u.list.length===0&&(N.value=!0),h.value>1?p.value=p.value.concat(u.list):(p.value=u.list,window.scrollTo(0,0)),D.value=Math.ceil(u.pager.total_rows/C.value)}).catch(u=>{E.value=!1,h.value>1&&h.value--})},$=()=>{E.value=!0,Pe({username:I.value,style:"post",page:h.value,page_size:C.value}).then(u=>{E.value=!1,u.list.length===0&&(N.value=!0),h.value>1?p.value=p.value.concat(u.list):(p.value=u.list||[],window.scrollTo(0,0)),D.value=Math.ceil(u.pager.total_rows/C.value)}).catch(u=>{p.value=[],h.value>1&&h.value--,E.value=!1})},se=u=>{if(m.value!=1){V.push({name:"post",query:{id:u.id}});return}let v=[],x=p.value.length;x==C.value&&x--;for(var w=0;w{switch(m.value){case 1:G();break;case 2:G();break;case 3:G();break;case 21:r.query.q?G():$();break}},oe=()=>{h.value{S(),W(),G()}),Ne(()=>({path:r.path,query:r.query,refresh:T.state.refresh}),(u,v)=>{if(X(),u.refresh!==v.refresh){S(),setTimeout(()=>{W(),j()},0);return}v.path!=="/post"&&u.path==="/"&&(S(),setTimeout(()=>{W(),j()},0))}),(u,v)=>{const x=pt,w=Et,z=lt,ne=he,le=it,ie=rt,re=Ee,ue=ut,Q=Te,e=Ve,t=Ue,n=nt,o=ct,d=we;return c(),y("div",null,[a(x,{title:R.value},null,8,["title"]),a(n,{class:"main-content-wrap",bordered:""},{default:i(()=>[a(z,null,{default:i(()=>[a(w,{onPostSuccess:se})]),_:1}),te.value?(c(),O(z,{key:0},{default:i(()=>[a(U(_t),{modelValue:f.value,"onUpdate:modelValue":v[0]||(v[0]=s=>f.value=s),"wheel-blocks":P.value,"init-blocks":g.value,onClick:ae,tag:"div","sub-tag":"div"},{default:i(s=>[A("div",qt,[a(le,{value:"1",offset:[-4,48],dot:"",show:s.slotData.show},{default:i(()=>[a(ne,{round:"",size:48,src:s.slotData.avatar,class:"slide-bar-item-avatar"},null,8,["src"])]),_:2},1032,["show"]),A("div",Gt,[a(ie,{"line-clamp":2},{default:i(()=>[Y(ee(s.slotData.title),1)]),_:2},1024)])])]),_:1},8,["modelValue","wheel-blocks","init-blocks"])]),_:1})):k("",!0),E.value&&p.value.length===0?(c(),y("div",Ot,[a(re,{num:C.value},null,8,["num"])])):k("",!0),A("div",null,[p.value.length===0?(c(),y("div",Pt,[a(ue,{size:"large",description:"暂无数据"})])):k("",!0),U(T).state.desktopModelShow?(c(),y("div",Ft,[(c(!0),y(pe,null,de(p.value,s=>(c(),O(z,{key:s.id},{default:i(()=>[a(Q,{post:s,onSendWhisper:L},null,8,["post"])]),_:2},1024))),128))])):(c(),y("div",Lt,[(c(!0),y(pe,null,de(p.value,s=>(c(),O(z,{key:s.id},{default:i(()=>[a(e,{post:s,onSendWhisper:L},null,8,["post"])]),_:2},1024))),128))]))]),a(t,{show:q.value,user:K.value,onSuccess:J},null,8,["show","user"])]),_:1}),D.value>0?(c(),O(d,{key:0,justify:"center"},{default:i(()=>[a(U(mt),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:v[1]||(v[1]=s=>oe())},{spinner:i(()=>[A("div",Yt,[N.value?k("",!0):(c(),O(o,{key:0,size:14})),A("span",St,ee(N.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):k("",!0)])}}});const Ua=Fe(Mt,[["__scopeId","data-v-899c075b"]]);export{Ua as default}; diff --git a/web/dist/assets/Home-af58e3ca.css b/web/dist/assets/Home-af58e3ca.css deleted file mode 100644 index c761217c..00000000 --- a/web/dist/assets/Home-af58e3ca.css +++ /dev/null @@ -1 +0,0 @@ -.compose-wrap{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .text-statistic{margin-right:8px;width:20px;height:20px;transform:rotate(180deg)}.compose-wrap .link-wrap{margin-left:42px;margin-right:42px}.compose-wrap .eye-wrap{margin-left:64px}.compose-wrap .login-only-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-only-wrap button{margin:0 4px;width:50%}.compose-wrap .login-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button{margin:0 4px}.attachment-list-wrap{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail{overflow:hidden}.dark .compose-wrap{background-color:#101014bf}.tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-899c075b]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item[data-v-899c075b]{cursor:pointer}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-avatar[data-v-899c075b]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-899c075b]{color:#18a058;opacity:.8}.tiny-slide-bar[data-v-899c075b]{margin-top:-30px;margin-bottom:-30px}.tiny-slide-bar .slide-bar-item[data-v-899c075b]{min-height:170px;width:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:8px}.tiny-slide-bar .slide-bar-item .slide-bar-item-title[data-v-899c075b]{justify-content:center;font-size:12px;margin-top:4px;height:40px}.load-more[data-v-899c075b]{margin:20px}.load-more .load-more-wrap[data-v-899c075b]{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:14px}.load-more .load-more-wrap .load-more-spinner[data-v-899c075b]{font-size:14px;opacity:.65}.dark .main-content-wrap[data-v-899c075b],.dark .pagination-wrap[data-v-899c075b],.dark .empty-wrap[data-v-899c075b],.dark .skeleton-wrap[data-v-899c075b]{background-color:#101014bf}.dark .tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-899c075b]{color:#63e2b7;opacity:.8}.dark .tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-899c075b]{color:#63e2b7;opacity:.8} diff --git a/web/dist/assets/Messages-233de594.js b/web/dist/assets/Messages-233de594.js deleted file mode 100644 index 59c5f72e..00000000 --- a/web/dist/assets/Messages-233de594.js +++ /dev/null @@ -1 +0,0 @@ -import{d as D,c as N,r as J,e as t,f as r,k as s,w as a,bf as o,j as f,y as C,A as _,x as m,q as I,Y as i,l as K,h as H,u as T,F as U,H as v,b as Y}from"./@vue-a481fc63.js";import{u as G}from"./vuex-44de225f.js";import{u as X,b as Z}from"./vue-router-e5a2430e.js";import{E as x,M as ee,N as se,O as ne,_ as E,P as te}from"./index-f37b0729.js";import{J as L,i as ae,K as oe,N as re,O as Q,Q as ie,p as le}from"./@vicons-7a4ef312.js";import{j as d,o as ue,M as _e,l as pe,e as ce,O as de,S as me,L as ge,U as ve,F as fe,Q as ye,I as ke,G as he}from"./naive-ui-d8de3dda.js";import{_ as we}from"./whisper-41c78cd2.js";import{_ as $e}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const be={class:"sender-wrap"},Ce={key:0,class:"nickname"},Ie={class:"username"},Me={key:1,class:"nickname"},Se={class:"username"},ze={key:2,class:"nickname"},Oe={class:"timestamp"},Fe={class:"timestamp-txt"},Ne={key:0,class:"brief-content"},qe={key:1,class:"whisper-content-wrap"},Re={key:2,class:"requesting-friend-wrap"},Ae={key:2,class:"status-info"},Pe={key:3,class:"status-info"},We="https://assets.paopao.info/public/avatar/default/admin.png",je=D({__name:"message-item",props:{message:{}},emits:["send-whisper"],setup(q,{emit:y}){const p=q,c=X(),l=G(),k=e=>()=>H(d,null,{default:()=>H(e)}),h=N(()=>[{label:"私信",key:"whisper",icon:k(le)}]),w=e=>{switch(e){case"whisper":const n=p.message;if(n.type!=99){let $=n.type==4&&n.sender_user_id==l.state.userInfo.id?n.receiver_user:n.sender_user;y("send-whisper",$)}break}},g=N(()=>p.message.type!==4||p.message.sender_user_id!==l.state.userInfo.id),M=N(()=>p.message.type==4&&p.message.receiver_user_id==l.state.userInfo.id),S=N(()=>p.message.type==4&&p.message.sender_user_id==l.state.userInfo.id),R=e=>{u(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?c.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},z=e=>{u(e),ee({user_id:e.sender_user_id}).then(n=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(n=>{console.log(n)})},A=e=>{u(e),se({user_id:e.sender_user_id}).then(n=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(n=>{console.log(n)})},u=e=>{p.message.receiver_user_id==l.state.userInfo.id&&e.is_read===0&&ne({id:e.id}).then(n=>{e.is_read=1}).catch(n=>{console.log(n)})};return(e,n)=>{const $=ue,O=J("router-link"),b=_e,P=pe,W=ce,j=de,B=me,F=ge;return t(),r("div",{class:K(["message-item",{unread:g.value&&e.message.is_read===0}]),onClick:n[5]||(n[5]=V=>u(e.message))},[s(F,{"content-indented":""},{avatar:a(()=>[s($,{round:"",size:30,src:e.message.type==4&&e.message.sender_user_id==o(l).state.userInfo.id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:We},null,8,["src"])]),header:a(()=>[f("div",be,[e.message.type!=4&&e.message.sender_user.id>0||M.value?(t(),r("span",Ce,[s(O,{onClick:n[0]||(n[0]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.sender_user.username}}},{default:a(()=>[_(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),f("span",Ie," @"+m(e.message.sender_user.username),1)])):S.value?(t(),r("span",Me,[s(O,{onClick:n[1]||(n[1]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.receiver_user.username}}},{default:a(()=>[_(m(e.message.receiver_user.nickname),1)]),_:1},8,["to"]),f("span",Se," @"+m(e.message.receiver_user.username),1)])):(t(),r("span",ze," 系统 ")),e.message.type==4?(t(),I(b,{key:3,class:"top-tag",type:"success",size:"small",round:""},{default:a(()=>[_(" 私信 ")]),_:1})):i("",!0),S.value?(t(),I(b,{key:4,class:"top-tag",type:"info",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已发送 ")]),_:1})):i("",!0),e.message.type==4&&e.message.receiver_user_id==o(l).state.userInfo.id?(t(),I(b,{key:5,class:"top-tag",type:"warning",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已接收 ")]),_:1})):i("",!0)])]),"header-extra":a(()=>[f("span",Oe,[g.value&&e.message.is_read===0?(t(),I(P,{key:0,dot:"",processing:""})):i("",!0),f("span",Fe,m(o(x)(e.message.created_on)),1),s(j,{placement:"bottom-end",trigger:"click",size:"small",options:h.value,onSelect:w},{default:a(()=>[s(W,{quaternary:"",circle:""},{icon:a(()=>[s(o(d),null,{default:a(()=>[s(o(ae))]),_:1})]),_:1})]),_:1},8,["options"])])]),description:a(()=>[s(B,{"show-icon":!1,class:"brief-wrap",type:!g.value||e.message.is_read>0?"default":"success"},{default:a(()=>[e.message.type!=4?(t(),r("div",Ne,[_(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),r("span",{key:0,onClick:n[2]||(n[2]=C(V=>R(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(oe))]),_:1}),_(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(t(),r("div",qe,m(e.message.content),1)):i("",!0),e.message.type===5?(t(),r("div",Re,[_(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),r("span",{key:0,onClick:n[3]||(n[3]=C(V=>z(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(re))]),_:1}),_(" 同意 ")])):i("",!0),e.message.reply_id===1?(t(),r("span",{key:1,onClick:n[4]||(n[4]=C(V=>A(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(t(),r("span",Ae,[s(o(d),null,{default:a(()=>[s(o(ie))]),_:1}),_(" 已同意 ")])):i("",!0),e.message.reply_id===3?(t(),r("span",Pe,[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Be=E(je,[["__scopeId","data-v-2e510758"]]),Ve={class:"content"},De=D({__name:"message-skeleton",props:{num:{default:1}},setup(q){return(y,p)=>{const c=ve;return t(!0),r(U,null,T(new Array(y.num),l=>(t(),r("div",{class:"skeleton-item",key:l},[f("div",Ve,[s(c,{text:"",repeat:2}),s(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Ee=E(De,[["__scopeId","data-v-01d2e871"]]),He={key:0,class:"skeleton-wrap"},Le={key:1},Qe={key:0,class:"empty-wrap"},Te={key:0,class:"pagination-wrap"},Ue=D({__name:"Messages",setup(q){const y=Z(),p=G(),c=v(!1),l=v(+y.query.p||1),k=v(10),h=v(0),w=v([]),g=v(!1),M=v({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),S=u=>{M.value=u,g.value=!0},R=()=>{g.value=!1},z=()=>{c.value=!0,te({page:l.value,page_size:k.value}).then(u=>{c.value=!1,w.value=u.list,h.value=Math.ceil(u.pager.total_rows/k.value)}).catch(u=>{c.value=!1})},A=u=>{l.value=u,z()};return Y(()=>{z()}),(u,e)=>{const n=$e,$=we,O=Ee,b=ke,P=Be,W=he,j=fe,B=ye;return t(),r("div",null,[s(n,{title:"消息"}),s(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:a(()=>[s($,{show:g.value,user:M.value,onSuccess:R},null,8,["show","user"]),c.value?(t(),r("div",He,[s(O,{num:k.value},null,8,["num"])])):(t(),r("div",Le,[w.value.length===0?(t(),r("div",Qe,[s(b,{size:"large",description:"暂无数据"})])):i("",!0),(t(!0),r(U,null,T(w.value,F=>(t(),I(W,{key:F.id},{default:a(()=>[s(P,{message:F,onSendWhisper:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),h.value>0?(t(),r("div",Te,[s(B,{page:l.value,"onUpdate:page":A,"page-slot":o(p).state.collapsedRight?5:8,"page-count":h.value},null,8,["page","page-slot","page-count"])])):i("",!0)])}}});const fs=E(Ue,[["__scopeId","data-v-b40dcbaf"]]);export{fs as default}; diff --git a/web/dist/assets/Post-8a1f9102.js b/web/dist/assets/Post-8a1f9102.js deleted file mode 100644 index 7dfbb954..00000000 --- a/web/dist/assets/Post-8a1f9102.js +++ /dev/null @@ -1 +0,0 @@ -import{d as ee,H as c,r as ge,e as o,f as _,j as d,k as t,w as n,A as I,x as P,q as R,Y as u,bf as a,y as B,c as oe,al as Ve,F as re,u as _e,$ as Te,a0 as ze,b as Re,h as $e,E as Ye}from"./@vue-a481fc63.js";import{u as ne}from"./vuex-44de225f.js";import{f as pe,t as Je,h as Ke,i as We,_ as ae,j as Ge,k as Qe,l as Xe,m as Ze,g as et,n as tt,o as st,p as ot,q as nt,r as at,s as lt,u as it,v as ut,w as ct,x as rt,y as _t,z as Ce}from"./index-f37b0729.js";import{Y as de,V as G}from"./IEnum-5453a777.js";import{T as Ue,e as me,f as Se,g as ve,h as Le,I as pt,i as dt,j as mt,k as vt,l as ht,m as ft,n as gt,o as yt,p as kt,q as wt,r as bt,s as $t,t as xe,F as Ie,E as ie,u as ue,v as ce,w as Pe}from"./@vicons-7a4ef312.js";import{j as H,e as le,J as Oe,H as Ct,b as xt,K as It,o as ye,L as De,v as Pt,w as Tt,x as zt,y as Rt,z as Ut,B as St,M as Lt,O as Ot,i as Dt,P as At,a as Ae,F as Mt,I as Et,k as qt,G as Nt,f as Bt,g as jt}from"./naive-ui-d8de3dda.js";import{p as ke,_ as Me,a as Ft,b as Ht,c as Vt}from"./content-60b75b00.js";import{u as Ee,b as Yt}from"./vue-router-e5a2430e.js";import{_ as Jt}from"./post-skeleton-2ccfac69.js";import{l as Kt}from"./lodash-e0b37ac3.js";import{_ as Wt}from"./whisper-41c78cd2.js";import{c as Gt}from"./copy-to-clipboard-4ef7d3eb.js";import{_ as Qt}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{W as Xt}from"./v3-infinite-loading-2c58ec2f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";const Zt={class:"reply-item"},es={class:"header-wrap"},ts={class:"username"},ss={class:"reply-name"},os={class:"timestamp"},ns={class:"base-wrap"},as={class:"content"},ls={class:"reply-switch"},is={class:"time-item"},us={class:"actions"},cs={class:"upvote-count"},rs=["onClick"],_s={class:"upvote-count"},ps={key:2,class:"action-item"},ds=["onClick"],ms=ee({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(E,{emit:q}){const i=E,m=ne(),v=c(i.reply.is_thumbs_up==de.YES),k=c(i.reply.is_thumbs_down==de.YES),w=c(i.reply.thumbs_up_count),U=()=>{Je({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{v.value=!v.value,v.value?(w.value++,k.value=!1):w.value--}).catch(h=>{console.log(h)})},r=()=>{Ke({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{k.value=!k.value,k.value&&v.value&&(w.value--,v.value=!1)}).catch(h=>{console.log(h)})},S=()=>{q("focusReply",i.reply)},T=()=>{We({id:i.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{q("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const O=ge("router-link"),p=H,C=le,D=Oe,b=Ct;return o(),_("div",Zt,[d("div",es,[d("div",ts,[t(O,{class:"user-link",to:{name:"user",query:{s:i.reply.user.username}}},{default:n(()=>[I(P(i.reply.user.username),1)]),_:1},8,["to"]),d("span",ss,P(i.reply.at_user_id>0?"回复":":"),1),i.reply.at_user_id>0?(o(),R(O,{key:0,class:"user-link",to:{name:"user",query:{s:i.reply.at_user.username}}},{default:n(()=>[I(P(i.reply.at_user.username),1)]),_:1},8,["to"])):u("",!0)]),d("div",os,[I(P(i.reply.ip_loc)+" ",1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===i.reply.user.id?(o(),R(D,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(C,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(p,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),d("div",ns,[d("div",as,[t(b,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[I(P(i.reply.content),1)]),_:1})]),d("div",ls,[d("span",is,P(a(pe)(i.reply.created_on)),1),d("div",us,[a(m).state.userLogined?u("",!0):(o(),_("div",{key:0,class:"action-item",onClick:$[0]||($[0]=B(()=>{},["stop"]))},[t(p,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",cs,P(w.value),1)])),a(m).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(U,["stop"])},[t(p,{size:"medium"},{default:n(()=>[v.value?u("",!0):(o(),R(a(me),{key:0})),v.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",_s,P(w.value>0?w.value:"赞"),1)],8,rs)):u("",!0),a(m).state.userLogined?u("",!0):(o(),_("div",ps,[t(p,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(m).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(r,["stop"])},[t(p,{size:"medium"},{default:n(()=>[k.value?u("",!0):(o(),R(a(ve),{key:0})),k.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,ds)):u("",!0),a(m).state.userLogined?(o(),_("span",{key:4,class:"show opacity-item reply-btn",onClick:S}," 回复 ")):u("",!0)])])])])}}});const vs=ae(ms,[["__scopeId","data-v-187a4ed3"]]),hs={class:"reply-compose-wrap"},fs={class:"reply-switch"},gs={class:"time-item"},ys={class:"actions"},ks={key:0,class:"action-item"},ws={class:"upvote-count"},bs=["onClick"],$s={class:"upvote-count"},Cs={key:2,class:"action-item"},xs=["onClick"],Is={key:0,class:"reply-input-wrap"},Ps=ee({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(E,{expose:q,emit:i}){const m=E,v=ne(),k=c(),w=c(!1),U=c(""),r=c(!1),S=+"300",T=c(m.comment.is_thumbs_up==de.YES),h=c(m.comment.is_thumbs_down==de.YES),$=c(m.comment.thumbs_up_count),O=()=>{Ge({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(b=>{console.log(b)})},p=()=>{Qe({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(b=>{console.log(b)})},C=b=>{w.value=b,b?setTimeout(()=>{var A;(A=k.value)==null||A.focus()},10):(r.value=!1,U.value="",i("reset"))},D=()=>{r.value=!0,Xe({comment_id:m.comment.id,at_user_id:m.atUserid,content:U.value}).then(b=>{C(!1),window.$message.success("评论成功"),i("reload")}).catch(b=>{r.value=!1})};return q({switchReply:C}),(b,A)=>{const s=H,g=xt,F=le,z=It;return o(),_("div",hs,[d("div",fs,[d("span",gs,P(a(pe)(b.comment.created_on)),1),d("div",ys,[a(v).state.userLogined?u("",!0):(o(),_("div",ks,[t(s,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",ws,P($.value),1)])),a(v).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(O,["stop"])},[t(s,{size:"medium"},{default:n(()=>[T.value?u("",!0):(o(),R(a(me),{key:0})),T.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",$s,P($.value>0?$.value:"赞"),1)],8,bs)):u("",!0),a(v).state.userLogined?u("",!0):(o(),_("div",Cs,[t(s,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(v).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(p,["stop"])},[t(s,{size:"medium"},{default:n(()=>[h.value?u("",!0):(o(),R(a(ve),{key:0})),h.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,xs)):u("",!0),a(v).state.userLogined&&!w.value?(o(),_("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=L=>C(!0))}," 回复 ")):u("",!0),a(v).state.userLogined&&w.value?(o(),_("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=L=>C(!1))}," 取消 ")):u("",!0)])]),w.value?(o(),_("div",Is,[t(z,null,{default:n(()=>[t(g,{ref_key:"inputInstRef",ref:k,size:"small",placeholder:m.atUsername?"@"+m.atUsername:"请输入回复内容..",maxlength:a(S),value:U.value,"onUpdate:value":A[2]||(A[2]=L=>U.value=L),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(F,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:D},{default:n(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):u("",!0)])}}});const Ts=ae(Ps,[["__scopeId","data-v-f9af7a93"]]),zs={class:"comment-item"},Rs={class:"nickname-wrap"},Us={class:"username-wrap"},Ss={class:"opt-wrap"},Ls={class:"timestamp"},Os=["innerHTML"],Ds={class:"reply-wrap"},As=ee({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m=ne(),v=Ee(),k=c(0),w=c(""),U=c(),r=oe(()=>{let p=Object.assign({texts:[],imgs:[]},i.comment);return p.contents.map(C=>{(+C.type==1||+C.type==2)&&p.texts.push(C),+C.type==3&&p.imgs.push(C)}),p}),S=(p,C)=>{let D=p.target;if(D.dataset.detail){const b=D.dataset.detail.split(":");b.length===2&&(m.commit("refresh"),b[0]==="tag"?window.$message.warning("评论内的无效话题"):v.push({name:"user",query:{s:b[1]}}))}},T=p=>{var C,D;k.value=p.user_id,w.value=((C=p.user)==null?void 0:C.username)||"",(D=U.value)==null||D.switchReply(!0)},h=()=>{q("reload")},$=()=>{k.value=0,w.value=""},O=()=>{Ze({id:r.value.id}).then(p=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(p=>{})};return(p,C)=>{const D=ye,b=ge("router-link"),A=H,s=le,g=Oe,F=Me,z=Ts,L=vs,J=De;return o(),_("div",zs,[t(J,{"content-indented":""},Ve({avatar:n(()=>[t(D,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",Rs,[t(b,{onClick:C[0]||(C[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:r.value.user.username}}},{default:n(()=>[I(P(r.value.user.nickname),1)]),_:1},8,["to"])]),d("span",Us," @"+P(r.value.user.username),1)]),"header-extra":n(()=>[d("div",Ss,[d("span",Ls,P(r.value.ip_loc),1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===r.value.user.id?(o(),R(g,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:O},{trigger:n(()=>[t(s,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),R(F,{key:0,imgs:r.value.imgs},null,8,["imgs"])):u("",!0),t(z,{ref_key:"replyComposeRef",ref:U,comment:r.value,"at-userid":k.value,"at-username":w.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),d("div",Ds,[(o(!0),_(re,null,_e(r.value.replies,j=>(o(),R(L,{key:j.id,reply:j,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),_(re,null,_e(r.value.texts,j=>(o(),_("span",{key:j.id,class:"comment-text",onClick:C[1]||(C[1]=B(V=>S(V,r.value.id),["stop"])),innerHTML:a(ke)(j.content).content},null,8,Os))),128))]),key:"0"}:void 0]),1024)])}}});const Ms=ae(As,[["__scopeId","data-v-36dac8c8"]]),Es=E=>(Te("data-v-d9073453"),E=E(),ze(),E),qs={key:0,class:"compose-wrap"},Ns={class:"compose-line"},Bs={class:"compose-user"},js={class:"compose-line compose-options"},Fs={class:"attachment"},Hs={class:"submit-wrap"},Vs={class:"attachment-list-wrap"},Ys={key:1,class:"compose-wrap"},Js=Es(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ks={key:0,class:"login-only-wrap"},Ws={key:1,class:"login-wrap"},Gs=ee({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(E,{emit:q}){const i=E,m=ne(),v=c([]),k=c(!1),w=c(!1),U=c(!1),r=c(""),S=c(),T=c("public/image"),h=c([]),$=c([]),O=c("true".toLowerCase()==="true"),p=+"300",C="/v1/attachment",D=oe(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),b=Kt.debounce(f=>{et({k:f}).then(y=>{let x=[];y.suggest.map(e=>{x.push({label:e,value:e})}),v.value=x,w.value=!1}).catch(y=>{w.value=!1})},200),A=(f,y)=>{w.value||(w.value=!0,y==="@"&&b(f))},s=f=>{f.length>p?r.value=f.substring(0,p):r.value=f},g=f=>{T.value=f},F=f=>{for(let l=0;l30&&(f[l].name=x.substring(0,18)+"..."+x.substring(x.length-9)+"."+e)}h.value=f},z=async f=>{var y,x;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((y=f.file.file)==null?void 0:y.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((x=f.file.file)==null?void 0:x.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},L=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);e.code===0&&T.value==="public/image"&&$.value.push({id:f.id,content:e.data.content})}catch{window.$message.error("上传失败")}},J=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);if(e.code!==0){let l=e.msg||"上传失败";e.details&&e.details.length>0&&e.details.map(M=>{l+=":"+M}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},j=({file:f})=>{let y=$.value.findIndex(x=>x.id===f.id);y>-1&&$.value.splice(y,1)},V=()=>{k.value=!0},Q=()=>{var f;k.value=!1,(f=S.value)==null||f.clear(),h.value=[],r.value="",$.value=[]},K=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=ke(r.value);const y=[];let x=100;y.push({content:r.value,type:2,sort:x}),$.value.map(e=>{x++,y.push({content:e.content,type:3,sort:x})}),U.value=!0,tt({contents:y,post_id:i.postId,users:Array.from(new Set(f))}).then(e=>{window.$message.success("发布成功"),U.value=!1,q("post-success"),Q()}).catch(e=>{U.value=!1})},Y=f=>{m.commit("triggerAuth",!0),m.commit("triggerAuthKey",f)};return(f,y)=>{const x=ye,e=Pt,l=H,M=le,X=Tt,te=zt,he=Rt,fe=Ut,W=St;return o(),_("div",null,[a(m).state.userInfo.id>0?(o(),_("div",qs,[d("div",Ns,[d("div",Bs,[t(x,{round:"",size:30,src:a(m).state.userInfo.avatar},null,8,["src"])]),t(e,{type:"textarea",size:"large",autosize:"",bordered:!1,options:v.value,prefix:["@"],loading:w.value,value:r.value,disabled:i.lock===1,"onUpdate:value":s,onSearch:A,onFocus:V,placeholder:i.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),k.value?(o(),R(W,{key:0,ref_key:"uploadRef",ref:S,abstract:"","list-type":"image",multiple:!0,max:9,action:C,headers:{Authorization:D.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:z,onFinish:L,onError:J,onRemove:j,"onUpdate:fileList":F},{default:n(()=>[d("div",js,[d("div",Fs,[t(X,{abstract:""},{default:n(({handleClick:Z})=>[t(M,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{g("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(l,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(pt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(he,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(te,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(p)*100},null,8,["percentage"])]),default:n(()=>[I(" "+P(r.value.length)+" / "+P(a(p)),1)]),_:1})]),d("div",Hs,[t(M,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:Q},{default:n(()=>[I(" 取消 ")]),_:1}),t(M,{loading:U.value,onClick:K,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",Vs,[t(fe)])]),_:1},8,["headers","data","file-list"])):u("",!0)])):(o(),_("div",Ys,[Js,O.value?u("",!0):(o(),_("div",Ks,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1})])),O.value?(o(),_("div",Ws,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1}),t(M,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=Z=>Y("signup"))},{default:n(()=>[I(" 注册 ")]),_:1})])):u("",!0)]))])}}});const Qs=ae(Gs,[["__scopeId","data-v-d9073453"]]),Xs={class:"username-wrap"},Zs={class:"options"},eo={key:0},to=["innerHTML"],so={class:"timestamp"},oo={key:0},no={key:1},ao={class:"opts-wrap"},lo=["onClick"],io={class:"opt-item"},uo=["onClick"],co=["onClick"],ro=ee({__name:"post-detail",props:{post:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m="true".toLowerCase()==="true",v=ne(),k=Ee(),w=c(!1),U=c(!1),r=c(!1),S=c(!1),T=c(!1),h=c(!1),$=c(!1),O=c(!1),p=c(G.PUBLIC),C=c(!1),D=c({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),b=e=>{D.value=e,C.value=!0},A=()=>{C.value=!1},s=oe({get:()=>{let e=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},i.post);return e.contents.map(l=>{(+l.type==1||+l.type==2)&&e.texts.push(l),+l.type==3&&e.imgs.push(l),+l.type==4&&e.videos.push(l),+l.type==6&&e.links.push(l),+l.type==7&&e.attachments.push(l),+l.type==8&&e.charge_attachments.push(l)}),e},set:e=>{i.post.upvote_count=e.upvote_count,i.post.comment_count=e.comment_count,i.post.collection_count=e.collection_count,i.post.is_essence=e.is_essence}}),g=e=>()=>$e(H,null,{default:()=>$e(e)}),F=oe(()=>{var M;let e=[];if(!v.state.userInfo.is_admin&&v.state.userInfo.id!=i.post.user.id)return e.push({label:"私信",key:"whisper",icon:g(kt)}),e;e.push({label:"删除",key:"delete",icon:g(wt)}),s.value.is_lock===0?e.push({label:"锁定",key:"lock",icon:g(bt)}):e.push({label:"解锁",key:"unlock",icon:g($t)}),v.state.userInfo.is_admin&&(s.value.is_top===0?e.push({label:"置顶",key:"stick",icon:g(xe)}):e.push({label:"取消置顶",key:"unstick",icon:g(xe)})),s.value.is_essence===0?e.push({label:"设为亮点",key:"highlight",icon:g(Ie)}):e.push({label:"取消亮点",key:"unhighlight",icon:g(Ie)});let l;return s.value.visibility===G.PUBLIC?l={label:"公开",key:"vpublic",icon:g(ie),children:[{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:s.value.visibility===G.PRIVATE?l={label:"私密",key:"vprivate",icon:g(ue),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:m&&s.value.visibility===G.FRIEND?l={label:"好友可见",key:"vfriend",icon:g(Pe),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:l={label:"关注可见",key:"vfollowing",icon:g(ce),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)}]},m&&s.value.visibility!==G.FRIEND&&((M=l.children)==null||M.push({label:"好友可见",key:"vfriend",icon:g(Pe)})),e.push(l),e}),z=e=>{k.push({name:"post",query:{id:e}})},L=(e,l)=>{if(e.target.dataset.detail){const M=e.target.dataset.detail.split(":");if(M.length===2){v.commit("refresh"),M[0]==="tag"?k.push({name:"home",query:{q:M[1],t:"tag"}}):k.push({name:"user",query:{s:M[1]}});return}}z(l)},J=e=>{switch(e){case"whisper":b(i.post.user);break;case"delete":r.value=!0;break;case"lock":case"unlock":S.value=!0;break;case"stick":case"unstick":T.value=!0;break;case"highlight":case"unhighlight":h.value=!0;break;case"vpublic":p.value=0,$.value=!0;break;case"vprivate":p.value=1,$.value=!0;break;case"vfriend":p.value=2,$.value=!0;break;case"vfollowing":p.value=3,$.value=!0;break}},j=()=>{nt({id:s.value.id}).then(e=>{window.$message.success("删除成功"),k.replace("/"),setTimeout(()=>{v.commit("refresh")},50)}).catch(e=>{O.value=!1})},V=()=>{at({id:s.value.id}).then(e=>{q("reload"),e.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(e=>{O.value=!1})},Q=()=>{lt({id:s.value.id}).then(e=>{q("reload"),e.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(e=>{O.value=!1})},K=()=>{it({id:s.value.id}).then(e=>{s.value={...s.value,is_essence:e.highlight_status},e.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(e=>{O.value=!1})},Y=()=>{let e=p.value;e==3&&(e=0),ut({id:s.value.id,visibility:e}).then(l=>{q("reload"),window.$message.success("修改可见性成功")}).catch(l=>{O.value=!1})},f=()=>{ct({id:s.value.id}).then(e=>{w.value=e.status,e.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(e=>{console.log(e)})},y=()=>{rt({id:s.value.id}).then(e=>{U.value=e.status,e.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(e=>{console.log(e)})},x=()=>{Gt(`${window.location.origin}/#/post?id=${s.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板")};return Re(()=>{v.state.userInfo.id>0&&(st({id:s.value.id}).then(e=>{w.value=e.status}).catch(e=>{console.log(e)}),ot({id:s.value.id}).then(e=>{U.value=e.status}).catch(e=>{console.log(e)}))}),(e,l)=>{const M=ye,X=ge("router-link"),te=Lt,he=le,fe=Ot,W=Dt,Z=Wt,we=Ft,qe=Me,Ne=Ht,Be=Vt,be=At,je=Ae,Fe=De;return o(),_("div",{class:"detail-item",onClick:l[7]||(l[7]=N=>z(s.value.id))},[t(Fe,null,{avatar:n(()=>[t(M,{round:"",size:30,src:s.value.user.avatar},null,8,["src"])]),header:n(()=>[t(X,{onClick:l[0]||(l[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:s.value.user.username}}},{default:n(()=>[I(P(s.value.user.nickname),1)]),_:1},8,["to"]),d("span",Xs," @"+P(s.value.user.username),1),s.value.is_top?(o(),R(te,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[I(" 置顶 ")]),_:1})):u("",!0),s.value.visibility==a(G).PRIVATE?(o(),R(te,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[I(" 私密 ")]),_:1})):u("",!0),s.value.visibility==a(G).FRIEND?(o(),R(te,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[I(" 好友可见 ")]),_:1})):u("",!0)]),"header-extra":n(()=>[d("div",Zs,[t(fe,{placement:"bottom-end",trigger:"click",size:"small",options:F.value,onSelect:J},{default:n(()=>[t(he,{quaternary:"",circle:""},{icon:n(()=>[t(a(H),null,{default:n(()=>[t(a(dt))]),_:1})]),_:1})]),_:1},8,["options"])]),t(W,{show:r.value,"onUpdate:show":l[1]||(l[1]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show"]),t(W,{show:S.value,"onUpdate:show":l[2]||(l[2]=N=>S.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),t(W,{show:T.value,"onUpdate:show":l[3]||(l[3]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"]),t(W,{show:h.value,"onUpdate:show":l[4]||(l[4]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(s.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),t(W,{show:$.value,"onUpdate:show":l[5]||(l[5]=N=>$.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(p.value==0?"公开":p.value==1?"私密":p.value==2?"好友可见":"关注可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(Z,{show:C.value,user:D.value,onSuccess:A},null,8,["show","user"])]),footer:n(()=>[t(we,{attachments:s.value.attachments},null,8,["attachments"]),t(we,{attachments:s.value.charge_attachments,price:s.value.attachment_price},null,8,["attachments","price"]),t(qe,{imgs:s.value.imgs},null,8,["imgs"]),t(Ne,{videos:s.value.videos,full:!0},null,8,["videos"]),t(Be,{links:s.value.links},null,8,["links"]),d("div",so,[I(" 发布于 "+P(a(pe)(s.value.created_on))+" ",1),s.value.ip_loc?(o(),_("span",oo,[t(be,{vertical:""}),I(" "+P(s.value.ip_loc),1)])):u("",!0),!a(v).state.collapsedLeft&&s.value.created_on!=s.value.latest_replied_on?(o(),_("span",no,[t(be,{vertical:""}),I(" 最后回复 "+P(a(pe)(s.value.latest_replied_on)),1)])):u("",!0)])]),action:n(()=>[d("div",ao,[t(je,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(f,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?u("",!0):(o(),R(a(mt),{key:0})),w.value?(o(),R(a(vt),{key:1,color:"red"})):u("",!0)]),_:1}),I(" "+P(s.value.upvote_count),1)],8,lo),d("div",io,[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(ht))]),_:1}),I(" "+P(s.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(y,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[U.value?u("",!0):(o(),R(a(ft),{key:0})),U.value?(o(),R(a(gt),{key:1,color:"#ff7600"})):u("",!0)]),_:1}),I(" "+P(s.value.collection_count),1)],8,uo),d("div",{class:"opt-item hover",onClick:B(x,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(yt))]),_:1}),I(" "+P(s.value.share_count),1)],8,co)]),_:1})])]),default:n(()=>[s.value.texts.length>0?(o(),_("div",eo,[(o(!0),_(re,null,_e(s.value.texts,N=>(o(),_("span",{key:N.id,class:"post-text",onClick:l[6]||(l[6]=B(He=>L(He,s.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,to))),128))])):u("",!0)]),_:1})])}}});const _o=E=>(Te("data-v-0d01659f"),E=E(),ze(),E),po={key:0,class:"detail-wrap"},mo={key:1,class:"empty-wrap"},vo={key:0,class:"comment-opts-wrap"},ho=_o(()=>d("span",{class:"comment-title-item"},"评论",-1)),fo={key:2},go={key:0,class:"skeleton-wrap"},yo={key:1},ko={key:0,class:"empty-wrap"},wo={key:0,class:"load-more-spinner"},bo={key:1,class:"load-more-spinner"},$o={key:2,class:"load-more-spinner"},Co={key:3,class:"load-more-spinner"},se=20,xo=ee({__name:"Post",setup(E){const q=Yt(),i=c({}),m=c(!1),v=c(!1),k=c([]),w=oe(()=>+q.query.id),U=c("default"),r=c(!0);let S={loading(){},loaded(){},complete(){},error(){}};const T=z=>{U.value=z,z==="default"&&(r.value=!0),g(S)},h=()=>{i.value={id:0},m.value=!0,_t({id:w.value}).then(z=>{m.value=!1,i.value=z,g(S)}).catch(z=>{m.value=!1})};let $=1;const O=c(!1),p=c([]),C=z=>{O.value||Ce({id:i.value.id,sort_strategy:"default",page:$,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&($===1?p.value=L.list:p.value.push(...L.list),k.value=p.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})};let D=1,b=c(!1);const A=c([]),s=z=>{b.value||Ce({id:i.value.id,sort_strategy:"newest",page:D,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&(D===1?A.value=L.list:A.value.push(...L.list),k.value=A.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})},g=z=>{w.value<1||(k.value.length===0&&(v.value=!0),U.value==="default"?(k.value=p.value,C(z)):(k.value=A.value,s(z)),v.value=!1)},F=()=>{$=1,O.value=!1,p.value=[],D=1,b.value=!1,A.value=[],g(S)};return Re(()=>{h()}),Ye(w,()=>{w.value>0&&q.name==="post"&&h()}),(z,L)=>{const J=Qt,j=ro,V=Et,Q=qt,K=Nt,Y=Bt,f=jt,y=Qs,x=Jt,e=Ms,l=Ae,M=Mt;return o(),_("div",null,[t(J,{title:"泡泡详情",back:!0}),t(M,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(K,null,{default:n(()=>[t(Q,{show:m.value},{default:n(()=>[i.value.id>1?(o(),_("div",po,[t(j,{post:i.value,onReload:h},null,8,["post"])])):(o(),_("div",mo,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),i.value.id>0?(o(),_("div",vo,[t(f,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[ho]),default:n(()=>[t(Y,{name:"default",tab:"默认"}),t(Y,{name:"newest",tab:"最新"})]),_:1})])):u("",!0),i.value.id>0?(o(),R(K,{key:1},{default:n(()=>[t(y,{lock:i.value.is_lock,"post-id":i.value.id,onPostSuccess:F},null,8,["lock","post-id"])]),_:1})):u("",!0),i.value.id>0?(o(),_("div",fo,[v.value?(o(),_("div",go,[t(x,{num:5})])):(o(),_("div",yo,[k.value.length===0?(o(),_("div",ko,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):u("",!0),(o(!0),_(re,null,_e(k.value,X=>(o(),R(K,{key:X.id},{default:n(()=>[t(e,{comment:X,onReload:F},null,8,["comment"])]),_:2},1024))),128))]))])):u("",!0),k.value.length>=se?(o(),R(l,{key:3,justify:"center"},{default:n(()=>[t(a(Xt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:g},{spinner:n(()=>[r.value&&O.value?(o(),_("span",wo)):u("",!0),!r.value&&a(b)?(o(),_("span",bo)):u("",!0),r.value&&!O.value?(o(),_("span",$o,"加载评论")):u("",!0),!r.value&&!a(b)?(o(),_("span",Co,"加载评论")):u("",!0)]),_:1})]),_:1})):u("",!0)]),_:1})])}}});const an=ae(xo,[["__scopeId","data-v-0d01659f"]]);export{an as default}; diff --git a/web/dist/assets/Profile-2f783d8e.js b/web/dist/assets/Profile-2f783d8e.js deleted file mode 100644 index c5478adb..00000000 --- a/web/dist/assets/Profile-2f783d8e.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as fe}from"./whisper-41c78cd2.js";import{_ as he,a as ge}from"./post-item.vue_vue_type_style_index_0_lang-75f1af94.js";import{_ as ke}from"./post-skeleton-2ccfac69.js";import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{d as we,H as n,b as be,E as Pe,r as Ie,f as o,k as u,bf as _,q as d,w as c,Y as m,e,j as f,x as I,A as E,y as ae,F as y,u as w}from"./@vue-a481fc63.js";import{u as Te}from"./vuex-44de225f.js";import{b as Me}from"./vue-router-e5a2430e.js";import{e as x,F as ze,_ as qe}from"./index-f37b0729.js";import{W as xe}from"./v3-infinite-loading-2c58ec2f.js";import{F as Se,a as $e,o as Ce,M as Le,f as Be,g as Fe,I as Ne,k as Ve,G as De}from"./naive-ui-d8de3dda.js";import"./content-60b75b00.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"profile-baseinfo"},We={class:"avatar"},je={class:"base-info"},Ee={class:"username"},He={class:"userinfo"},Re={class:"info-item"},Ae={class:"info-item"},Ge={class:"userinfo"},Ye={class:"info-item"},Je={class:"info-item"},Ke={key:0,class:"skeleton-wrap"},Oe={key:1},Qe={key:0,class:"empty-wrap"},Xe={key:1},Ze={key:0},ea={key:1},aa={key:2},ta={key:3},sa={key:4},la={key:2},oa={key:0},na={key:1},ua={key:2},ia={key:3},ra={key:4},ca={class:"load-more-wrap"},va={class:"load-more-spinner"},_a=we({__name:"Profile",setup(ma){const i=Te(),T=Me(),v=n(!1),b=n(!1),s=n([]),S=n([]),$=n([]),C=n([]),L=n([]),B=n([]),p=n("post"),H=n(+T.query.p||1),R=n(1),A=n(1),G=n(1),Y=n(1),t=n(+T.query.p||1),h=n(20),r=n(0),J=n(0),K=n(0),O=n(0),Q=n(0),X=n(0),F=n(!1),Z=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),g=a=>{Z.value=a,F.value=!0},te=()=>{F.value=!1},N=()=>{switch(p.value){case"post":V();break;case"comment":D();break;case"highlight":U();break;case"media":W();break;case"star":j();break}},V=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"post",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),S.value=s.value,J.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},D=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"comment",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),$.value=s.value,K.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},U=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"highlight",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),C.value=s.value,O.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},W=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"media",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),L.value=s.value,Q.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},j=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"star",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),B.value=s.value,X.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},se=a=>{switch(p.value=a,p.value){case"post":s.value=S.value,t.value=H.value,r.value=J.value,V();break;case"comment":s.value=$.value,t.value=R.value,r.value=K.value,D();break;case"highlight":s.value=C.value,t.value=A.value,r.value=O.value,U();break;case"media":s.value=L.value,t.value=G.value,r.value=Q.value,W();break;case"star":s.value=B.value,t.value=Y.value,r.value=X.value,j();break}},le=()=>{switch(p.value){case"post":H.value=t.value,V();break;case"comment":R.value=t.value,D();break;case"highlight":A.value=t.value,U();break;case"media":G.value=t.value,W();break;case"star":Y.value=t.value,j();break}},oe=()=>{t.value{N()}),Pe(()=>({path:T.path,query:T.query,refresh:i.state.refresh}),(a,P)=>{if(a.refresh!==P.refresh){t.value=+T.query.p||1,setTimeout(()=>{N()},0);return}P.path!=="/post"&&a.path==="/profile"&&(t.value=+T.query.p||1,setTimeout(()=>{N()},0))}),(a,P)=>{const ne=ye,ue=Ce,ie=Le,ee=Ie("router-link"),M=Be,re=Fe,ce=ke,ve=Ne,z=he,k=De,q=ge,_e=fe,me=Se,pe=Ve,de=$e;return e(),o("div",null,[u(ne,{title:"主页"}),_(i).state.userInfo.id>0?(e(),d(me,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:c(()=>[f("div",Ue,[f("div",We,[u(ue,{size:72,src:_(i).state.userInfo.avatar},null,8,["src"])]),f("div",je,[f("div",Ee,[f("strong",null,I(_(i).state.userInfo.nickname),1),f("span",null," @"+I(_(i).state.userInfo.username),1),_(i).state.userInfo.is_admin?(e(),d(ie,{key:0,class:"top-tag",type:"error",size:"small",round:""},{default:c(()=>[E(" 管理员 ")]),_:1})):m("",!0)]),f("div",He,[f("span",Re,"UID. "+I(_(i).state.userInfo.id),1),f("span",Ae,I(_(ze)(_(i).state.userInfo.created_on))+" 加入",1)]),f("div",Ge,[f("span",Ye,[u(ee,{onClick:P[0]||(P[0]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"follows"}}},{default:c(()=>[E(" 关注  "+I(_(i).state.userInfo.follows),1)]),_:1},8,["to"])]),f("span",Je,[u(ee,{onClick:P[1]||(P[1]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"followings"}}},{default:c(()=>[E(" 粉丝  "+I(_(i).state.userInfo.followings),1)]),_:1},8,["to"])])])])]),u(re,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:c(()=>[u(M,{name:"post",tab:"泡泡"}),u(M,{name:"comment",tab:"评论"}),u(M,{name:"highlight",tab:"亮点"}),u(M,{name:"media",tab:"图文"}),u(M,{name:"star",tab:"喜欢"})]),_:1}),v.value&&s.value.length===0?(e(),o("div",Ke,[u(ce,{num:h.value},null,8,["num"])])):(e(),o("div",Oe,[s.value.length===0?(e(),o("div",Qe,[u(ve,{size:"large",description:"暂无数据"})])):m("",!0),_(i).state.desktopModelShow?(e(),o("div",Xe,[p.value==="post"?(e(),o("div",Ze,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",ea,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",aa,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ta,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",sa,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)])):(e(),o("div",la,[p.value==="post"?(e(),o("div",oa,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",na,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",ua,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ia,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",ra,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)]))])),u(_e,{show:F.value,user:Z.value,onSuccess:te},null,8,["show","user"])]),_:1})):m("",!0),r.value>0?(e(),d(de,{key:1,justify:"center"},{default:c(()=>[u(_(xe),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:P[2]||(P[2]=l=>oe())},{spinner:c(()=>[f("div",ca,[b.value?m("",!0):(e(),d(pe,{key:0,size:14})),f("span",va,I(b.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):m("",!0)])}}});const Ga=qe(_a,[["__scopeId","data-v-756dadd0"]]);export{Ga as default}; diff --git a/web/dist/assets/Setting-481cc2c3.js b/web/dist/assets/Setting-481cc2c3.js deleted file mode 100644 index bc18e6ec..00000000 --- a/web/dist/assets/Setting-481cc2c3.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{d as ye,H as d,R as Q,b as ke,f as g,k as t,w as s,q as b,Y as _,e as r,j as m,bf as u,A as p,x as R,O as be,D as Ce,Z as q,y as A,$ as Ie,a0 as $e}from"./@vue-a481fc63.js";import{u as Pe}from"./vuex-44de225f.js";import{a0 as X,a1 as Se,a2 as Ue,a3 as Re,a4 as qe,a5 as Ae,a6 as Be,_ as Ne}from"./index-f37b0729.js";import{Y as ze}from"./@vicons-7a4ef312.js";import{h as Ke,o as xe,e as De,B as Fe,b as je,j as Oe,S as Te,$ as Ve,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-d8de3dda.js";import"./vue-router-e5a2430e.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const j=B=>(Ie("data-v-a681720e"),B=B(),$e(),B),Ye={class:"base-line avatar"},Ge={class:"base-line"},He=j(()=>m("span",{class:"base-label"},"昵称",-1)),Je={key:0},Ze={class:"base-line"},Qe=j(()=>m("span",{class:"base-label"},"用户名",-1)),Xe={key:0},et={key:1},tt=j(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=j(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},pt={class:"captcha-img-wrap"},ct={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(B){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),N=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),z=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),S=d(!1),U=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),H=d(),J=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return N.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):N.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&N.value==="public/avatar"&&Se({avatar:f.data.content}).then(c=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(c=>{console.log(c)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=J.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=H.value)==null||e.validate(v=>{v||(x.value=!0,Ue({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(z.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{z.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{z.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&T()}))})},O=()=>{X().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},T=()=>{X().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},pe=()=>{Ae({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},ce=()=>{if(!(I.value>0&&U.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Be({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{U.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,U.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&O(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),O(),T()}),(n,e)=>{const v=we,f=xe,c=De,D=Fe,h=je,ge=Oe,F=Ke,Z=Te,w=Ve,he=Ee,V=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:N.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(c,{size:"small"},{default:s(()=>[p("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[He,C.value?_("",!0):(r(),g("div",Je,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:pe,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(c,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(ze))]),_:1})]),_:1})):_("",!0)]),m("div",Ze,[Qe,p(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Xe,[p(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[p(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Z,{title:"手机绑定提示",type:"warning"},{default:s(()=>[p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:O},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(c,{type:"primary",ghost:"",disabled:U.value,loading:P.value,onClick:ce},{default:s(()=>[p(R(I.value>0&&U.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",lt,[t(c,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ue},{default:s(()=>[p(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[p(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[p(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Z,{title:"激活码激活提示",type:"warning"},{default:s(()=>[p(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",pt,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",ct,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:T},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",mt,[t(c,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[p(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[p(" 您已设置密码 "),S.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[p(" 重置密码 ")]),_:1})),S.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:H,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:J,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",ft,[t(c,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[p(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=Ne(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Topic-e0ae155d.js b/web/dist/assets/Topic-e0ae155d.js deleted file mode 100644 index ae2f4261..00000000 --- a/web/dist/assets/Topic-e0ae155d.js +++ /dev/null @@ -1 +0,0 @@ -import{A as $,B as M,C as O,D as x,_ as z}from"./index-f37b0729.js";import{x as D}from"./@vicons-7a4ef312.js";import{d as F,H as i,c as A,b as q,r as U,e as c,f as _,k as n,w as s,q as b,A as B,x as f,Y as u,bf as h,E as j,al as H,F as Y,u as G}from"./@vue-a481fc63.js";import{o as J,M as C,j as K,e as P,O as Q,L as R,F as W,f as X,g as Z,a as ee,k as oe}from"./naive-ui-d8de3dda.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{u as ne}from"./vuex-44de225f.js";import"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=F({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=A(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":O({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":M({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return q(()=>{r.value=!1}),(e,o)=>{const w=U("router-link"),g=J,k=C,a=K,d=P,v=Q,p=R;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[B(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(D))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=F({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);j(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=A({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,x({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return q(()=>{g()}),(a,d)=>{const v=te,p=X,L=C,V=Z,N=ie,S=ee,E=oe,I=W;return c(),_("div",null,[n(v,{title:"话题"}),n(I,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(V,{type:"line",animated:"","onUpdate:value":k},H({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(L,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[B(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(E,{show:l.value},{default:s(()=>[n(S,null,{default:s(()=>[(c(!0),_(Y,null,G(r.value,y=>(c(),b(N,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Se=z(_e,[["__scopeId","data-v-1fb31ecf"]]);export{Se as default}; diff --git a/web/dist/assets/User-cab97cbb.js b/web/dist/assets/User-cab97cbb.js deleted file mode 100644 index 5fe459db..00000000 --- a/web/dist/assets/User-cab97cbb.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as Re,a as He}from"./post-item.vue_vue_type_style_index_0_lang-75f1af94.js";import{_ as Ne}from"./post-skeleton-2ccfac69.js";import{_ as Ve}from"./whisper-41c78cd2.js";import{_ as je}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{d as pe,H as i,e as s,q as m,w as r,j as f,k as t,A as U,x,R as Ge,c as Ee,b as Je,E as Ke,r as Ye,f as u,Y as d,bf as k,y as ce,F as $,u as T,h as _e}from"./@vue-a481fc63.js";import{u as Qe}from"./vuex-44de225f.js";import{b as Xe}from"./vue-router-e5a2430e.js";import{G as Ze,_ as me,H as ea,F as aa,e as V,I as sa,J as ta,K as la,L as na}from"./index-f37b0729.js";import{R as oa,H as ua,S as ia,b as ra,e as fe,i as ca,T as _a,F as va,a as da,j as ve,o as pa,M as ma,O as fa,k as ha,f as ga,g as wa,I as ka,G as ya}from"./naive-ui-d8de3dda.js";import{W as ba}from"./v3-infinite-loading-2c58ec2f.js";import{i as Pa,p as $a,y as de,z as Ta,v as xa,D as za,G as Ua}from"./@vicons-7a4ef312.js";import"./content-60b75b00.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Fa={class:"whisper-wrap"},Ia={class:"whisper-line"},qa={class:"whisper-line send-wrap"},Ca=pe({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(ue,{emit:O}){const y=ue,g=i(""),F=i(!1),c=()=>{O("success")},h=()=>{F.value=!0,Ze({user_id:y.user.id,greetings:g.value}).then(a=>{window.$message.success("发送成功"),F.value=!1,g.value="",c()}).catch(a=>{F.value=!1})};return(a,v)=>{const L=oa,A=ua,l=ia,I=ra,q=fe,C=ca;return s(),m(C,{show:a.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:r(()=>[f("div",Fa,[t(l,{"show-icon":!1},{default:r(()=>[U(" 发送添加朋友申请给: "),t(A,{style:{"max-width":"100%"}},{default:r(()=>[t(L,{type:"success"},{default:r(()=>[U(x(a.user.nickname)+"@"+x(a.user.username),1)]),_:1})]),_:1})]),_:1}),f("div",Ia,[t(I,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:g.value,"onUpdate:value":v[0]||(v[0]=M=>g.value=M),maxlength:"120","show-count":""},null,8,["value"])]),f("div",qa,[t(q,{strong:"",secondary:"",type:"primary",loading:F.value,onClick:h},{default:r(()=>[U(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ma=me(Ca,[["__scopeId","data-v-60be56a2"]]),Sa={key:0,class:"profile-baseinfo"},Wa={class:"avatar"},La={class:"base-info"},Oa={class:"username"},Aa={class:"userinfo"},Ba={class:"info-item"},Da={class:"info-item"},Ra={class:"userinfo"},Ha={class:"info-item"},Na={class:"info-item"},Va={key:0,class:"user-opts"},ja={key:0,class:"skeleton-wrap"},Ga={key:1},Ea={key:0,class:"empty-wrap"},Ja={key:1},Ka={key:0},Ya={key:1},Qa={key:2},Xa={key:3},Za={key:4},es={key:2},as={key:0},ss={key:1},ts={key:2},ls={key:3},ns={key:4},os={class:"load-more-wrap"},us={class:"load-more-spinner"},is=pe({__name:"User",setup(ue){const O=_a(),y=Qe(),g=Xe(),F="true".toLowerCase()==="true",c=i(!1),h=i(!1),a=Ge({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),v=i(!1),L=i(!1),A=i(!1),l=i([]),I=i([]),q=i([]),C=i([]),M=i([]),B=i([]),S=i(g.query.s||""),n=i(+g.query.p||1),p=i("post"),G=i(+g.query.p||1),E=i(1),J=i(1),K=i(1),Y=i(1),w=i(20),_=i(0),Q=i(0),X=i(0),Z=i(0),ee=i(0),ae=i(0),b=e=>{a.id=e.id,a.username=e.username,a.nickname=e.nickname,a.avatar=e.avatar,L.value=!0},he=()=>{h.value=!1,l.value=[],I.value=[],q.value=[],C.value=[],M.value=[],B.value=[],p.value="post",n.value=1,G.value=1,E.value=1,J.value=1,K.value=1,Y.value=1,_.value=0,Q.value=0,X.value=0,Z.value=0,ee.value=0,ae.value=0},ge=()=>{switch(p.value){case"post":j();break;case"comment":se();break;case"highlight":te();break;case"media":le();break;case"star":ne();break}},j=()=>{c.value=!0,V({username:S.value,style:"post",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),I.value=l.value,Q.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},se=()=>{c.value=!0,V({username:S.value,style:"comment",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),q.value=l.value,X.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},te=()=>{c.value=!0,V({username:S.value,style:"highlight",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),C.value=l.value,Z.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},le=()=>{c.value=!0,V({username:S.value,style:"media",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),M.value=l.value,ee.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},ne=()=>{c.value=!0,V({username:S.value,style:"star",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),B.value=l.value,ae.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},we=e=>{switch(p.value=e,p.value){case"post":l.value=I.value,n.value=G.value,_.value=Q.value,j();break;case"comment":l.value=q.value,n.value=E.value,_.value=X.value,se();break;case"highlight":l.value=C.value,n.value=J.value,_.value=Z.value,te();break;case"media":l.value=M.value,n.value=K.value,_.value=ee.value,le();break;case"star":l.value=B.value,n.value=Y.value,_.value=ae.value,ne();break}},D=()=>{v.value=!0,ea({username:S.value}).then(e=>{v.value=!1,a.id=e.id,a.avatar=e.avatar,a.username=e.username,a.nickname=e.nickname,a.is_admin=e.is_admin,a.is_friend=e.is_friend,a.created_on=e.created_on,a.is_following=e.is_following,a.follows=e.follows,a.followings=e.followings,a.status=e.status,ge()}).catch(e=>{v.value=!1,console.log(e)})},ke=()=>{switch(p.value){case"post":G.value=n.value,j();break;case"comment":E.value=n.value,se();break;case"highlight":J.value=n.value,te();break;case"media":K.value=n.value,le();break;case"star":Y.value=n.value,ne();break}},ye=()=>{L.value=!0},be=()=>{A.value=!0},Pe=()=>{L.value=!1},$e=()=>{A.value=!1},W=e=>()=>_e(ve,null,{default:()=>_e(e)}),Te=Ee(()=>{let e=[{label:"私信",key:"whisper",icon:W($a)}];return y.state.userInfo.is_admin&&(a.status===1?e.push({label:"禁言",key:"banned",icon:W(de)}):e.push({label:"解封",key:"deblocking",icon:W(de)})),a.is_following?e.push({label:"取消关注",key:"unfollow",icon:W(Ta)}):e.push({label:"关注",key:"follow",icon:W(xa)}),F&&(a.is_friend?e.push({label:"删除好友",key:"delete",icon:W(za)}):e.push({label:"添加朋友",key:"requesting",icon:W(Ua)})),e}),xe=e=>{switch(e){case"whisper":ye();break;case"delete":ze();break;case"requesting":be();break;case"follow":case"unfollow":Ue();break;case"banned":case"deblocking":Fe();break}},ze=()=>{O.warning({title:"删除好友",content:"将好友 “"+a.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,sa({user_id:a.id}).then(e=>{v.value=!1,a.is_friend=!1,j()}).catch(e=>{v.value=!1,console.log(e)})}})},Ue=()=>{O.success({title:"提示",content:"确定"+(a.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,a.is_following?ta({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("取消关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)}):la({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Fe=()=>{O.warning({title:"警告",content:"确定对该用户进行"+(a.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,na({id:a.id,status:a.status===1?2:1}).then(e=>{v.value=!1,a.status===1?window.$message.success("禁言成功"):window.$message.success("解封成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Ie=()=>{n.value<_.value||_.value==0?(h.value=!1,n.value++,ke()):h.value=!0};return Je(()=>{D()}),Ke(()=>({path:g.path,query:g.query}),(e,z)=>{z.path==="/u"&&e.path==="/u"&&(S.value=g.query.s||"",he(),D())}),(e,z)=>{const qe=je,Ce=pa,oe=ma,ie=Ye("router-link"),Me=fe,Se=fa,We=Ve,re=ha,R=ga,Le=wa,Oe=Ne,Ae=ka,H=Re,P=ya,N=He,Be=va,De=da;return s(),u("div",null,[t(qe,{title:"用户详情"}),t(Be,{class:"main-content-wrap profile-wrap",bordered:""},{default:r(()=>[t(re,{show:v.value},{default:r(()=>[a.id>0?(s(),u("div",Sa,[f("div",Wa,[t(Ce,{size:72,src:a.avatar},null,8,["src"])]),f("div",La,[f("div",Oa,[f("strong",null,x(a.nickname),1),f("span",null," @"+x(a.username),1),F&&k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_friend?(s(),m(oe,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:r(()=>[U(" 好友 ")]),_:1})):d("",!0),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_following?(s(),m(oe,{key:1,class:"top-tag",type:"success",size:"small",round:""},{default:r(()=>[U(" 已关注 ")]),_:1})):d("",!0),a.is_admin?(s(),m(oe,{key:2,class:"top-tag",type:"error",size:"small",round:""},{default:r(()=>[U(" 管理员 ")]),_:1})):d("",!0)]),f("div",Aa,[f("span",Ba,"UID. "+x(a.id),1),f("span",Da,x(k(aa)(a.created_on))+" 加入",1)]),f("div",Ra,[f("span",Ha,[t(ie,{onClick:z[0]||(z[0]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"follows"}}},{default:r(()=>[U(" 关注  "+x(a.follows),1)]),_:1},8,["to"])]),f("span",Na,[t(ie,{onClick:z[1]||(z[1]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"followings"}}},{default:r(()=>[U(" 粉丝  "+x(a.followings),1)]),_:1},8,["to"])])])]),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username?(s(),u("div",Va,[t(Se,{placement:"bottom-end",trigger:"click",size:"small",options:Te.value,onSelect:xe},{default:r(()=>[t(Me,{quaternary:"",circle:""},{icon:r(()=>[t(k(ve),null,{default:r(()=>[t(k(Pa))]),_:1})]),_:1})]),_:1},8,["options"])])):d("",!0)])):d("",!0),t(We,{show:L.value,user:a,onSuccess:Pe},null,8,["show","user"]),t(Ma,{show:A.value,user:a,onSuccess:$e},null,8,["show","user"])]),_:1},8,["show"]),t(Le,{class:"profile-tabs-wrap",type:"line",animated:"",value:p.value,"onUpdate:value":we},{default:r(()=>[t(R,{name:"post",tab:"泡泡"}),t(R,{name:"comment",tab:"评论"}),t(R,{name:"highlight",tab:"亮点"}),t(R,{name:"media",tab:"图文"}),t(R,{name:"star",tab:"喜欢"})]),_:1},8,["value"]),c.value&&l.value.length===0?(s(),u("div",ja,[t(Oe,{num:w.value},null,8,["num"])])):(s(),u("div",Ga,[l.value.length===0?(s(),u("div",Ea,[t(Ae,{size:"large",description:"暂无数据"})])):d("",!0),k(y).state.desktopModelShow?(s(),u("div",Ja,[p.value==="post"?(s(),u("div",Ka,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",Ya,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",Qa,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",Xa,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",Za,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)])):(s(),u("div",es,[p.value==="post"?(s(),u("div",as,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",ss,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",ts,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",ls,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",ns,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)]))]))]),_:1}),_.value>0?(s(),m(De,{key:0,justify:"center"},{default:r(()=>[t(k(ba),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:z[2]||(z[2]=o=>Ie())},{spinner:r(()=>[f("div",os,[h.value?d("",!0):(s(),m(re,{key:0,size:14})),f("span",us,x(h.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):d("",!0)])}}});const Rs=me(is,[["__scopeId","data-v-ebc19734"]]);export{Rs as default}; diff --git a/web/dist/assets/Wallet-3f9754c9.js b/web/dist/assets/Wallet-3f9754c9.js deleted file mode 100644 index 8492d998..00000000 --- a/web/dist/assets/Wallet-3f9754c9.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as G}from"./post-skeleton-2ccfac69.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js";import{d as K,H as c,b as J,f as _,k as e,w as o,e as a,bf as y,Y as w,j as n,A as k,F as q,u as z,O as ee,D as te,x as r,q as N,l as oe,y as ne,$ as ae,a0 as se}from"./@vue-a481fc63.js";import{u as le}from"./vuex-44de225f.js";import{b as ce}from"./vue-router-e5a2430e.js";import{b as ie}from"./qrcode-9719fc56.js";import{X as _e,Y as re,Z as ue,$ as pe,E as de,_ as me}from"./index-f37b0729.js";import{X as ge}from"./@vicons-7a4ef312.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,Q as be,I as xe,j as Ce,l as Ie,h as Se,G as Ae}from"./naive-ui-d8de3dda.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const B=m=>(ae("data-v-870bd246"),m=m(),se(),m),Re={class:"balance-wrap"},$e={class:"balance-line"},qe={class:"balance-opts"},ze={key:0,class:"pagination-wrap"},Ne={key:0,class:"skeleton-wrap"},Be={key:1},Ee={key:0,class:"empty-wrap"},Fe={class:"bill-line"},Oe={key:0,class:"amount-options"},Pe={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},We=B(()=>n("canvas",{id:"qrcode-container"},null,-1)),De={class:"pay-tips"},Le={class:"pay-sub-tips"},Ue=B(()=>n("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ve=K({__name:"Wallet",setup(m){const i=le(),E=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+E.query.p||1),C=c(20),I=c(0),F=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),A=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},O=s=>{x.value=s,A()},R=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),A()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},P=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",R())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},W=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{R()}),(s,l)=>{const S=H,d=fe,D=ye,f=we,$=ke,L=be,U=G,V=xe,M=Ae,Y=ve,j=Ce,Q=Ie,X=Se,Z=he;return a(),_("div",null,[e(S,{title:"钱包"}),e(Y,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(a(),_("div",ze,[e(L,{page:x.value,"onUpdate:page":O,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[n("div",Re,[n("div",$e,[e(D,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),n("div",qe,[e($,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:P},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:W},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(a(),_("div",Ne,[e(U,{num:C.value},null,8,["num"])])):(a(),_("div",Be,[b.value.length===0?(a(),_("div",Ee,[e(V,{size:"large",description:"暂无数据"})])):w("",!0),(a(!0),_(q,null,z(b.value,t=>(a(),N(M,{key:t.id},{default:o(()=>[n("div",Fe,[n("div",null,"NO."+r(t.id),1),n("div",null,r(t.reason),1),n("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),n("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(Z,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(X,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(a(),_("div",Oe,[e($,{align:"baseline"},{default:o(()=>[(a(!0),_(q,null,z(F.value,t=>(a(),N(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ne(Me=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(a(),_("div",Pe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(n("div",Te,[We,n("div",De," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),n("div",Le,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ue])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const ft=me(Ve,[["__scopeId","data-v-870bd246"]]);export{ft as default}; diff --git a/web/dist/assets/content-60b75b00.js b/web/dist/assets/content-60b75b00.js deleted file mode 100644 index 746bc831..00000000 --- a/web/dist/assets/content-60b75b00.js +++ /dev/null @@ -1 +0,0 @@ -import{d as h,e,f as r,F as a,u as m,k as s,w as o,bf as c,j as C,y as k,x as I,q as d,Y as g,H as j,A as N,h as b}from"./@vue-a481fc63.js";import{R as V,U as T}from"./@vicons-7a4ef312.js";import{j as $,V as A,W as B,m as U,X as z,e as F,i as L}from"./naive-ui-d8de3dda.js";import{_ as D,S as R,T as M}from"./index-f37b0729.js";import{e as O}from"./paopao-video-player-2fe58954.js";const P={class:"link-wrap"},S={class:"link-txt-wrap"},q=["href"],H={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",P,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(V))]),_:1}),C("div",S,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",H,I(n.content),1)],8,q)])]))),128))])}}});const ot=D(W,[["__scopeId","data-v-36eef76b"]]),X={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=A,n=B;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(O),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=U,_=A,f=B,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},G=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),R({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{M({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=F,i=L;return e(),r("div",Z,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(T))]),_:1})]),default:o(()=>[N(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=D(G,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; diff --git a/web/dist/assets/discover-tweets-ba464531.jpeg b/web/dist/assets/discover-tweets-ba464531.jpeg deleted file mode 100644 index 405daa0b3d994d4ed29cf38e400bd3f0980108c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20042 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

YzAd*7Fa79Mo5v(Ixj9mF-b0C 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 KClK<-)c*lrvG6Vc diff --git a/web/dist/assets/index-f37b0729.js b/web/dist/assets/index-f37b0729.js deleted file mode 100644 index 33698ee0..00000000 --- a/web/dist/assets/index-f37b0729.js +++ /dev/null @@ -1 +0,0 @@ -import{d as Y,H as k,R as oe,b as Z,e as w,q as K,w as a,j as y,k as s,f as E,A as U,Z as q,y as N,Y as M,bf as f,c as J,E as Q,r as me,F as se,u as ne,x as A,h as P,a5 as Pe,s as re,l as Oe,ag as Le}from"./@vue-a481fc63.js";import{c as Te,a as Ae,u as pe,b as Ee}from"./vue-router-e5a2430e.js";import{c as Ie,u as B}from"./vuex-44de225f.js";import{a as Re}from"./axios-4a70c6fc.js";import{_ as Ce,N as $e,a as _e,b as he,c as Me,d as Se,e as ge,f as Ue,g as De,h as fe,i as xe,j as W,k as qe,u as Ne,l as Ke,m as Fe,n as Ve,o as ze,p as He,q as We,r as Ye,s as Be,t as je}from"./naive-ui-d8de3dda.js";import{h as D}from"./moment-2ab8298d.js";import{S as Ge,M as Qe,L as Ze,C as Je,B as Xe,P as et,W as tt,a as ot,H as ae,b as le,c as ue}from"./@vicons-7a4ef312.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))c(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function r(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function c(i){if(i.ep)return;i.ep=!0;const n=r(i);fetch(i.href,n)}})();const st="modulepreload",nt=function(e){return"/"+e},ie={},T=function(t,r,c){if(!r||r.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(r.map(n=>{if(n=nt(n),n in ie)return;ie[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!c)for(let b=i.length-1;b>=0;b--){const _=i[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":st,m||(v.as="script",v.crossOrigin=""),v.href=n,document.head.appendChild(v),m)return new Promise((b,_)=>{v.addEventListener("load",b),v.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},rt=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>T(()=>import("./Home-05450a09.js"),["assets/Home-05450a09.js","assets/whisper-41c78cd2.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js","assets/content-60b75b00.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/IEnum-5453a777.js","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/@opentiny-d73a2d67.js","assets/vue-1e3b54ec.js","assets/xss-a5544f63.js","assets/cssfilter-af71ba68.js","assets/@opentiny-0f942bd4.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Home-af58e3ca.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"泡泡详情"},component:()=>T(()=>import("./Post-8a1f9102.js"),["assets/Post-8a1f9102.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/IEnum-5453a777.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-60b75b00.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vue-router-e5a2430e.js","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/@babel-725317a4.js","assets/whisper-41c78cd2.js","assets/whisper-61451957.css","assets/copy-to-clipboard-4ef7d3eb.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Post-1ac7281c.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>T(()=>import("./Topic-e0ae155d.js"),["assets/Topic-e0ae155d.js","assets/@vicons-7a4ef312.js","assets/@vue-a481fc63.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Topic-384e019e.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>T(()=>import("./Anouncement-970e82a0.js"),["assets/Anouncement-970e82a0.js","assets/post-skeleton-2ccfac69.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>T(()=>import("./Profile-2f783d8e.js"),["assets/Profile-2f783d8e.js","assets/whisper-41c78cd2.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js","assets/content-60b75b00.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Profile-3ffb7be9.css","assets/vfonts-7afd136d.css"])},{path:"/u",name:"user",meta:{title:"用户详情"},component:()=>T(()=>import("./User-cab97cbb.js"),["assets/User-cab97cbb.js","assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js","assets/content-60b75b00.js","assets/@vue-a481fc63.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/whisper-41c78cd2.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/User-b21ba7c9.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>T(()=>import("./Messages-233de594.js"),["assets/Messages-233de594.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-41c78cd2.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Messages-3c6066fb.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>T(()=>import("./Collection-fe5a70c8.js"),["assets/Collection-fe5a70c8.js","assets/whisper-41c78cd2.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js","assets/content-60b75b00.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Collection-5c3a44e2.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>T(()=>import("./Contacts-daebe967.js"),["assets/Contacts-daebe967.js","assets/whisper-41c78cd2.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/@vicons-7a4ef312.js","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Contacts-7fa3e0d6.css","assets/vfonts-7afd136d.css"])},{path:"/following",name:"following",meta:{title:"关注"},component:()=>T(()=>import("./Following-0f4690d5.js"),["assets/Following-0f4690d5.js","assets/whisper-41c78cd2.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/post-skeleton-2ccfac69.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Following-6aa7d36c.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>T(()=>import("./Wallet-3f9754c9.js"),["assets/Wallet-3f9754c9.js","assets/post-skeleton-2ccfac69.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>T(()=>import("./Setting-481cc2c3.js"),["assets/Setting-481cc2c3.js","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>T(()=>import("./404-ee86e1a1.js"),["assets/404-ee86e1a1.js","assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],ve=Te({history:Ae(),routes:rt});ve.beforeEach((e,t,r)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,r()});const at=Ie({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:"",created_on:0,follows:0,followings:0,is_admin:!1}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:"",created_on:0,follows:0,followings:0,is_admin:!1},e.userLogined=!1}},actions:{},modules:{}}),X=Re.create({baseURL:"",timeout:3e4});X.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));X.interceptors.response.use(e=>{const{data:t={},code:r=0}=(e==null?void 0:e.data)||{};if(+r==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var r;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((r=t==null?void 0:t.data)==null?void 0:r.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return X(e)}const ce=e=>o({method:"post",url:"/v1/auth/login",data:e}),lt=e=>o({method:"post",url:"/v1/auth/register",data:e}),G=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),ut={class:"auth-wrap"},it={key:0},ct=Y({__name:"auth",setup(e){const t=k("true".toLowerCase()==="true"),r=B(),c=k(!1),i=k(),n=oe({username:"",password:""}),m=k(),d=oe({username:"",password:"",repassword:""}),S={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},v=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=i.value)==null||u.validate(I=>{I||(c.value=!0,ce({username:n.username,password:n.password}).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("登录成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),r.commit("refresh"),n.username="",n.password=""}).catch(h=>{c.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(I=>{I||(c.value=!0,lt({username:d.username,password:d.password}).then(h=>ce({username:d.username,password:d.password})).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("注册成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(h=>{c.value=!1}))})};return Z(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?G(_).then(u=>{r.commit("updateUserinfo",u),r.commit("triggerAuth",!1)}).catch(u=>{r.commit("userLogout")}):r.commit("userLogout")}),(_,u)=>{const I=Ce,h=$e,R=_e,C=he,O=Me,x=Se,l=ge,L=Ue,F=De,H=fe,V=xe;return w(),K(V,{show:f(r).state.authModalShow,"onUpdate:show":u[7]||(u[7]=p=>f(r).state.authModalShow=p),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[y("div",ut,[s(H,{bordered:!1},{default:a(()=>[t.value?M("",!0):(w(),E("div",it,[s(R,{justify:"center"},{default:a(()=>[s(h,null,{default:a(()=>[s(I,{type:"success"},{default:a(()=>[U("账号登录")]),_:1})]),_:1})]),_:1}),s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[0]||(u[0]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])])),t.value?(w(),K(F,{key:1,"default-value":f(r).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(L,{name:"signin",tab:"登录"},{default:a(()=>[s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[2]||(u[2]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(L,{name:"signup",tab:"注册"},{default:a(()=>[s(x,{ref_key:"registerRef",ref:m,model:d,rules:S},{default:a(()=>[s(O,{label:"用户名",path:"username"},{default:a(()=>[s(C,{value:d.username,"onUpdate:value":u[4]||(u[4]=p=>d.username=p),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=p=>d.password=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"重复密码",path:"repassword"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=p=>d.repassword=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:b},{default:a(()=>[U(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const we=(e,t)=>{const r=e.__vccOpts||e;for(const[c,i]of t)r[c]=i;return r},dt=we(ct,[["__scopeId","data-v-053dfa44"]]),io=e=>o({method:"get",url:"/v1/posts",params:e}),mt=e=>o({method:"get",url:"/v1/tags",params:e}),co=e=>o({method:"get",url:"/v1/post",params:e}),mo=e=>o({method:"get",url:"/v1/post/star",params:e}),po=e=>o({method:"post",url:"/v1/post/star",data:e}),_o=e=>o({method:"get",url:"/v1/post/collection",params:e}),ho=e=>o({method:"post",url:"/v1/post/collection",data:e}),go=e=>o({method:"get",url:"/v1/post/comments",params:e}),fo=e=>o({method:"get",url:"/v1/user/contacts",params:e}),vo=e=>o({method:"post",url:"/v1/post",data:e}),wo=e=>o({method:"delete",url:"/v1/post",data:e}),yo=e=>o({method:"post",url:"/v1/post/lock",data:e}),bo=e=>o({method:"post",url:"/v1/post/stick",data:e}),ko=e=>o({method:"post",url:"/v1/post/highlight",data:e}),Po=e=>o({method:"post",url:"/v1/post/visibility",data:e}),Oo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),Lo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),To=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),Ao=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),Eo=e=>o({method:"post",url:"/v1/post/comment",data:e}),Io=e=>o({method:"delete",url:"/v1/post/comment",data:e}),Ro=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),Co=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),$o=e=>o({method:"post",url:"/v1/topic/stick",data:e}),Mo=e=>o({method:"post",url:"/v1/topic/follow",data:e}),So=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),Uo=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Do=e=>o({method:"post",url:"/v1/captcha",data:e}),xo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),qo=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),No=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ko=e=>o({method:"post",url:"/v1/user/follow",data:e}),Fo=e=>o({method:"post",url:"/v1/user/unfollow",data:e}),Vo=e=>o({method:"get",url:"/v1/user/follows",params:e}),zo=e=>o({method:"get",url:"/v1/user/followings",params:e}),Ho=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Wo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Yo=e=>o({method:"post",url:"/v1/user/phone",data:e}),Bo=e=>o({method:"post",url:"/v1/user/activate",data:e}),jo=e=>o({method:"post",url:"/v1/user/password",data:e}),Go=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Qo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),de=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Zo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Jo=e=>o({method:"post",url:"/v1/user/message/read",data:e}),Xo=e=>o({method:"get",url:"/v1/user/collections",params:e}),es=e=>o({method:"get",url:"/v1/user/profile",params:e}),ts=e=>o({method:"get",url:"/v1/user/posts",params:e}),os=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),ss=e=>o({method:"post",url:"/v1/user/recharge",data:e}),ns=e=>o({method:"get",url:"/v1/user/recharge",params:e}),rs=e=>o({method:"get",url:"/v1/suggest/users",params:e}),as=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),ls=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),us=e=>o({method:"get",url:"/v1/attachment",params:e}),is=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),pt=()=>o({method:"get",url:"/v1/admin/site/status"});D.locale("zh-cn");const _t=e=>D.unix(e).fromNow(),cs=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()},ds=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD"):t.fromNow()},ms=e=>D.unix(e).utc(!0).format("YYYY年MM月"),ht={key:0,class:"rightbar-wrap"},gt={class:"search-wrap"},ft={class:"post-num"},vt={class:"post-num"},wt={class:"copyright"},yt=["href"],bt=["href"],kt={class:"site-info-item"},Pt=Y({__name:"rightbar",setup(e){const t=k([]),r=k([]),c=k(!1),i=k(""),n=B(),m=pe(),d=k(0),S=k(0),v=k(0),b=k(0),_=k(null),u="2023 paopao.info",I="Roc's Me",h="",R="泡泡(PaoPao)开源社区",C="https://www.paopao.info",O=+"6",x=+"12",l=()=>{pt().then(g=>{d.value=g.register_user_count,S.value=g.online_user_count,v.value=g.history_max_online,b.value=g.server_up_time}).catch(g=>{}),p.disconnect()},L=()=>{c.value=!0,mt({type:"hot_extral",num:x,extral_num:O}).then(g=>{t.value=g.topics,r.value=g.extral_topics??[],V.value=!0,c.value=!1}).catch(g=>{c.value=!1})},F=g=>g>=1e3?(g/1e3).toFixed(1)+"k":g,H=()=>{m.push({name:"home",query:{q:i.value}})},V=J({get:()=>n.state.userLogined&&r.value.length!==0,set:g=>{}});Q(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(g,z)=>{(g.refreshTopicFollow!==z.refreshTopicFollow||g.userLogined)&&L(),n.state.userInfo.is_admin&&l()});const p=new IntersectionObserver(g=>{g.forEach(z=>{z.isIntersecting&&l()})},{root:null,rootMargin:"0px",threshold:1});return Z(()=>{_.value&&p.observe(_.value),L()}),(g,z)=>{const ye=W,be=he,ee=me("router-link"),te=qe,j=fe,ke=_e;return f(n).state.collapsedRight?M("",!0):(w(),E("div",ht,[y("div",gt,[s(be,{round:"",clearable:"",placeholder:"搜一搜...",value:i.value,"onUpdate:value":z[0]||(z[0]=$=>i.value=$),onKeyup:q(N(H,["prevent"]),["enter"])},{prefix:a(()=>[s(ye,{component:f(Ge)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),V.value?(w(),K(j,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(r.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",ft,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(j,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(t.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",vt,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(j,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[y("div",wt,"© "+A(f(u)),1),y("div",null,[s(ke,null,{default:a(()=>[y("a",{href:f(h),target:"_blank",class:"hash-link"},A(f(I)),9,yt),y("a",{href:f(C),target:"_blank",class:"hash-link"},A(f(R)),9,bt)]),_:1})])]),_:1}),f(n).state.userInfo.is_admin?(w(),E("div",{key:1,class:"site-info",ref_key:"userInfoElement",ref:_},[y("span",kt,A(d.value)+" 注册用户,"+A(S.value)+" 人在线,最高在线 "+A(v.value)+" 人,站点上线于 "+A(f(_t)(b.value)),1)],512)):M("",!0)]))}}});const Ot=we(Pt,[["__scopeId","data-v-0a6cd0b6"]]),Lt="/assets/logo-52afee68.png",Tt={class:"sidebar-wrap"},At={class:"logo-wrap"},Et={key:0,class:"user-wrap"},It={class:"user-info"},Rt={class:"nickname"},Ct={class:"nickname-txt"},$t={class:"username"},Mt={class:"user-mini-wrap"},St={key:1,class:"user-wrap"},Ut={key:0,class:"login-only-wrap"},Dt={key:1,class:"login-wrap"},xt=Y({__name:"sidebar",setup(e){const t=B(),r=Ee(),c=pe(),i=k(!1),n=k(r.name||""),m=k(),d="true".toLowerCase()==="true",S="false".toLowerCase()==="true",v="false".toLocaleLowerCase()==="true",b=k("true".toLowerCase()==="true"),_=+"5000";Q(r,()=>{n.value=r.name}),Q(t.state,()=>{t.state.userInfo.id>0?m.value||(de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)}),m.value=setInterval(()=>{de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)})},_)):m.value&&clearInterval(m.value)}),Z(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const u=J(()=>{const l=[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}];return S&&l.push({label:"公告",key:"anouncement",icon:()=>P(Qe),href:"/anouncement"}),l.push({label:"主页",key:"profile",icon:()=>P(Ze),href:"/profile"}),l.push({label:"消息",key:"messages",icon:()=>P(Je),href:"/messages"}),l.push({label:"收藏",key:"collection",icon:()=>P(Xe),href:"/collection"}),d&&l.push({label:"好友",key:"contacts",icon:()=>P(et),href:"/contacts"}),v&&l.push({label:"钱包",key:"wallet",icon:()=>P(tt),href:"/wallet"}),l.push({label:"设置",key:"setting",icon:()=>P(ot),href:"/setting"}),t.state.userInfo.id>0?l:[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}]}),I=l=>"href"in l?P("div",{},l.label):l.label,h=l=>l.key==="messages"?P(Ke,{dot:!0,show:i.value,processing:!0},{default:()=>P(W,{color:l.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:l.icon})}):P(W,null,{default:l.icon}),R=(l,L={})=>{n.value=l,c.push({name:l,query:{t:new Date().getTime()}})},C=()=>{r.path==="/"&&t.commit("refresh"),R("home")},O=l=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",l)},x=()=>{t.commit("userLogout"),t.commit("refresh"),C()};return window.$store=t,window.$message=Ne(),(l,L)=>{const F=Fe,H=Ve,V=ze,p=ge;return w(),E("div",Tt,[y("div",At,[s(F,{class:"logo-img",width:"36",src:f(Lt),"preview-disabled":!0,onClick:C},null,8,["src"])]),s(H,{accordion:!0,"icon-size":24,options:u.value,"render-label":I,"render-icon":h,value:n.value,"onUpdate:value":R},null,8,["options","value"]),f(t).state.userInfo.id>0?(w(),E("div",Et,[s(V,{class:"user-avatar",round:"",size:34,src:f(t).state.userInfo.avatar},null,8,["src"]),y("div",It,[y("div",Rt,[y("span",Ct,A(f(t).state.userInfo.nickname),1),s(p,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:x},{icon:a(()=>[s(f(W),null,{default:a(()=>[s(f(ue))]),_:1})]),_:1})]),y("div",$t,"@"+A(f(t).state.userInfo.username),1)]),y("div",Mt,[s(p,{class:"logout",quaternary:"",circle:"",onClick:x},{icon:a(()=>[s(f(W),{size:24},{default:a(()=>[s(f(ue))]),_:1})]),_:1})])])):(w(),E("div",St,[b.value?M("",!0):(w(),E("div",Ut,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[0]||(L[0]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1})])),b.value?(w(),E("div",Dt,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[1]||(L[1]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1}),s(p,{strong:"",secondary:"",round:"",type:"info",onClick:L[2]||(L[2]=g=>O("signup"))},{default:a(()=>[U(" 注册 ")]),_:1})])):M("",!0)]))])}}});const qt={"has-sider":"",class:"main-wrap",position:"static"},Nt={key:0},Kt={class:"content-wrap"},Ft=Y({__name:"App",setup(e){const t=B(),r=J(()=>t.state.theme==="dark"?We:null);return(c,i)=>{const n=xt,m=me("router-view"),d=Ot,S=dt,v=Ye,b=Be,_=je,u=He;return w(),K(u,{theme:r.value},{default:a(()=>[s(b,null,{default:a(()=>[s(v,null,{default:a(()=>{var I;return[y("div",{class:Oe(["app-container",{dark:((I=r.value)==null?void 0:I.name)==="dark",mobile:!f(t).state.desktopModelShow}])},[y("div",qt,[f(t).state.desktopModelShow?(w(),E("div",Nt,[s(n)])):M("",!0),y("div",Kt,[s(m,{class:"app-wrap"},{default:a(({Component:h})=>[(w(),K(Pe,null,[c.$route.meta.keepAlive?(w(),K(re(h),{key:0})):M("",!0)],1024)),c.$route.meta.keepAlive?M("",!0):(w(),K(re(h),{key:0}))]),_:1})]),s(d)]),s(S)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});Le(Ft).use(ve).use(at).mount("#app");export{ns as $,$o as A,So as B,Mo as C,mt as D,_t as E,ms as F,qo as G,es as H,Wo as I,Fo as J,Ko as K,is as L,No as M,Ho as N,Jo as O,Zo as P,Xo as Q,ds as R,ls as S,us as T,Vo as U,zo as V,xo as W,G as X,os as Y,ss as Z,we as _,as as a,Uo as a0,Qo as a1,jo as a2,Yo as a3,Bo as a4,Go as a5,Do as a6,xt as a7,fo as b,vo as c,io as d,ts as e,cs as f,rs as g,Ao as h,Co as i,Oo as j,Lo as k,Ro as l,Io as m,Eo as n,mo as o,_o as p,wo as q,yo as r,bo as s,To as t,ko as u,Po as v,po as w,ho as x,co as y,go as z}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js deleted file mode 100644 index 84482f7f..00000000 --- a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f8e6a4c1.js +++ /dev/null @@ -1 +0,0 @@ -import{a7 as A}from"./index-f37b0729.js";import{u as B}from"./vuex-44de225f.js";import{u as E}from"./vue-router-e5a2430e.js";import{j as z}from"./vooks-6d99783e.js";import{Z as C,_ as N,$ as P,a0 as D}from"./@vicons-7a4ef312.js";import{u as R,a3 as $,a4 as x,j as H,e as I,a5 as V,h as j}from"./naive-ui-d8de3dda.js";import{d as q,H as h,b as F,e as n,f,bf as a,k as e,w as t,Y as c,j as L,q as _,A as U,x as Y,F as Z}from"./@vue-a481fc63.js";const G={key:0},J={class:"navbar"},ae=q({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(w){const i=w,o=B(),m=E(),l=h(!1),g=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),o.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),o.commit("triggerTheme","light"))},k=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return F(()=>{localStorage.getItem("PAOPAO_THEME")||u(z()==="dark"),o.state.desktopModelShow||(window.$store=o,window.$message=R())}),(s,d)=>{const b=A,y=$,M=x,r=H,p=I,O=V,S=j;return n(),f(Z,null,[a(o).state.drawerModelShow?(n(),f("div",G,[e(M,{show:l.value,"onUpdate:show":d[0]||(d[0]=T=>l.value=T),width:212,placement:g.value,resizable:""},{default:t(()=>[e(y,null,{default:t(()=>[e(b)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(S,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[L("div",J,[a(o).state.drawerModelShow&&!s.back?(n(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(C))]),_:1})]),_:1})):c("",!0),s.back?(n(),_(p,{key:1,class:"back-btn",onClick:k,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(N))]),_:1})]),_:1})):c("",!0),U(" "+Y(i.title)+" ",1),i.theme?(n(),_(O,{key:2,value:a(o).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:a(P)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:a(D)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{ae as _}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js deleted file mode 100644 index 0be36a46..00000000 --- a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-75f1af94.js +++ /dev/null @@ -1 +0,0 @@ -import{p as R,a as V,_ as E,b as Y,c as G}from"./content-60b75b00.js";import{d as J,c as x,r as K,e as a,f,k as n,al as Q,w as o,j as i,F as U,u as W,y as m,bf as l,A as r,x as p,q as u,Y as c,h as C}from"./@vue-a481fc63.js";import{u as X}from"./vuex-44de225f.js";import{u as Z}from"./vue-router-e5a2430e.js";import{R as ee,w as te,x as se}from"./index-f37b0729.js";import{c as oe}from"./copy-to-clipboard-4ef7d3eb.js";import{i as ne,j as ae,l as le,m as ie,p as ue,o as ce}from"./@vicons-7a4ef312.js";import{j as v,o as re,M as pe,e as _e,O as me,a as ve,L as de}from"./naive-ui-d8de3dda.js";const he={class:"post-item"},ge={class:"nickname-wrap"},ke={class:"username-wrap"},ye={class:"timestamp-mobile"},fe={class:"item-header-extra"},we=["innerHTML"],be=["onClick"],xe=["onClick"],Ne=J({__name:"mobile-post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",he,[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",ge,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",ke," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0),i("div",null,[i("span",ye,p(l(ee)(e.value.created_on))+" "+p(e.value.ip_loc),1)])]),"header-extra":o(()=>[i("div",fe,[n(D,{placement:"bottom-end",trigger:"click",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,be),i("div",{class:"opt-item",onClick:s[3]||(s[3]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,xe)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[i("div",{onClick:s[2]||(s[2]=h=>k(e.value.id))},[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,we))),128))])]),key:"0"}:void 0]),1024)])}}});const Ce={class:"nickname-wrap"},$e={class:"username-wrap"},ze={class:"item-header-extra"},Te={class:"timestamp"},qe=["innerHTML"],Pe=["onClick"],Le=["onClick"],Ae=J({__name:"post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",{class:"post-item",onClick:s[3]||(s[3]=h=>k(e.value.id))},[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",Ce,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",$e," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":o(()=>[i("div",ze,[i("span",Te,p(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+p(l(ee)(e.value.created_on)),1),n(D,{placement:"bottom-end",trigger:"hover",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item hover",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,Pe),i("div",{class:"opt-item hover",onClick:s[2]||(s[2]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item hover",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,Le)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text hover",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,qe))),128))]),key:"0"}:void 0]),1024)])}}});export{Ae as _,Ne as a}; diff --git a/web/dist/assets/post-skeleton-2ccfac69.js b/web/dist/assets/post-skeleton-2ccfac69.js deleted file mode 100644 index 314b9f2f..00000000 --- a/web/dist/assets/post-skeleton-2ccfac69.js +++ /dev/null @@ -1 +0,0 @@ -import{U as r}from"./naive-ui-d8de3dda.js";import{d as c,e as s,f as n,u as p,j as o,k as t,F as l}from"./@vue-a481fc63.js";import{_ as i}from"./index-f37b0729.js";const m={class:"user"},u={class:"content"},d=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",u,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(d,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/assets/whisper-41c78cd2.js b/web/dist/assets/whisper-41c78cd2.js deleted file mode 100644 index 3092c40e..00000000 --- a/web/dist/assets/whisper-41c78cd2.js +++ /dev/null @@ -1 +0,0 @@ -import{W as b,_ as k}from"./index-f37b0729.js";import{R as B,H as C,S as N,b as R,e as U,i as V}from"./naive-ui-d8de3dda.js";import{d as W,H as p,e as $,q as z,w as s,j as a,k as n,A as _,x as i}from"./@vue-a481fc63.js";const H={class:"whisper-wrap"},S={class:"whisper-line"},j={class:"whisper-line send-wrap"},q=W({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(r,{emit:u}){const d=r,o=p(""),t=p(!1),c=()=>{u("success")},m=()=>{t.value=!0,b({user_id:d.user.id,content:o.value}).then(e=>{window.$message.success("发送成功"),t.value=!1,o.value="",c()}).catch(e=>{t.value=!1})};return(e,l)=>{const h=B,w=C,f=N,v=R,g=U,y=V;return $(),z(y,{show:e.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:s(()=>[a("div",H,[n(f,{"show-icon":!1},{default:s(()=>[_(" 即将发送私信给: "),n(w,{style:{"max-width":"100%"}},{default:s(()=>[n(h,{type:"success"},{default:s(()=>[_(i(e.user.nickname)+"@"+i(e.user.username),1)]),_:1})]),_:1})]),_:1}),a("div",S,[n(v,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":l[0]||(l[0]=x=>o.value=x),maxlength:"200","show-count":""},null,8,["value"])]),a("div",j,[n(g,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:m},{default:s(()=>[_(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const M=k(q,[["__scopeId","data-v-0cbfe47c"]]);export{M as _}; diff --git a/web/dist/index.html b/web/dist/index.html index 9e2968c5..0f81744d 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -8,7 +8,7 @@ 泡泡 - + diff --git a/web/src/assets/img/discover-tweets.jpeg b/web/src/assets/img/discover-tweets.jpeg index 405daa0b3d994d4ed29cf38e400bd3f0980108c2..1444f19b98eed95f0138317cb82c51efe2030773 100644 GIT binary patch literal 51219 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

YzAd*7Fa79Mo5v(Ixj9mF-b0C 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 KClK<-)c*lrvG6Vc diff --git a/web/src/assets/img/all-tweets.png b/web/src/assets/img/fresh-tweets.png similarity index 100% rename from web/src/assets/img/all-tweets.png rename to web/src/assets/img/fresh-tweets.png diff --git a/web/src/views/Home.vue b/web/src/views/Home.vue index 06fffacf..a1d4c963 100644 --- a/web/src/views/Home.vue +++ b/web/src/views/Home.vue @@ -74,7 +74,7 @@ import InfiniteLoading from "v3-infinite-loading"; import { getPosts, getContacts } from '@/api/post'; import { getUserPosts } from '@/api/user'; import SlideBar from '@opentiny/vue-slide-bar'; -import allTweets from '@/assets/img/all-tweets.png'; +import allTweets from '@/assets/img/fresh-tweets.png'; import discoverTweets from '@/assets/img/discover-tweets.jpeg'; import followingTweets from '@/assets/img/following-tweets.jpeg'; From 184a554caff788dfdae8a7c741341d482310bca5 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sat, 16 Sep 2023 08:13:35 +0800 Subject: [PATCH 09/26] add miss files --- web/dist/assets/404-a356d59e.js | 1 + web/dist/assets/Anouncement-80f0b2c2.js | 1 + web/dist/assets/Collection-942eb9b3.js | 1 + web/dist/assets/Contacts-e743465d.js | 1 + web/dist/assets/Following-7bf27bed.js | 1 + web/dist/assets/Home-5c5e61eb.js | 1 + web/dist/assets/Home-63775b21.css | 1 + web/dist/assets/Messages-d38466e3.js | 1 + web/dist/assets/Post-c25a0d58.js | 1 + web/dist/assets/Profile-79842d31.js | 1 + web/dist/assets/Setting-af3630fe.js | 1 + web/dist/assets/Topic-b95723bc.js | 1 + web/dist/assets/User-bcd9f3b4.js | 1 + web/dist/assets/Wallet-22a26ca6.js | 1 + web/dist/assets/content-34f8522f.js | 1 + web/dist/assets/discover-tweets-ab101944.jpeg | Bin 0 -> 51219 bytes web/dist/assets/following-tweets-e36b4410.jpeg | Bin 0 -> 10418 bytes web/dist/assets/index-c7635d00.js | 1 + ....vue_vue_type_style_index_0_lang-f1df2083.js | 1 + ....vue_vue_type_style_index_0_lang-d54eb310.js | 1 + web/dist/assets/post-skeleton-f8428500.js | 1 + web/dist/assets/whisper-a4b81d0e.js | 1 + 22 files changed, 20 insertions(+) create mode 100644 web/dist/assets/404-a356d59e.js create mode 100644 web/dist/assets/Anouncement-80f0b2c2.js create mode 100644 web/dist/assets/Collection-942eb9b3.js create mode 100644 web/dist/assets/Contacts-e743465d.js create mode 100644 web/dist/assets/Following-7bf27bed.js create mode 100644 web/dist/assets/Home-5c5e61eb.js create mode 100644 web/dist/assets/Home-63775b21.css create mode 100644 web/dist/assets/Messages-d38466e3.js create mode 100644 web/dist/assets/Post-c25a0d58.js create mode 100644 web/dist/assets/Profile-79842d31.js create mode 100644 web/dist/assets/Setting-af3630fe.js create mode 100644 web/dist/assets/Topic-b95723bc.js create mode 100644 web/dist/assets/User-bcd9f3b4.js create mode 100644 web/dist/assets/Wallet-22a26ca6.js create mode 100644 web/dist/assets/content-34f8522f.js create mode 100644 web/dist/assets/discover-tweets-ab101944.jpeg create mode 100644 web/dist/assets/following-tweets-e36b4410.jpeg create mode 100644 web/dist/assets/index-c7635d00.js create mode 100644 web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js create mode 100644 web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js create mode 100644 web/dist/assets/post-skeleton-f8428500.js create mode 100644 web/dist/assets/whisper-a4b81d0e.js diff --git a/web/dist/assets/404-a356d59e.js b/web/dist/assets/404-a356d59e.js new file mode 100644 index 00000000..6e7b205f --- /dev/null +++ b/web/dist/assets/404-a356d59e.js @@ -0,0 +1 @@ +import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as i}from"./vue-router-e5a2430e.js";import{F as a,e as c,a2 as u}from"./naive-ui-d8de3dda.js";import{d as l,f as d,k as t,w as o,e as f,A as x}from"./@vue-a481fc63.js";import{_ as g}from"./index-c7635d00.js";import"./vuex-44de225f.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */const v=l({__name:"404",setup(h){const e=i(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=a;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const O=g(v,[["__scopeId","data-v-e62daa85"]]);export{O as default}; diff --git a/web/dist/assets/Anouncement-80f0b2c2.js b/web/dist/assets/Anouncement-80f0b2c2.js new file mode 100644 index 00000000..2b5e4b4f --- /dev/null +++ b/web/dist/assets/Anouncement-80f0b2c2.js @@ -0,0 +1 @@ +import{_ as F}from"./post-skeleton-f8428500.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as z}from"./vuex-44de225f.js";import{b as A}from"./vue-router-e5a2430e.js";import{E as R,_ as S}from"./index-c7635d00.js";import{F as V,Q as q,I as E,G as I}from"./naive-ui-d8de3dda.js";import{d as P,H as n,b as j,f as o,k as a,w as p,e as t,bf as u,Y as l,F as D,u as G,q as H,j as s,x as _,l as L}from"./@vue-a481fc63.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const M={key:0,class:"pagination-wrap"},O={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},Y=P({__name:"Anouncement",setup($){const d=z(),g=A(),v=n(!1),i=n([]),r=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{r.value=m};return j(()=>{}),(m,J)=>{const k=N,y=q,x=F,w=E,B=I,C=V;return t(),o("div",null,[a(k,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(t(),o("div",M,[a(y,{page:r.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(t(),o("div",O,[a(x,{num:f.value},null,8,["num"])])):(t(),o("div",Q,[i.value.length===0?(t(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(t(!0),o(D,null,G(i.value,e=>(t(),H(B,{key:e.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:L({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const ke=S(Y,[["__scopeId","data-v-d4d04859"]]);export{ke as default}; diff --git a/web/dist/assets/Collection-942eb9b3.js b/web/dist/assets/Collection-942eb9b3.js new file mode 100644 index 00000000..77db9818 --- /dev/null +++ b/web/dist/assets/Collection-942eb9b3.js @@ -0,0 +1 @@ +import{_ as I}from"./whisper-a4b81d0e.js";import{_ as N,a as Q}from"./post-item.vue_vue_type_style_index_0_lang-d54eb310.js";import{_ as V}from"./post-skeleton-f8428500.js";import{_ as W}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as E}from"./vuex-44de225f.js";import{b as G}from"./vue-router-e5a2430e.js";import{Q as H,_ as L}from"./index-c7635d00.js";import{d as T,H as s,b as U,f as o,k as n,w as u,bf as h,Y as w,e,F as k,u as y,q as C}from"./@vue-a481fc63.js";import{F as Y,Q as j,I as A,G as D}from"./naive-ui-d8de3dda.js";import"./content-34f8522f.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={key:0,class:"skeleton-wrap"},K={key:1},O={key:0,class:"empty-wrap"},X={key:1},Z={key:2},ee={key:0,class:"pagination-wrap"},oe=T({__name:"Collection",setup(te){const m=E(),S=G(),_=s(!1),i=s([]),l=s(+S.query.p||1),p=s(20),r=s(0),c=s(!1),d=s({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),f=t=>{d.value=t,c.value=!0},b=()=>{c.value=!1},v=()=>{_.value=!0,H({page:l.value,page_size:p.value}).then(t=>{_.value=!1,i.value=t.list,r.value=Math.ceil(t.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(t=>{_.value=!1})},x=t=>{l.value=t,v()};return U(()=>{v()}),(t,ne)=>{const $=W,z=V,B=A,F=N,g=D,M=Q,P=I,R=Y,q=j;return e(),o("div",null,[n($,{title:"收藏"}),n(R,{class:"main-content-wrap",bordered:""},{default:u(()=>[_.value?(e(),o("div",J,[n(z,{num:p.value},null,8,["num"])])):(e(),o("div",K,[i.value.length===0?(e(),o("div",O,[n(B,{size:"large",description:"暂无数据"})])):w("",!0),h(m).state.desktopModelShow?(e(),o("div",X,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(F,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))])):(e(),o("div",Z,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(M,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))]))])),n(P,{show:c.value,user:d.value,onSuccess:b},null,8,["show","user"])]),_:1}),r.value>0?(e(),o("div",ee,[n(q,{page:l.value,"onUpdate:page":x,"page-slot":h(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):w("",!0)])}}});const Ne=L(oe,[["__scopeId","data-v-760779af"]]);export{Ne as default}; diff --git a/web/dist/assets/Contacts-e743465d.js b/web/dist/assets/Contacts-e743465d.js new file mode 100644 index 00000000..b89e29bc --- /dev/null +++ b/web/dist/assets/Contacts-e743465d.js @@ -0,0 +1 @@ +import{_ as T}from"./whisper-a4b81d0e.js";import{d as F,c as j,r as A,e as s,f as c,k as t,w as n,j as i,y as H,A as L,x as v,bf as g,h as I,H as a,b as U,Y as S,F as z,u as W,q as E}from"./@vue-a481fc63.js";import{F as G,_ as N,b as Q}from"./index-c7635d00.js";import{i as Y,p as J}from"./@vicons-7a4ef312.js";import{j as x,o as K,e as X,O as Z,L as ee,F as te,Q as ne,I as oe,G as se}from"./naive-ui-d8de3dda.js";import{_ as ae}from"./post-skeleton-f8428500.js";import{_ as ce}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as ie}from"./vuex-44de225f.js";import{b as _e}from"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const re={class:"contact-item"},le={class:"nickname-wrap"},pe={class:"username-wrap"},ue={class:"user-info"},me={class:"info-item"},de={class:"info-item"},fe={class:"item-header-extra"},ve=F({__name:"contact-item",props:{contact:{}},emits:["send-whisper"],setup(C,{emit:h}){const _=C,r=e=>()=>I(x,null,{default:()=>I(e)}),l=j(()=>[{label:"私信",key:"whisper",icon:r(J)}]),u=e=>{switch(e){case"whisper":const o={id:_.contact.user_id,avatar:_.contact.avatar,username:_.contact.username,nickname:_.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};h("send-whisper",o);break}};return(e,o)=>{const m=K,d=A("router-link"),w=X,k=Z,y=ee;return s(),c("div",re,[t(y,{"content-indented":""},{avatar:n(()=>[t(m,{size:54,src:e.contact.avatar},null,8,["src"])]),header:n(()=>[i("span",le,[t(d,{onClick:o[0]||(o[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:n(()=>[L(v(e.contact.nickname),1)]),_:1},8,["to"])]),i("span",pe," @"+v(e.contact.username),1),i("div",ue,[i("span",me," UID. "+v(e.contact.user_id),1),i("span",de,v(g(G)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":n(()=>[i("div",fe,[t(k,{placement:"bottom-end",trigger:"click",size:"small",options:l.value,onSelect:u},{default:n(()=>[t(w,{quaternary:"",circle:""},{icon:n(()=>[t(g(x),null,{default:n(()=>[t(g(Y))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const ge=N(ve,[["__scopeId","data-v-d62f19da"]]),he={key:0,class:"skeleton-wrap"},we={key:1},ke={key:0,class:"empty-wrap"},ye={key:0,class:"pagination-wrap"},Ce=F({__name:"Contacts",setup(C){const h=ie(),_=_e(),r=a(!1),l=a([]),u=a(+_.query.p||1),e=a(20),o=a(0),m=a(!1),d=a({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),w=p=>{d.value=p,m.value=!0},k=()=>{m.value=!1},y=p=>{u.value=p,$()};U(()=>{$()});const $=(p=!1)=>{l.value.length===0&&(r.value=!0),Q({page:u.value,page_size:e.value}).then(f=>{r.value=!1,l.value=f.list,o.value=Math.ceil(f.pager.total_rows/e.value),p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(f=>{r.value=!1})};return(p,f)=>{const q=ce,B=ae,M=oe,P=ge,V=se,D=T,O=te,R=ne;return s(),c(z,null,[i("div",null,[t(q,{title:"好友"}),t(O,{class:"main-content-wrap",bordered:""},{default:n(()=>[r.value?(s(),c("div",he,[t(B,{num:e.value},null,8,["num"])])):(s(),c("div",we,[l.value.length===0?(s(),c("div",ke,[t(M,{size:"large",description:"暂无数据"})])):S("",!0),(s(!0),c(z,null,W(l.value,b=>(s(),E(V,{class:"list-item",key:b.user_id},{default:n(()=>[t(P,{contact:b,onSendWhisper:w},null,8,["contact"])]),_:2},1024))),128))])),t(D,{show:m.value,user:d.value,onSuccess:k},null,8,["show","user"])]),_:1})]),o.value>0?(s(),c("div",ye,[t(R,{page:u.value,"onUpdate:page":y,"page-slot":g(h).state.collapsedRight?5:8,"page-count":o.value},null,8,["page","page-slot","page-count"])])):S("",!0)],64)}}});const Qe=N(Ce,[["__scopeId","data-v-e20fef94"]]);export{Qe as default}; diff --git a/web/dist/assets/Following-7bf27bed.js b/web/dist/assets/Following-7bf27bed.js new file mode 100644 index 00000000..83d7d769 --- /dev/null +++ b/web/dist/assets/Following-7bf27bed.js @@ -0,0 +1 @@ +import{_ as K}from"./whisper-a4b81d0e.js";import{d as B,c as Q,r as Y,e as _,f as u,k as o,w as t,j as p,y as X,A as x,x as k,q as N,Y as U,bf as g,h as C,H as r,b as Z,F as M,u as ee}from"./@vue-a481fc63.js";import{u as oe,b as ne}from"./vue-router-e5a2430e.js";import{F as te,J as se,K as ae,_ as O,U as le,V as ce}from"./index-c7635d00.js";import{i as ie,p as _e,z as re,v as ue}from"./@vicons-7a4ef312.js";import{T as pe,j as P,o as me,M as de,e as fe,O as ge,L as ve,F as we,Q as he,f as ke,g as ye,I as be,G as $e}from"./naive-ui-d8de3dda.js";import{_ as Fe}from"./post-skeleton-f8428500.js";import{_ as ze}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as Te}from"./vuex-44de225f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"follow-item"},qe={class:"nickname-wrap"},Ie={class:"username-wrap"},Se={class:"user-info"},xe={class:"info-item"},Ce={class:"info-item"},Me={class:"item-header-extra"},Pe=B({__name:"follow-item",props:{contact:{}},emits:["send-whisper"],setup(q,{emit:y}){const n=q,c=pe();oe();const s=e=>()=>C(P,null,{default:()=>C(e)}),b=()=>{c.success({title:"提示",content:"确定"+(n.contact.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{n.contact.is_following?se({user_id:n.contact.user_id}).then(e=>{window.$message.success("取消关注成功"),n.contact.is_following=!1}).catch(e=>{console.log(e)}):ae({user_id:n.contact.user_id}).then(e=>{window.$message.success("关注成功"),n.contact.is_following=!0}).catch(e=>{console.log(e)})}})},v=Q(()=>{let e=[{label:"私信",key:"whisper",icon:s(_e)}];return n.contact.is_following?e.push({label:"取消关注",key:"unfollow",icon:s(re)}):e.push({label:"关注",key:"follow",icon:s(ue)}),e}),m=e=>{switch(e){case"follow":case"unfollow":b();break;case"whisper":const a={id:n.contact.user_id,avatar:n.contact.avatar,username:n.contact.username,nickname:n.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};y("send-whisper",a);break}};return(e,a)=>{const d=me,f=Y("router-link"),w=de,$=fe,F=ge,z=ve;return _(),u("div",Ue,[o(z,{"content-indented":""},{avatar:t(()=>[o(d,{size:54,src:e.contact.avatar},null,8,["src"])]),header:t(()=>[p("span",qe,[o(f,{onClick:a[0]||(a[0]=X(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:t(()=>[x(k(e.contact.nickname),1)]),_:1},8,["to"])]),p("span",Ie," @"+k(e.contact.username),1),e.contact.is_following?(_(),N(w,{key:0,class:"top-tag",type:"success",size:"small",round:""},{default:t(()=>[x(" 已关注 ")]),_:1})):U("",!0),p("div",Se,[p("span",xe," UID. "+k(e.contact.user_id),1),p("span",Ce,k(g(te)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":t(()=>[p("div",Me,[o(F,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:m},{default:t(()=>[o($,{quaternary:"",circle:""},{icon:t(()=>[o(g(P),null,{default:t(()=>[o(g(ie))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const Be=O(Pe,[["__scopeId","data-v-1fb7364a"]]),Ne={key:0,class:"skeleton-wrap"},Oe={key:1},Ve={key:0,class:"empty-wrap"},De={key:0,class:"pagination-wrap"},Re=B({__name:"Following",setup(q){const y=Te(),n=ne(),c=r(!1),s=r([]),b=n.query.n||"粉丝详情",v=n.query.s||"",m=r(n.query.t||"follows"),e=r(+n.query.p||1),a=r(20),d=r(0),f=r(!1),w=r({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),$=l=>{w.value=l,f.value=!0},F=()=>{f.value=!1},z=l=>{e.value=l,T()},V=l=>{m.value=l,T()},T=()=>{m.value==="follows"?D(v):m.value==="followings"&&R(v)},D=(l,h=!1)=>{s.value.length===0&&(c.value=!0),le({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})},R=(l,h=!1)=>{s.value.length===0&&(c.value=!0),ce({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})};return Z(()=>{T()}),(l,h)=>{const i=ze,I=ke,W=ye,j=Fe,A=be,H=Be,L=$e,E=K,G=we,J=he;return _(),u(M,null,[p("div",null,[o(i,{title:g(b),back:!0},null,8,["title"]),o(G,{class:"main-content-wrap",bordered:""},{default:t(()=>[o(W,{type:"line",animated:"","default-value":m.value,"onUpdate:value":V},{default:t(()=>[o(I,{name:"follows",tab:"正在关注"}),o(I,{name:"followings",tab:"我的粉丝"})]),_:1},8,["default-value"]),c.value?(_(),u("div",Ne,[o(j,{num:a.value},null,8,["num"])])):(_(),u("div",Oe,[s.value.length===0?(_(),u("div",Ve,[o(A,{size:"large",description:"暂无数据"})])):U("",!0),(_(!0),u(M,null,ee(s.value,S=>(_(),N(L,{key:S.user_id},{default:t(()=>[o(H,{contact:S,onSendWhisper:$},null,8,["contact"])]),_:2},1024))),128))])),o(E,{show:f.value,user:w.value,onSuccess:F},null,8,["show","user"])]),_:1})]),d.value>0?(_(),u("div",De,[o(J,{page:e.value,"onUpdate:page":z,"page-slot":g(y).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):U("",!0)],64)}}});const po=O(Re,[["__scopeId","data-v-0a10234f"]]);export{po as default}; diff --git a/web/dist/assets/Home-5c5e61eb.js b/web/dist/assets/Home-5c5e61eb.js new file mode 100644 index 00000000..d0c2fe84 --- /dev/null +++ b/web/dist/assets/Home-5c5e61eb.js @@ -0,0 +1 @@ +import{_ as Ue}from"./whisper-a4b81d0e.js";import{_ as Te,a as Ve}from"./post-item.vue_vue_type_style_index_0_lang-d54eb310.js";import{_ as Ee}from"./post-skeleton-f8428500.js";import{d as _e,H as l,c as ce,b as ge,e as c,f as y,bf as U,j as A,k as a,w as i,q as O,Y as k,y as ve,A as Y,x as ee,F as pe,u as de,E as Ne}from"./@vue-a481fc63.js";import{u as fe}from"./vuex-44de225f.js";import{l as me}from"./lodash-e0b37ac3.js";import{g as xe,a as Re,c as qe,b as Ge,d as Oe,e as Pe,_ as Fe}from"./index-c7635d00.js";import{p as Le}from"./content-34f8522f.js";import{V as B,P as H}from"./IEnum-5453a777.js";import{I as Ye,V as Se,A as Me,d as Ke,E as We}from"./@vicons-7a4ef312.js";import{o as he,v as je,j as Qe,e as He,w as Ze,x as Je,y as Xe,z as $e,A as et,B as tt,C as at,a as we,D as st,E as ot,F as nt,G as lt,l as it,H as rt,I as ut,k as ct}from"./naive-ui-d8de3dda.js";import{_ as pt}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{b as dt,u as vt}from"./vue-router-e5a2430e.js";import{W as mt}from"./v3-infinite-loading-2c58ec2f.js";import{S as _t}from"./@opentiny-d73a2d67.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./vue-1e3b54ec.js";import"./xss-a5544f63.js";import"./cssfilter-af71ba68.js";const gt=Z=>{const F=new FileReader,b=r=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(r),T=()=>{const r=new Uint8Array(F.result).subarray(0,4);let V="";for(let g=0;g{F.onloadend=()=>{const g=Z.type;r(g===""||g==="application/octet-stream"?T():b(g))},F.readAsArrayBuffer(Z.slice(0,4))})},ft={key:0,class:"compose-wrap"},ht={class:"compose-line"},wt={class:"compose-user"},yt={class:"compose-line compose-options"},kt={class:"attachment"},At={class:"submit-wrap"},bt={class:"attachment-list-wrap"},Ct={key:0,class:"attachment-price-wrap"},zt=A("span",null," 附件价格¥",-1),It={key:0,class:"eye-wrap"},Dt={key:1,class:"link-wrap"},Bt={key:1,class:"compose-wrap"},Ut=A("div",{class:"login-wrap"},[A("span",{class:"login-banner"}," 登录后,精彩更多")],-1),Tt={key:0,class:"login-only-wrap"},Vt={key:1,class:"login-wrap"},Et=_e({__name:"compose",emits:["post-success"],setup(Z,{emit:F}){const b=fe(),T=l([]),r=l(!1),V=l(!1),g=l(!1),P=l(!1),f=l(""),R=l([]),E=l(),N=l(0),m=l("public/image"),I=l([]),p=l([]),h=l([]),C=l([]),D=l(B.PUBLIC),q=l(B.PUBLIC),K="true".toLowerCase()==="true",L=+"400",J=l("true".toLowerCase()==="true"),X=l("true".toLowerCase()==="true"),te=l("true".toLowerCase()==="true"),S=l("false".toLowerCase()==="true"),ae=l("true".toLowerCase()==="true"),W="/v1/attachment",G=ce(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),$=ce(()=>{let e=[{value:B.PUBLIC,label:"公开"},{value:B.PRIVATE,label:"私密"},{value:B.Following,label:"关注可见"}];return K&&e.push({value:B.FRIEND,label:"好友可见"}),e}),se=()=>{g.value=!g.value,g.value&&P.value&&(P.value=!1)},j=()=>{P.value=!P.value,P.value&&g.value&&(g.value=!1)},oe=me.debounce(e=>{xe({k:e}).then(t=>{let n=[];t.suggest.map(o=>{n.push({label:o,value:o})}),T.value=n,r.value=!1}).catch(t=>{r.value=!1})},200),u=me.debounce(e=>{Re({k:e}).then(t=>{let n=[];t.suggest.map(o=>{n.push({label:o,value:o})}),T.value=n,r.value=!1}).catch(t=>{r.value=!1})},200),v=(e,t)=>{r.value||(r.value=!0,t==="@"?oe(e):u(e))},x=e=>{e.length>L?f.value=e.substring(0,L):f.value=e},w=e=>{m.value=e},z=e=>{for(let d=0;d30&&(e[d].name=n.substring(0,18)+"..."+n.substring(n.length-9)+"."+o)}I.value=e},ne=async e=>{var t,n,o,d,s;return m.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((t=e.file.file)==null?void 0:t.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):m.value==="image"&&((n=e.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):m.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=e.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):m.value==="public/video"&&((d=e.file.file)==null?void 0:d.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):m.value==="attachment"&&!await gt(e.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):m.value==="attachment"&&((s=e.file.file)==null?void 0:s.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},le=({file:e,event:t})=>{var n;try{let o=JSON.parse((n=t.target)==null?void 0:n.response);o.code===0&&(m.value==="public/image"&&p.value.push({id:e.id,content:o.data.content}),m.value==="public/video"&&h.value.push({id:e.id,content:o.data.content}),m.value==="attachment"&&C.value.push({id:e.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},ie=({file:e,event:t})=>{var n;try{let o=JSON.parse((n=t.target)==null?void 0:n.response);if(o.code!==0){let d=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(s=>{d+=":"+s}),window.$message.error(d)}}catch{window.$message.error("上传失败")}},re=({file:e})=>{let t=p.value.findIndex(n=>n.id===e.id);t>-1&&p.value.splice(t,1),t=h.value.findIndex(n=>n.id===e.id),t>-1&&h.value.splice(t,1),t=C.value.findIndex(n=>n.id===e.id),t>-1&&C.value.splice(t,1)},ue=()=>{if(f.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:e,users:t}=Le(f.value);const n=[];let o=100;n.push({content:f.value,type:H.TEXT,sort:o}),p.value.map(s=>{o++,n.push({content:s.content,type:H.IMAGEURL,sort:o})}),h.value.map(s=>{o++,n.push({content:s.content,type:H.VIDEOURL,sort:o})}),C.value.map(s=>{o++,n.push({content:s.content,type:H.ATTACHMENT,sort:o})}),R.value.length>0&&R.value.map(s=>{o++,n.push({content:s,type:H.LINKURL,sort:o})}),V.value=!0;let d=D.value;d==B.Following&&(d=B.PUBLIC),qe({contents:n,tags:Array.from(new Set(e)),users:Array.from(new Set(t)),attachment_price:+N.value*100,visibility:d}).then(s=>{var M;window.$message.success("发布成功"),V.value=!1,F("post-success",s),g.value=!1,P.value=!1,(M=E.value)==null||M.clear(),I.value=[],f.value="",R.value=[],p.value=[],h.value=[],C.value=[],D.value=q.value}).catch(s=>{V.value=!1})},Q=e=>{b.commit("triggerAuth",!0),b.commit("triggerAuthKey",e)};return ge(()=>{const e="friend".toLowerCase();K&&e==="friend"?q.value=B.FRIEND:e==="following"?q.value=B.Following:e==="public"?q.value=B.PUBLIC:q.value=B.PRIVATE,D.value=q.value}),(e,t)=>{const n=he,o=je,d=Qe,s=He,M=Ze,ye=Je,ke=Xe,Ae=$e,be=et,Ce=tt,ze=at,Ie=we,De=st,Be=ot;return c(),y("div",null,[U(b).state.userInfo.id>0?(c(),y("div",ft,[A("div",ht,[A("div",wt,[a(n,{round:"",size:30,src:U(b).state.userInfo.avatar},null,8,["src"])]),a(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:r.value,value:f.value,prefix:["@","#"],options:T.value,onSearch:v,"onUpdate:value":x,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(Ce,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:W,headers:{Authorization:G.value},data:{type:m.value},"file-list":I.value,onBeforeUpload:ne,onFinish:le,onError:ie,onRemove:re,"onUpdate:fileList":z},{default:i(()=>[A("div",yt,[A("div",kt,[a(M,{abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("public/image"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Ye))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),X.value?(c(),O(M,{key:0,abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value!=="public/video"||I.value.length===9,onClick:()=>{w("public/video"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),te.value?(c(),O(M,{key:1,abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("attachment"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Me))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),a(s,{quaternary:"",circle:"",type:"primary",onClick:ve(se,["stop"])},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Ke))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),O(s,{key:2,quaternary:"",circle:"",type:"primary",onClick:ve(j,["stop"])},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(We))]),_:1})]),_:1},8,["onClick"])):k("",!0)]),A("div",At,[a(ke,{trigger:"hover",placement:"bottom"},{trigger:i(()=>[a(ye,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:f.value.length/U(L)*100},null,8,["percentage"])]),default:i(()=>[Y(" "+ee(f.value.length)+" / "+ee(U(L)),1)]),_:1}),a(s,{loading:V.value,onClick:ue,type:"primary",secondary:"",round:""},{default:i(()=>[Y(" 发布 ")]),_:1},8,["loading"])])]),A("div",bt,[a(Ae),C.value.length>0?(c(),y("div",Ct,[S.value?(c(),O(be,{key:0,value:N.value,"onUpdate:value":t[0]||(t[0]=_=>N.value=_),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:i(()=>[zt]),_:1},8,["value"])):k("",!0)])):k("",!0)])]),_:1},8,["headers","data","file-list"]),P.value?(c(),y("div",It,[a(De,{value:D.value,"onUpdate:value":t[1]||(t[1]=_=>D.value=_),name:"radiogroup"},{default:i(()=>[a(Ie,null,{default:i(()=>[(c(!0),y(pe,null,de($.value,_=>(c(),O(ze,{key:_.value,value:_.value,label:_.label},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])):k("",!0),g.value?(c(),y("div",Dt,[a(Be,{value:R.value,"onUpdate:value":t[2]||(t[2]=_=>R.value=_),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":i(()=>[Y(" 创建链接 ")]),_:1},8,["value"])])):k("",!0)])):(c(),y("div",Bt,[Ut,J.value?k("",!0):(c(),y("div",Tt,[a(s,{strong:"",secondary:"",round:"",type:"primary",onClick:t[3]||(t[3]=_=>Q("signin"))},{default:i(()=>[Y(" 登录 ")]),_:1})])),J.value?(c(),y("div",Vt,[a(s,{strong:"",secondary:"",round:"",type:"primary",onClick:t[4]||(t[4]=_=>Q("signin"))},{default:i(()=>[Y(" 登录 ")]),_:1}),a(s,{strong:"",secondary:"",round:"",type:"info",onClick:t[5]||(t[5]=_=>Q("signup"))},{default:i(()=>[Y(" 注册 ")]),_:1})])):k("",!0)]))])}}});const Nt="data:image/png;base64,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",xt="/assets/discover-tweets-ab101944.jpeg",Rt="/assets/following-tweets-e36b4410.jpeg",qt={class:"slide-bar-item"},Gt={class:"slide-bar-item-title slide-bar-user-link"},Ot={key:1,class:"skeleton-wrap"},Pt={key:0,class:"empty-wrap"},Ft={key:1},Lt={key:2},Yt={class:"load-more-wrap"},St={class:"load-more-spinner"},Mt=_e({__name:"Home",setup(Z){const F="true".toLowerCase()==="true",b="true".toLowerCase()==="true",T=fe(),r=dt(),V=vt(),g=l(9),P=l(8),f=l([{title:"最新动态",style:1,username:"",avatar:Nt,show:!0},{title:"热门推荐",style:2,username:"",avatar:xt,show:!1},{title:"正在关注",style:3,username:"",avatar:Rt,show:!1},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0}]),R=l("泡泡广场"),E=l(!1),N=l(!1),m=l(1),I=l(""),p=l([]),h=l(1),C=l(20),D=l(0),q=l(!1),K=l({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),L=u=>{K.value=u,q.value=!0},J=()=>{q.value=!1},X=()=>{R.value="泡泡广场",r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?R.value="#"+decodeURIComponent(r.query.q):R.value="搜索: "+decodeURIComponent(r.query.q))},te=ce(()=>F&&b&&T.state.desktopModelShow&&T.state.userInfo.id>0),S=()=>{E.value=!1,N.value=!1,p.value=[],h.value=1,D.value=0},ae=(u,v)=>{switch(S(),m.value=u.style,r.query.q&&(r.query.q=null,X()),u.style){case 1:G();break;case 2:G();break;case 3:r.query.q=null,G();break;case 21:I.value=u.username,$();break}f.value[v].show=!1},W=()=>{f.value=f.value.slice(0,3),!(!F||!b||T.state.userInfo.id===0)&&Ge({page:1,page_size:50}).then(u=>{var v=0;const x=u.list||[];let w=[];for(;v0&&(f.value=f.value.concat(w))}).catch(u=>{console.log(u)})},G=()=>{E.value=!0,Oe({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:h.value,page_size:C.value}).then(u=>{E.value=!1,u.list.length===0&&(N.value=!0),h.value>1?p.value=p.value.concat(u.list):(p.value=u.list,window.scrollTo(0,0)),D.value=Math.ceil(u.pager.total_rows/C.value)}).catch(u=>{E.value=!1,h.value>1&&h.value--})},$=()=>{E.value=!0,Pe({username:I.value,style:"post",page:h.value,page_size:C.value}).then(u=>{E.value=!1,u.list.length===0&&(N.value=!0),h.value>1?p.value=p.value.concat(u.list):(p.value=u.list||[],window.scrollTo(0,0)),D.value=Math.ceil(u.pager.total_rows/C.value)}).catch(u=>{p.value=[],h.value>1&&h.value--,E.value=!1})},se=u=>{if(m.value!=1){V.push({name:"post",query:{id:u.id}});return}let v=[],x=p.value.length;x==C.value&&x--;for(var w=0;w{switch(m.value){case 1:G();break;case 2:G();break;case 3:G();break;case 21:r.query.q?G():$();break}},oe=()=>{h.value{S(),W(),G()}),Ne(()=>({path:r.path,query:r.query,refresh:T.state.refresh}),(u,v)=>{if(X(),u.refresh!==v.refresh){S(),setTimeout(()=>{W(),j()},0);return}v.path!=="/post"&&u.path==="/"&&(S(),setTimeout(()=>{W(),j()},0))}),(u,v)=>{const x=pt,w=Et,z=lt,ne=he,le=it,ie=rt,re=Ee,ue=ut,Q=Te,e=Ve,t=Ue,n=nt,o=ct,d=we;return c(),y("div",null,[a(x,{title:R.value},null,8,["title"]),a(n,{class:"main-content-wrap",bordered:""},{default:i(()=>[a(z,null,{default:i(()=>[a(w,{onPostSuccess:se})]),_:1}),te.value?(c(),O(z,{key:0},{default:i(()=>[a(U(_t),{modelValue:f.value,"onUpdate:modelValue":v[0]||(v[0]=s=>f.value=s),"wheel-blocks":P.value,"init-blocks":g.value,onClick:ae,tag:"div","sub-tag":"div"},{default:i(s=>[A("div",qt,[a(le,{value:"1",offset:[-4,48],dot:"",show:s.slotData.show},{default:i(()=>[a(ne,{round:"",size:48,src:s.slotData.avatar,class:"slide-bar-item-avatar"},null,8,["src"])]),_:2},1032,["show"]),A("div",Gt,[a(ie,{"line-clamp":2},{default:i(()=>[Y(ee(s.slotData.title),1)]),_:2},1024)])])]),_:1},8,["modelValue","wheel-blocks","init-blocks"])]),_:1})):k("",!0),E.value&&p.value.length===0?(c(),y("div",Ot,[a(re,{num:C.value},null,8,["num"])])):k("",!0),A("div",null,[p.value.length===0?(c(),y("div",Pt,[a(ue,{size:"large",description:"暂无数据"})])):k("",!0),U(T).state.desktopModelShow?(c(),y("div",Ft,[(c(!0),y(pe,null,de(p.value,s=>(c(),O(z,{key:s.id},{default:i(()=>[a(Q,{post:s,onSendWhisper:L},null,8,["post"])]),_:2},1024))),128))])):(c(),y("div",Lt,[(c(!0),y(pe,null,de(p.value,s=>(c(),O(z,{key:s.id},{default:i(()=>[a(e,{post:s,onSendWhisper:L},null,8,["post"])]),_:2},1024))),128))]))]),a(t,{show:q.value,user:K.value,onSuccess:J},null,8,["show","user"])]),_:1}),D.value>0?(c(),O(d,{key:0,justify:"center"},{default:i(()=>[a(U(mt),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:v[1]||(v[1]=s=>oe())},{spinner:i(()=>[A("div",Yt,[N.value?k("",!0):(c(),O(o,{key:0,size:14})),A("span",St,ee(N.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):k("",!0)])}}});const Ua=Fe(Mt,[["__scopeId","data-v-1066affe"]]);export{Ua as default}; diff --git a/web/dist/assets/Home-63775b21.css b/web/dist/assets/Home-63775b21.css new file mode 100644 index 00000000..0989af6c --- /dev/null +++ b/web/dist/assets/Home-63775b21.css @@ -0,0 +1 @@ +.compose-wrap{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .text-statistic{margin-right:8px;width:20px;height:20px;transform:rotate(180deg)}.compose-wrap .link-wrap{margin-left:42px;margin-right:42px}.compose-wrap .eye-wrap{margin-left:64px}.compose-wrap .login-only-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-only-wrap button{margin:0 4px;width:50%}.compose-wrap .login-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button{margin:0 4px}.attachment-list-wrap{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail{overflow:hidden}.dark .compose-wrap{background-color:#101014bf}.tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-1066affe]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item[data-v-1066affe]{cursor:pointer}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-avatar[data-v-1066affe]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-1066affe]{color:#18a058;opacity:.8}.tiny-slide-bar[data-v-1066affe]{margin-top:-30px;margin-bottom:-30px}.tiny-slide-bar .slide-bar-item[data-v-1066affe]{min-height:170px;width:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:8px}.tiny-slide-bar .slide-bar-item .slide-bar-item-title[data-v-1066affe]{justify-content:center;font-size:12px;margin-top:4px;height:40px}.load-more[data-v-1066affe]{margin:20px}.load-more .load-more-wrap[data-v-1066affe]{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:14px}.load-more .load-more-wrap .load-more-spinner[data-v-1066affe]{font-size:14px;opacity:.65}.dark .main-content-wrap[data-v-1066affe],.dark .pagination-wrap[data-v-1066affe],.dark .empty-wrap[data-v-1066affe],.dark .skeleton-wrap[data-v-1066affe]{background-color:#101014bf}.dark .tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-1066affe]{color:#63e2b7;opacity:.8}.dark .tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-1066affe]{color:#63e2b7;opacity:.8} diff --git a/web/dist/assets/Messages-d38466e3.js b/web/dist/assets/Messages-d38466e3.js new file mode 100644 index 00000000..6424373e --- /dev/null +++ b/web/dist/assets/Messages-d38466e3.js @@ -0,0 +1 @@ +import{d as D,c as N,r as J,e as t,f as r,k as s,w as a,bf as o,j as f,y as C,A as _,x as m,q as I,Y as i,l as K,h as H,u as T,F as U,H as v,b as Y}from"./@vue-a481fc63.js";import{u as G}from"./vuex-44de225f.js";import{u as X,b as Z}from"./vue-router-e5a2430e.js";import{E as x,M as ee,N as se,O as ne,_ as E,P as te}from"./index-c7635d00.js";import{J as L,i as ae,K as oe,N as re,O as Q,Q as ie,p as le}from"./@vicons-7a4ef312.js";import{j as d,o as ue,M as _e,l as pe,e as ce,O as de,S as me,L as ge,U as ve,F as fe,Q as ye,I as ke,G as he}from"./naive-ui-d8de3dda.js";import{_ as we}from"./whisper-a4b81d0e.js";import{_ as $e}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const be={class:"sender-wrap"},Ce={key:0,class:"nickname"},Ie={class:"username"},Me={key:1,class:"nickname"},Se={class:"username"},ze={key:2,class:"nickname"},Oe={class:"timestamp"},Fe={class:"timestamp-txt"},Ne={key:0,class:"brief-content"},qe={key:1,class:"whisper-content-wrap"},Re={key:2,class:"requesting-friend-wrap"},Ae={key:2,class:"status-info"},Pe={key:3,class:"status-info"},We="https://assets.paopao.info/public/avatar/default/admin.png",je=D({__name:"message-item",props:{message:{}},emits:["send-whisper"],setup(q,{emit:y}){const p=q,c=X(),l=G(),k=e=>()=>H(d,null,{default:()=>H(e)}),h=N(()=>[{label:"私信",key:"whisper",icon:k(le)}]),w=e=>{switch(e){case"whisper":const n=p.message;if(n.type!=99){let $=n.type==4&&n.sender_user_id==l.state.userInfo.id?n.receiver_user:n.sender_user;y("send-whisper",$)}break}},g=N(()=>p.message.type!==4||p.message.sender_user_id!==l.state.userInfo.id),M=N(()=>p.message.type==4&&p.message.receiver_user_id==l.state.userInfo.id),S=N(()=>p.message.type==4&&p.message.sender_user_id==l.state.userInfo.id),R=e=>{u(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?c.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},z=e=>{u(e),ee({user_id:e.sender_user_id}).then(n=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(n=>{console.log(n)})},A=e=>{u(e),se({user_id:e.sender_user_id}).then(n=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(n=>{console.log(n)})},u=e=>{p.message.receiver_user_id==l.state.userInfo.id&&e.is_read===0&&ne({id:e.id}).then(n=>{e.is_read=1}).catch(n=>{console.log(n)})};return(e,n)=>{const $=ue,O=J("router-link"),b=_e,P=pe,W=ce,j=de,B=me,F=ge;return t(),r("div",{class:K(["message-item",{unread:g.value&&e.message.is_read===0}]),onClick:n[5]||(n[5]=V=>u(e.message))},[s(F,{"content-indented":""},{avatar:a(()=>[s($,{round:"",size:30,src:e.message.type==4&&e.message.sender_user_id==o(l).state.userInfo.id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:We},null,8,["src"])]),header:a(()=>[f("div",be,[e.message.type!=4&&e.message.sender_user.id>0||M.value?(t(),r("span",Ce,[s(O,{onClick:n[0]||(n[0]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.sender_user.username}}},{default:a(()=>[_(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),f("span",Ie," @"+m(e.message.sender_user.username),1)])):S.value?(t(),r("span",Me,[s(O,{onClick:n[1]||(n[1]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.receiver_user.username}}},{default:a(()=>[_(m(e.message.receiver_user.nickname),1)]),_:1},8,["to"]),f("span",Se," @"+m(e.message.receiver_user.username),1)])):(t(),r("span",ze," 系统 ")),e.message.type==4?(t(),I(b,{key:3,class:"top-tag",type:"success",size:"small",round:""},{default:a(()=>[_(" 私信 ")]),_:1})):i("",!0),S.value?(t(),I(b,{key:4,class:"top-tag",type:"info",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已发送 ")]),_:1})):i("",!0),e.message.type==4&&e.message.receiver_user_id==o(l).state.userInfo.id?(t(),I(b,{key:5,class:"top-tag",type:"warning",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已接收 ")]),_:1})):i("",!0)])]),"header-extra":a(()=>[f("span",Oe,[g.value&&e.message.is_read===0?(t(),I(P,{key:0,dot:"",processing:""})):i("",!0),f("span",Fe,m(o(x)(e.message.created_on)),1),s(j,{placement:"bottom-end",trigger:"click",size:"small",options:h.value,onSelect:w},{default:a(()=>[s(W,{quaternary:"",circle:""},{icon:a(()=>[s(o(d),null,{default:a(()=>[s(o(ae))]),_:1})]),_:1})]),_:1},8,["options"])])]),description:a(()=>[s(B,{"show-icon":!1,class:"brief-wrap",type:!g.value||e.message.is_read>0?"default":"success"},{default:a(()=>[e.message.type!=4?(t(),r("div",Ne,[_(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),r("span",{key:0,onClick:n[2]||(n[2]=C(V=>R(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(oe))]),_:1}),_(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(t(),r("div",qe,m(e.message.content),1)):i("",!0),e.message.type===5?(t(),r("div",Re,[_(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),r("span",{key:0,onClick:n[3]||(n[3]=C(V=>z(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(re))]),_:1}),_(" 同意 ")])):i("",!0),e.message.reply_id===1?(t(),r("span",{key:1,onClick:n[4]||(n[4]=C(V=>A(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(t(),r("span",Ae,[s(o(d),null,{default:a(()=>[s(o(ie))]),_:1}),_(" 已同意 ")])):i("",!0),e.message.reply_id===3?(t(),r("span",Pe,[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Be=E(je,[["__scopeId","data-v-2e510758"]]),Ve={class:"content"},De=D({__name:"message-skeleton",props:{num:{default:1}},setup(q){return(y,p)=>{const c=ve;return t(!0),r(U,null,T(new Array(y.num),l=>(t(),r("div",{class:"skeleton-item",key:l},[f("div",Ve,[s(c,{text:"",repeat:2}),s(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Ee=E(De,[["__scopeId","data-v-01d2e871"]]),He={key:0,class:"skeleton-wrap"},Le={key:1},Qe={key:0,class:"empty-wrap"},Te={key:0,class:"pagination-wrap"},Ue=D({__name:"Messages",setup(q){const y=Z(),p=G(),c=v(!1),l=v(+y.query.p||1),k=v(10),h=v(0),w=v([]),g=v(!1),M=v({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),S=u=>{M.value=u,g.value=!0},R=()=>{g.value=!1},z=()=>{c.value=!0,te({page:l.value,page_size:k.value}).then(u=>{c.value=!1,w.value=u.list,h.value=Math.ceil(u.pager.total_rows/k.value)}).catch(u=>{c.value=!1})},A=u=>{l.value=u,z()};return Y(()=>{z()}),(u,e)=>{const n=$e,$=we,O=Ee,b=ke,P=Be,W=he,j=fe,B=ye;return t(),r("div",null,[s(n,{title:"消息"}),s(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:a(()=>[s($,{show:g.value,user:M.value,onSuccess:R},null,8,["show","user"]),c.value?(t(),r("div",He,[s(O,{num:k.value},null,8,["num"])])):(t(),r("div",Le,[w.value.length===0?(t(),r("div",Qe,[s(b,{size:"large",description:"暂无数据"})])):i("",!0),(t(!0),r(U,null,T(w.value,F=>(t(),I(W,{key:F.id},{default:a(()=>[s(P,{message:F,onSendWhisper:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),h.value>0?(t(),r("div",Te,[s(B,{page:l.value,"onUpdate:page":A,"page-slot":o(p).state.collapsedRight?5:8,"page-count":h.value},null,8,["page","page-slot","page-count"])])):i("",!0)])}}});const fs=E(Ue,[["__scopeId","data-v-b40dcbaf"]]);export{fs as default}; diff --git a/web/dist/assets/Post-c25a0d58.js b/web/dist/assets/Post-c25a0d58.js new file mode 100644 index 00000000..b5488900 --- /dev/null +++ b/web/dist/assets/Post-c25a0d58.js @@ -0,0 +1 @@ +import{d as ee,H as c,r as ge,e as o,f as _,j as d,k as t,w as n,A as I,x as P,q as R,Y as u,bf as a,y as B,c as oe,al as Ve,F as re,u as _e,$ as Te,a0 as ze,b as Re,h as $e,E as Ye}from"./@vue-a481fc63.js";import{u as ne}from"./vuex-44de225f.js";import{f as pe,t as Je,h as Ke,i as We,_ as ae,j as Ge,k as Qe,l as Xe,m as Ze,g as et,n as tt,o as st,p as ot,q as nt,r as at,s as lt,u as it,v as ut,w as ct,x as rt,y as _t,z as Ce}from"./index-c7635d00.js";import{Y as de,V as G}from"./IEnum-5453a777.js";import{T as Ue,e as me,f as Se,g as ve,h as Le,I as pt,i as dt,j as mt,k as vt,l as ht,m as ft,n as gt,o as yt,p as kt,q as wt,r as bt,s as $t,t as xe,F as Ie,E as ie,u as ue,v as ce,w as Pe}from"./@vicons-7a4ef312.js";import{j as H,e as le,J as Oe,H as Ct,b as xt,K as It,o as ye,L as De,v as Pt,w as Tt,x as zt,y as Rt,z as Ut,B as St,M as Lt,O as Ot,i as Dt,P as At,a as Ae,F as Mt,I as Et,k as qt,G as Nt,f as Bt,g as jt}from"./naive-ui-d8de3dda.js";import{p as ke,_ as Me,a as Ft,b as Ht,c as Vt}from"./content-34f8522f.js";import{u as Ee,b as Yt}from"./vue-router-e5a2430e.js";import{_ as Jt}from"./post-skeleton-f8428500.js";import{l as Kt}from"./lodash-e0b37ac3.js";import{_ as Wt}from"./whisper-a4b81d0e.js";import{c as Gt}from"./copy-to-clipboard-4ef7d3eb.js";import{_ as Qt}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{W as Xt}from"./v3-infinite-loading-2c58ec2f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";const Zt={class:"reply-item"},es={class:"header-wrap"},ts={class:"username"},ss={class:"reply-name"},os={class:"timestamp"},ns={class:"base-wrap"},as={class:"content"},ls={class:"reply-switch"},is={class:"time-item"},us={class:"actions"},cs={class:"upvote-count"},rs=["onClick"],_s={class:"upvote-count"},ps={key:2,class:"action-item"},ds=["onClick"],ms=ee({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(E,{emit:q}){const i=E,m=ne(),v=c(i.reply.is_thumbs_up==de.YES),k=c(i.reply.is_thumbs_down==de.YES),w=c(i.reply.thumbs_up_count),U=()=>{Je({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{v.value=!v.value,v.value?(w.value++,k.value=!1):w.value--}).catch(h=>{console.log(h)})},r=()=>{Ke({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{k.value=!k.value,k.value&&v.value&&(w.value--,v.value=!1)}).catch(h=>{console.log(h)})},S=()=>{q("focusReply",i.reply)},T=()=>{We({id:i.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{q("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const O=ge("router-link"),p=H,C=le,D=Oe,b=Ct;return o(),_("div",Zt,[d("div",es,[d("div",ts,[t(O,{class:"user-link",to:{name:"user",query:{s:i.reply.user.username}}},{default:n(()=>[I(P(i.reply.user.username),1)]),_:1},8,["to"]),d("span",ss,P(i.reply.at_user_id>0?"回复":":"),1),i.reply.at_user_id>0?(o(),R(O,{key:0,class:"user-link",to:{name:"user",query:{s:i.reply.at_user.username}}},{default:n(()=>[I(P(i.reply.at_user.username),1)]),_:1},8,["to"])):u("",!0)]),d("div",os,[I(P(i.reply.ip_loc)+" ",1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===i.reply.user.id?(o(),R(D,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(C,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(p,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),d("div",ns,[d("div",as,[t(b,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[I(P(i.reply.content),1)]),_:1})]),d("div",ls,[d("span",is,P(a(pe)(i.reply.created_on)),1),d("div",us,[a(m).state.userLogined?u("",!0):(o(),_("div",{key:0,class:"action-item",onClick:$[0]||($[0]=B(()=>{},["stop"]))},[t(p,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",cs,P(w.value),1)])),a(m).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(U,["stop"])},[t(p,{size:"medium"},{default:n(()=>[v.value?u("",!0):(o(),R(a(me),{key:0})),v.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",_s,P(w.value>0?w.value:"赞"),1)],8,rs)):u("",!0),a(m).state.userLogined?u("",!0):(o(),_("div",ps,[t(p,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(m).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(r,["stop"])},[t(p,{size:"medium"},{default:n(()=>[k.value?u("",!0):(o(),R(a(ve),{key:0})),k.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,ds)):u("",!0),a(m).state.userLogined?(o(),_("span",{key:4,class:"show opacity-item reply-btn",onClick:S}," 回复 ")):u("",!0)])])])])}}});const vs=ae(ms,[["__scopeId","data-v-187a4ed3"]]),hs={class:"reply-compose-wrap"},fs={class:"reply-switch"},gs={class:"time-item"},ys={class:"actions"},ks={key:0,class:"action-item"},ws={class:"upvote-count"},bs=["onClick"],$s={class:"upvote-count"},Cs={key:2,class:"action-item"},xs=["onClick"],Is={key:0,class:"reply-input-wrap"},Ps=ee({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(E,{expose:q,emit:i}){const m=E,v=ne(),k=c(),w=c(!1),U=c(""),r=c(!1),S=+"300",T=c(m.comment.is_thumbs_up==de.YES),h=c(m.comment.is_thumbs_down==de.YES),$=c(m.comment.thumbs_up_count),O=()=>{Ge({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(b=>{console.log(b)})},p=()=>{Qe({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(b=>{console.log(b)})},C=b=>{w.value=b,b?setTimeout(()=>{var A;(A=k.value)==null||A.focus()},10):(r.value=!1,U.value="",i("reset"))},D=()=>{r.value=!0,Xe({comment_id:m.comment.id,at_user_id:m.atUserid,content:U.value}).then(b=>{C(!1),window.$message.success("评论成功"),i("reload")}).catch(b=>{r.value=!1})};return q({switchReply:C}),(b,A)=>{const s=H,g=xt,F=le,z=It;return o(),_("div",hs,[d("div",fs,[d("span",gs,P(a(pe)(b.comment.created_on)),1),d("div",ys,[a(v).state.userLogined?u("",!0):(o(),_("div",ks,[t(s,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",ws,P($.value),1)])),a(v).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(O,["stop"])},[t(s,{size:"medium"},{default:n(()=>[T.value?u("",!0):(o(),R(a(me),{key:0})),T.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",$s,P($.value>0?$.value:"赞"),1)],8,bs)):u("",!0),a(v).state.userLogined?u("",!0):(o(),_("div",Cs,[t(s,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(v).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(p,["stop"])},[t(s,{size:"medium"},{default:n(()=>[h.value?u("",!0):(o(),R(a(ve),{key:0})),h.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,xs)):u("",!0),a(v).state.userLogined&&!w.value?(o(),_("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=L=>C(!0))}," 回复 ")):u("",!0),a(v).state.userLogined&&w.value?(o(),_("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=L=>C(!1))}," 取消 ")):u("",!0)])]),w.value?(o(),_("div",Is,[t(z,null,{default:n(()=>[t(g,{ref_key:"inputInstRef",ref:k,size:"small",placeholder:m.atUsername?"@"+m.atUsername:"请输入回复内容..",maxlength:a(S),value:U.value,"onUpdate:value":A[2]||(A[2]=L=>U.value=L),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(F,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:D},{default:n(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):u("",!0)])}}});const Ts=ae(Ps,[["__scopeId","data-v-f9af7a93"]]),zs={class:"comment-item"},Rs={class:"nickname-wrap"},Us={class:"username-wrap"},Ss={class:"opt-wrap"},Ls={class:"timestamp"},Os=["innerHTML"],Ds={class:"reply-wrap"},As=ee({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m=ne(),v=Ee(),k=c(0),w=c(""),U=c(),r=oe(()=>{let p=Object.assign({texts:[],imgs:[]},i.comment);return p.contents.map(C=>{(+C.type==1||+C.type==2)&&p.texts.push(C),+C.type==3&&p.imgs.push(C)}),p}),S=(p,C)=>{let D=p.target;if(D.dataset.detail){const b=D.dataset.detail.split(":");b.length===2&&(m.commit("refresh"),b[0]==="tag"?window.$message.warning("评论内的无效话题"):v.push({name:"user",query:{s:b[1]}}))}},T=p=>{var C,D;k.value=p.user_id,w.value=((C=p.user)==null?void 0:C.username)||"",(D=U.value)==null||D.switchReply(!0)},h=()=>{q("reload")},$=()=>{k.value=0,w.value=""},O=()=>{Ze({id:r.value.id}).then(p=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(p=>{})};return(p,C)=>{const D=ye,b=ge("router-link"),A=H,s=le,g=Oe,F=Me,z=Ts,L=vs,J=De;return o(),_("div",zs,[t(J,{"content-indented":""},Ve({avatar:n(()=>[t(D,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",Rs,[t(b,{onClick:C[0]||(C[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:r.value.user.username}}},{default:n(()=>[I(P(r.value.user.nickname),1)]),_:1},8,["to"])]),d("span",Us," @"+P(r.value.user.username),1)]),"header-extra":n(()=>[d("div",Ss,[d("span",Ls,P(r.value.ip_loc),1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===r.value.user.id?(o(),R(g,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:O},{trigger:n(()=>[t(s,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),R(F,{key:0,imgs:r.value.imgs},null,8,["imgs"])):u("",!0),t(z,{ref_key:"replyComposeRef",ref:U,comment:r.value,"at-userid":k.value,"at-username":w.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),d("div",Ds,[(o(!0),_(re,null,_e(r.value.replies,j=>(o(),R(L,{key:j.id,reply:j,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),_(re,null,_e(r.value.texts,j=>(o(),_("span",{key:j.id,class:"comment-text",onClick:C[1]||(C[1]=B(V=>S(V,r.value.id),["stop"])),innerHTML:a(ke)(j.content).content},null,8,Os))),128))]),key:"0"}:void 0]),1024)])}}});const Ms=ae(As,[["__scopeId","data-v-36dac8c8"]]),Es=E=>(Te("data-v-d9073453"),E=E(),ze(),E),qs={key:0,class:"compose-wrap"},Ns={class:"compose-line"},Bs={class:"compose-user"},js={class:"compose-line compose-options"},Fs={class:"attachment"},Hs={class:"submit-wrap"},Vs={class:"attachment-list-wrap"},Ys={key:1,class:"compose-wrap"},Js=Es(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ks={key:0,class:"login-only-wrap"},Ws={key:1,class:"login-wrap"},Gs=ee({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(E,{emit:q}){const i=E,m=ne(),v=c([]),k=c(!1),w=c(!1),U=c(!1),r=c(""),S=c(),T=c("public/image"),h=c([]),$=c([]),O=c("true".toLowerCase()==="true"),p=+"300",C="/v1/attachment",D=oe(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),b=Kt.debounce(f=>{et({k:f}).then(y=>{let x=[];y.suggest.map(e=>{x.push({label:e,value:e})}),v.value=x,w.value=!1}).catch(y=>{w.value=!1})},200),A=(f,y)=>{w.value||(w.value=!0,y==="@"&&b(f))},s=f=>{f.length>p?r.value=f.substring(0,p):r.value=f},g=f=>{T.value=f},F=f=>{for(let l=0;l30&&(f[l].name=x.substring(0,18)+"..."+x.substring(x.length-9)+"."+e)}h.value=f},z=async f=>{var y,x;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((y=f.file.file)==null?void 0:y.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((x=f.file.file)==null?void 0:x.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},L=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);e.code===0&&T.value==="public/image"&&$.value.push({id:f.id,content:e.data.content})}catch{window.$message.error("上传失败")}},J=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);if(e.code!==0){let l=e.msg||"上传失败";e.details&&e.details.length>0&&e.details.map(M=>{l+=":"+M}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},j=({file:f})=>{let y=$.value.findIndex(x=>x.id===f.id);y>-1&&$.value.splice(y,1)},V=()=>{k.value=!0},Q=()=>{var f;k.value=!1,(f=S.value)==null||f.clear(),h.value=[],r.value="",$.value=[]},K=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=ke(r.value);const y=[];let x=100;y.push({content:r.value,type:2,sort:x}),$.value.map(e=>{x++,y.push({content:e.content,type:3,sort:x})}),U.value=!0,tt({contents:y,post_id:i.postId,users:Array.from(new Set(f))}).then(e=>{window.$message.success("发布成功"),U.value=!1,q("post-success"),Q()}).catch(e=>{U.value=!1})},Y=f=>{m.commit("triggerAuth",!0),m.commit("triggerAuthKey",f)};return(f,y)=>{const x=ye,e=Pt,l=H,M=le,X=Tt,te=zt,he=Rt,fe=Ut,W=St;return o(),_("div",null,[a(m).state.userInfo.id>0?(o(),_("div",qs,[d("div",Ns,[d("div",Bs,[t(x,{round:"",size:30,src:a(m).state.userInfo.avatar},null,8,["src"])]),t(e,{type:"textarea",size:"large",autosize:"",bordered:!1,options:v.value,prefix:["@"],loading:w.value,value:r.value,disabled:i.lock===1,"onUpdate:value":s,onSearch:A,onFocus:V,placeholder:i.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),k.value?(o(),R(W,{key:0,ref_key:"uploadRef",ref:S,abstract:"","list-type":"image",multiple:!0,max:9,action:C,headers:{Authorization:D.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:z,onFinish:L,onError:J,onRemove:j,"onUpdate:fileList":F},{default:n(()=>[d("div",js,[d("div",Fs,[t(X,{abstract:""},{default:n(({handleClick:Z})=>[t(M,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{g("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(l,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(pt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(he,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(te,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(p)*100},null,8,["percentage"])]),default:n(()=>[I(" "+P(r.value.length)+" / "+P(a(p)),1)]),_:1})]),d("div",Hs,[t(M,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:Q},{default:n(()=>[I(" 取消 ")]),_:1}),t(M,{loading:U.value,onClick:K,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",Vs,[t(fe)])]),_:1},8,["headers","data","file-list"])):u("",!0)])):(o(),_("div",Ys,[Js,O.value?u("",!0):(o(),_("div",Ks,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1})])),O.value?(o(),_("div",Ws,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1}),t(M,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=Z=>Y("signup"))},{default:n(()=>[I(" 注册 ")]),_:1})])):u("",!0)]))])}}});const Qs=ae(Gs,[["__scopeId","data-v-d9073453"]]),Xs={class:"username-wrap"},Zs={class:"options"},eo={key:0},to=["innerHTML"],so={class:"timestamp"},oo={key:0},no={key:1},ao={class:"opts-wrap"},lo=["onClick"],io={class:"opt-item"},uo=["onClick"],co=["onClick"],ro=ee({__name:"post-detail",props:{post:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m="true".toLowerCase()==="true",v=ne(),k=Ee(),w=c(!1),U=c(!1),r=c(!1),S=c(!1),T=c(!1),h=c(!1),$=c(!1),O=c(!1),p=c(G.PUBLIC),C=c(!1),D=c({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),b=e=>{D.value=e,C.value=!0},A=()=>{C.value=!1},s=oe({get:()=>{let e=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},i.post);return e.contents.map(l=>{(+l.type==1||+l.type==2)&&e.texts.push(l),+l.type==3&&e.imgs.push(l),+l.type==4&&e.videos.push(l),+l.type==6&&e.links.push(l),+l.type==7&&e.attachments.push(l),+l.type==8&&e.charge_attachments.push(l)}),e},set:e=>{i.post.upvote_count=e.upvote_count,i.post.comment_count=e.comment_count,i.post.collection_count=e.collection_count,i.post.is_essence=e.is_essence}}),g=e=>()=>$e(H,null,{default:()=>$e(e)}),F=oe(()=>{var M;let e=[];if(!v.state.userInfo.is_admin&&v.state.userInfo.id!=i.post.user.id)return e.push({label:"私信",key:"whisper",icon:g(kt)}),e;e.push({label:"删除",key:"delete",icon:g(wt)}),s.value.is_lock===0?e.push({label:"锁定",key:"lock",icon:g(bt)}):e.push({label:"解锁",key:"unlock",icon:g($t)}),v.state.userInfo.is_admin&&(s.value.is_top===0?e.push({label:"置顶",key:"stick",icon:g(xe)}):e.push({label:"取消置顶",key:"unstick",icon:g(xe)})),s.value.is_essence===0?e.push({label:"设为亮点",key:"highlight",icon:g(Ie)}):e.push({label:"取消亮点",key:"unhighlight",icon:g(Ie)});let l;return s.value.visibility===G.PUBLIC?l={label:"公开",key:"vpublic",icon:g(ie),children:[{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:s.value.visibility===G.PRIVATE?l={label:"私密",key:"vprivate",icon:g(ue),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:m&&s.value.visibility===G.FRIEND?l={label:"好友可见",key:"vfriend",icon:g(Pe),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:l={label:"关注可见",key:"vfollowing",icon:g(ce),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)}]},m&&s.value.visibility!==G.FRIEND&&((M=l.children)==null||M.push({label:"好友可见",key:"vfriend",icon:g(Pe)})),e.push(l),e}),z=e=>{k.push({name:"post",query:{id:e}})},L=(e,l)=>{if(e.target.dataset.detail){const M=e.target.dataset.detail.split(":");if(M.length===2){v.commit("refresh"),M[0]==="tag"?k.push({name:"home",query:{q:M[1],t:"tag"}}):k.push({name:"user",query:{s:M[1]}});return}}z(l)},J=e=>{switch(e){case"whisper":b(i.post.user);break;case"delete":r.value=!0;break;case"lock":case"unlock":S.value=!0;break;case"stick":case"unstick":T.value=!0;break;case"highlight":case"unhighlight":h.value=!0;break;case"vpublic":p.value=0,$.value=!0;break;case"vprivate":p.value=1,$.value=!0;break;case"vfriend":p.value=2,$.value=!0;break;case"vfollowing":p.value=3,$.value=!0;break}},j=()=>{nt({id:s.value.id}).then(e=>{window.$message.success("删除成功"),k.replace("/"),setTimeout(()=>{v.commit("refresh")},50)}).catch(e=>{O.value=!1})},V=()=>{at({id:s.value.id}).then(e=>{q("reload"),e.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(e=>{O.value=!1})},Q=()=>{lt({id:s.value.id}).then(e=>{q("reload"),e.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(e=>{O.value=!1})},K=()=>{it({id:s.value.id}).then(e=>{s.value={...s.value,is_essence:e.highlight_status},e.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(e=>{O.value=!1})},Y=()=>{let e=p.value;e==3&&(e=0),ut({id:s.value.id,visibility:e}).then(l=>{q("reload"),window.$message.success("修改可见性成功")}).catch(l=>{O.value=!1})},f=()=>{ct({id:s.value.id}).then(e=>{w.value=e.status,e.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(e=>{console.log(e)})},y=()=>{rt({id:s.value.id}).then(e=>{U.value=e.status,e.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(e=>{console.log(e)})},x=()=>{Gt(`${window.location.origin}/#/post?id=${s.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板")};return Re(()=>{v.state.userInfo.id>0&&(st({id:s.value.id}).then(e=>{w.value=e.status}).catch(e=>{console.log(e)}),ot({id:s.value.id}).then(e=>{U.value=e.status}).catch(e=>{console.log(e)}))}),(e,l)=>{const M=ye,X=ge("router-link"),te=Lt,he=le,fe=Ot,W=Dt,Z=Wt,we=Ft,qe=Me,Ne=Ht,Be=Vt,be=At,je=Ae,Fe=De;return o(),_("div",{class:"detail-item",onClick:l[7]||(l[7]=N=>z(s.value.id))},[t(Fe,null,{avatar:n(()=>[t(M,{round:"",size:30,src:s.value.user.avatar},null,8,["src"])]),header:n(()=>[t(X,{onClick:l[0]||(l[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:s.value.user.username}}},{default:n(()=>[I(P(s.value.user.nickname),1)]),_:1},8,["to"]),d("span",Xs," @"+P(s.value.user.username),1),s.value.is_top?(o(),R(te,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[I(" 置顶 ")]),_:1})):u("",!0),s.value.visibility==a(G).PRIVATE?(o(),R(te,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[I(" 私密 ")]),_:1})):u("",!0),s.value.visibility==a(G).FRIEND?(o(),R(te,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[I(" 好友可见 ")]),_:1})):u("",!0)]),"header-extra":n(()=>[d("div",Zs,[t(fe,{placement:"bottom-end",trigger:"click",size:"small",options:F.value,onSelect:J},{default:n(()=>[t(he,{quaternary:"",circle:""},{icon:n(()=>[t(a(H),null,{default:n(()=>[t(a(dt))]),_:1})]),_:1})]),_:1},8,["options"])]),t(W,{show:r.value,"onUpdate:show":l[1]||(l[1]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show"]),t(W,{show:S.value,"onUpdate:show":l[2]||(l[2]=N=>S.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),t(W,{show:T.value,"onUpdate:show":l[3]||(l[3]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"]),t(W,{show:h.value,"onUpdate:show":l[4]||(l[4]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(s.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),t(W,{show:$.value,"onUpdate:show":l[5]||(l[5]=N=>$.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(p.value==0?"公开":p.value==1?"私密":p.value==2?"好友可见":"关注可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(Z,{show:C.value,user:D.value,onSuccess:A},null,8,["show","user"])]),footer:n(()=>[t(we,{attachments:s.value.attachments},null,8,["attachments"]),t(we,{attachments:s.value.charge_attachments,price:s.value.attachment_price},null,8,["attachments","price"]),t(qe,{imgs:s.value.imgs},null,8,["imgs"]),t(Ne,{videos:s.value.videos,full:!0},null,8,["videos"]),t(Be,{links:s.value.links},null,8,["links"]),d("div",so,[I(" 发布于 "+P(a(pe)(s.value.created_on))+" ",1),s.value.ip_loc?(o(),_("span",oo,[t(be,{vertical:""}),I(" "+P(s.value.ip_loc),1)])):u("",!0),!a(v).state.collapsedLeft&&s.value.created_on!=s.value.latest_replied_on?(o(),_("span",no,[t(be,{vertical:""}),I(" 最后回复 "+P(a(pe)(s.value.latest_replied_on)),1)])):u("",!0)])]),action:n(()=>[d("div",ao,[t(je,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(f,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?u("",!0):(o(),R(a(mt),{key:0})),w.value?(o(),R(a(vt),{key:1,color:"red"})):u("",!0)]),_:1}),I(" "+P(s.value.upvote_count),1)],8,lo),d("div",io,[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(ht))]),_:1}),I(" "+P(s.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(y,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[U.value?u("",!0):(o(),R(a(ft),{key:0})),U.value?(o(),R(a(gt),{key:1,color:"#ff7600"})):u("",!0)]),_:1}),I(" "+P(s.value.collection_count),1)],8,uo),d("div",{class:"opt-item hover",onClick:B(x,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(yt))]),_:1}),I(" "+P(s.value.share_count),1)],8,co)]),_:1})])]),default:n(()=>[s.value.texts.length>0?(o(),_("div",eo,[(o(!0),_(re,null,_e(s.value.texts,N=>(o(),_("span",{key:N.id,class:"post-text",onClick:l[6]||(l[6]=B(He=>L(He,s.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,to))),128))])):u("",!0)]),_:1})])}}});const _o=E=>(Te("data-v-0d01659f"),E=E(),ze(),E),po={key:0,class:"detail-wrap"},mo={key:1,class:"empty-wrap"},vo={key:0,class:"comment-opts-wrap"},ho=_o(()=>d("span",{class:"comment-title-item"},"评论",-1)),fo={key:2},go={key:0,class:"skeleton-wrap"},yo={key:1},ko={key:0,class:"empty-wrap"},wo={key:0,class:"load-more-spinner"},bo={key:1,class:"load-more-spinner"},$o={key:2,class:"load-more-spinner"},Co={key:3,class:"load-more-spinner"},se=20,xo=ee({__name:"Post",setup(E){const q=Yt(),i=c({}),m=c(!1),v=c(!1),k=c([]),w=oe(()=>+q.query.id),U=c("default"),r=c(!0);let S={loading(){},loaded(){},complete(){},error(){}};const T=z=>{U.value=z,z==="default"&&(r.value=!0),g(S)},h=()=>{i.value={id:0},m.value=!0,_t({id:w.value}).then(z=>{m.value=!1,i.value=z,g(S)}).catch(z=>{m.value=!1})};let $=1;const O=c(!1),p=c([]),C=z=>{O.value||Ce({id:i.value.id,sort_strategy:"default",page:$,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&($===1?p.value=L.list:p.value.push(...L.list),k.value=p.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})};let D=1,b=c(!1);const A=c([]),s=z=>{b.value||Ce({id:i.value.id,sort_strategy:"newest",page:D,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&(D===1?A.value=L.list:A.value.push(...L.list),k.value=A.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})},g=z=>{w.value<1||(k.value.length===0&&(v.value=!0),U.value==="default"?(k.value=p.value,C(z)):(k.value=A.value,s(z)),v.value=!1)},F=()=>{$=1,O.value=!1,p.value=[],D=1,b.value=!1,A.value=[],g(S)};return Re(()=>{h()}),Ye(w,()=>{w.value>0&&q.name==="post"&&h()}),(z,L)=>{const J=Qt,j=ro,V=Et,Q=qt,K=Nt,Y=Bt,f=jt,y=Qs,x=Jt,e=Ms,l=Ae,M=Mt;return o(),_("div",null,[t(J,{title:"泡泡详情",back:!0}),t(M,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(K,null,{default:n(()=>[t(Q,{show:m.value},{default:n(()=>[i.value.id>1?(o(),_("div",po,[t(j,{post:i.value,onReload:h},null,8,["post"])])):(o(),_("div",mo,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),i.value.id>0?(o(),_("div",vo,[t(f,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[ho]),default:n(()=>[t(Y,{name:"default",tab:"默认"}),t(Y,{name:"newest",tab:"最新"})]),_:1})])):u("",!0),i.value.id>0?(o(),R(K,{key:1},{default:n(()=>[t(y,{lock:i.value.is_lock,"post-id":i.value.id,onPostSuccess:F},null,8,["lock","post-id"])]),_:1})):u("",!0),i.value.id>0?(o(),_("div",fo,[v.value?(o(),_("div",go,[t(x,{num:5})])):(o(),_("div",yo,[k.value.length===0?(o(),_("div",ko,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):u("",!0),(o(!0),_(re,null,_e(k.value,X=>(o(),R(K,{key:X.id},{default:n(()=>[t(e,{comment:X,onReload:F},null,8,["comment"])]),_:2},1024))),128))]))])):u("",!0),k.value.length>=se?(o(),R(l,{key:3,justify:"center"},{default:n(()=>[t(a(Xt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:g},{spinner:n(()=>[r.value&&O.value?(o(),_("span",wo)):u("",!0),!r.value&&a(b)?(o(),_("span",bo)):u("",!0),r.value&&!O.value?(o(),_("span",$o,"加载评论")):u("",!0),!r.value&&!a(b)?(o(),_("span",Co,"加载评论")):u("",!0)]),_:1})]),_:1})):u("",!0)]),_:1})])}}});const an=ae(xo,[["__scopeId","data-v-0d01659f"]]);export{an as default}; diff --git a/web/dist/assets/Profile-79842d31.js b/web/dist/assets/Profile-79842d31.js new file mode 100644 index 00000000..7bb0b197 --- /dev/null +++ b/web/dist/assets/Profile-79842d31.js @@ -0,0 +1 @@ +import{_ as fe}from"./whisper-a4b81d0e.js";import{_ as he,a as ge}from"./post-item.vue_vue_type_style_index_0_lang-d54eb310.js";import{_ as ke}from"./post-skeleton-f8428500.js";import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{d as we,H as n,b as be,E as Pe,r as Ie,f as o,k as u,bf as _,q as d,w as c,Y as m,e,j as f,x as I,A as E,y as ae,F as y,u as w}from"./@vue-a481fc63.js";import{u as Te}from"./vuex-44de225f.js";import{b as Me}from"./vue-router-e5a2430e.js";import{e as x,F as ze,_ as qe}from"./index-c7635d00.js";import{W as xe}from"./v3-infinite-loading-2c58ec2f.js";import{F as Se,a as $e,o as Ce,M as Le,f as Be,g as Fe,I as Ne,k as Ve,G as De}from"./naive-ui-d8de3dda.js";import"./content-34f8522f.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"profile-baseinfo"},We={class:"avatar"},je={class:"base-info"},Ee={class:"username"},He={class:"userinfo"},Re={class:"info-item"},Ae={class:"info-item"},Ge={class:"userinfo"},Ye={class:"info-item"},Je={class:"info-item"},Ke={key:0,class:"skeleton-wrap"},Oe={key:1},Qe={key:0,class:"empty-wrap"},Xe={key:1},Ze={key:0},ea={key:1},aa={key:2},ta={key:3},sa={key:4},la={key:2},oa={key:0},na={key:1},ua={key:2},ia={key:3},ra={key:4},ca={class:"load-more-wrap"},va={class:"load-more-spinner"},_a=we({__name:"Profile",setup(ma){const i=Te(),T=Me(),v=n(!1),b=n(!1),s=n([]),S=n([]),$=n([]),C=n([]),L=n([]),B=n([]),p=n("post"),H=n(+T.query.p||1),R=n(1),A=n(1),G=n(1),Y=n(1),t=n(+T.query.p||1),h=n(20),r=n(0),J=n(0),K=n(0),O=n(0),Q=n(0),X=n(0),F=n(!1),Z=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),g=a=>{Z.value=a,F.value=!0},te=()=>{F.value=!1},N=()=>{switch(p.value){case"post":V();break;case"comment":D();break;case"highlight":U();break;case"media":W();break;case"star":j();break}},V=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"post",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),S.value=s.value,J.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},D=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"comment",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),$.value=s.value,K.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},U=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"highlight",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),C.value=s.value,O.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},W=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"media",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),L.value=s.value,Q.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},j=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"star",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),B.value=s.value,X.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},se=a=>{switch(p.value=a,p.value){case"post":s.value=S.value,t.value=H.value,r.value=J.value,V();break;case"comment":s.value=$.value,t.value=R.value,r.value=K.value,D();break;case"highlight":s.value=C.value,t.value=A.value,r.value=O.value,U();break;case"media":s.value=L.value,t.value=G.value,r.value=Q.value,W();break;case"star":s.value=B.value,t.value=Y.value,r.value=X.value,j();break}},le=()=>{switch(p.value){case"post":H.value=t.value,V();break;case"comment":R.value=t.value,D();break;case"highlight":A.value=t.value,U();break;case"media":G.value=t.value,W();break;case"star":Y.value=t.value,j();break}},oe=()=>{t.value{N()}),Pe(()=>({path:T.path,query:T.query,refresh:i.state.refresh}),(a,P)=>{if(a.refresh!==P.refresh){t.value=+T.query.p||1,setTimeout(()=>{N()},0);return}P.path!=="/post"&&a.path==="/profile"&&(t.value=+T.query.p||1,setTimeout(()=>{N()},0))}),(a,P)=>{const ne=ye,ue=Ce,ie=Le,ee=Ie("router-link"),M=Be,re=Fe,ce=ke,ve=Ne,z=he,k=De,q=ge,_e=fe,me=Se,pe=Ve,de=$e;return e(),o("div",null,[u(ne,{title:"主页"}),_(i).state.userInfo.id>0?(e(),d(me,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:c(()=>[f("div",Ue,[f("div",We,[u(ue,{size:72,src:_(i).state.userInfo.avatar},null,8,["src"])]),f("div",je,[f("div",Ee,[f("strong",null,I(_(i).state.userInfo.nickname),1),f("span",null," @"+I(_(i).state.userInfo.username),1),_(i).state.userInfo.is_admin?(e(),d(ie,{key:0,class:"top-tag",type:"error",size:"small",round:""},{default:c(()=>[E(" 管理员 ")]),_:1})):m("",!0)]),f("div",He,[f("span",Re,"UID. "+I(_(i).state.userInfo.id),1),f("span",Ae,I(_(ze)(_(i).state.userInfo.created_on))+" 加入",1)]),f("div",Ge,[f("span",Ye,[u(ee,{onClick:P[0]||(P[0]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"follows"}}},{default:c(()=>[E(" 关注  "+I(_(i).state.userInfo.follows),1)]),_:1},8,["to"])]),f("span",Je,[u(ee,{onClick:P[1]||(P[1]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"followings"}}},{default:c(()=>[E(" 粉丝  "+I(_(i).state.userInfo.followings),1)]),_:1},8,["to"])])])])]),u(re,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:c(()=>[u(M,{name:"post",tab:"泡泡"}),u(M,{name:"comment",tab:"评论"}),u(M,{name:"highlight",tab:"亮点"}),u(M,{name:"media",tab:"图文"}),u(M,{name:"star",tab:"喜欢"})]),_:1}),v.value&&s.value.length===0?(e(),o("div",Ke,[u(ce,{num:h.value},null,8,["num"])])):(e(),o("div",Oe,[s.value.length===0?(e(),o("div",Qe,[u(ve,{size:"large",description:"暂无数据"})])):m("",!0),_(i).state.desktopModelShow?(e(),o("div",Xe,[p.value==="post"?(e(),o("div",Ze,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",ea,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",aa,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ta,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",sa,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)])):(e(),o("div",la,[p.value==="post"?(e(),o("div",oa,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",na,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",ua,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ia,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",ra,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)]))])),u(_e,{show:F.value,user:Z.value,onSuccess:te},null,8,["show","user"])]),_:1})):m("",!0),r.value>0?(e(),d(de,{key:1,justify:"center"},{default:c(()=>[u(_(xe),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:P[2]||(P[2]=l=>oe())},{spinner:c(()=>[f("div",ca,[b.value?m("",!0):(e(),d(pe,{key:0,size:14})),f("span",va,I(b.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):m("",!0)])}}});const Ga=qe(_a,[["__scopeId","data-v-756dadd0"]]);export{Ga as default}; diff --git a/web/dist/assets/Setting-af3630fe.js b/web/dist/assets/Setting-af3630fe.js new file mode 100644 index 00000000..f06ec4cd --- /dev/null +++ b/web/dist/assets/Setting-af3630fe.js @@ -0,0 +1 @@ +import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{d as ye,H as d,R as Q,b as ke,f as g,k as t,w as s,q as b,Y as _,e as r,j as m,bf as u,A as p,x as R,O as be,D as Ce,Z as q,y as A,$ as Ie,a0 as $e}from"./@vue-a481fc63.js";import{u as Pe}from"./vuex-44de225f.js";import{a0 as X,a1 as Se,a2 as Ue,a3 as Re,a4 as qe,a5 as Ae,a6 as Be,_ as Ne}from"./index-c7635d00.js";import{Y as ze}from"./@vicons-7a4ef312.js";import{h as Ke,o as xe,e as De,B as Fe,b as je,j as Oe,S as Te,$ as Ve,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-d8de3dda.js";import"./vue-router-e5a2430e.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const j=B=>(Ie("data-v-a681720e"),B=B(),$e(),B),Ye={class:"base-line avatar"},Ge={class:"base-line"},He=j(()=>m("span",{class:"base-label"},"昵称",-1)),Je={key:0},Ze={class:"base-line"},Qe=j(()=>m("span",{class:"base-label"},"用户名",-1)),Xe={key:0},et={key:1},tt=j(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=j(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},pt={class:"captcha-img-wrap"},ct={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(B){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),N=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),z=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),S=d(!1),U=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),H=d(),J=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return N.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):N.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&N.value==="public/avatar"&&Se({avatar:f.data.content}).then(c=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(c=>{console.log(c)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=J.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=H.value)==null||e.validate(v=>{v||(x.value=!0,Ue({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(z.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{z.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{z.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&T()}))})},O=()=>{X().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},T=()=>{X().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},pe=()=>{Ae({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},ce=()=>{if(!(I.value>0&&U.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Be({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{U.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,U.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&O(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),O(),T()}),(n,e)=>{const v=we,f=xe,c=De,D=Fe,h=je,ge=Oe,F=Ke,Z=Te,w=Ve,he=Ee,V=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:N.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(c,{size:"small"},{default:s(()=>[p("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[He,C.value?_("",!0):(r(),g("div",Je,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:pe,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(c,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(ze))]),_:1})]),_:1})):_("",!0)]),m("div",Ze,[Qe,p(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Xe,[p(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[p(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Z,{title:"手机绑定提示",type:"warning"},{default:s(()=>[p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:O},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(c,{type:"primary",ghost:"",disabled:U.value,loading:P.value,onClick:ce},{default:s(()=>[p(R(I.value>0&&U.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",lt,[t(c,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ue},{default:s(()=>[p(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[p(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[p(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Z,{title:"激活码激活提示",type:"warning"},{default:s(()=>[p(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",pt,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",ct,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:T},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",mt,[t(c,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[p(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[p(" 您已设置密码 "),S.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[p(" 重置密码 ")]),_:1})),S.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:H,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:J,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",ft,[t(c,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[p(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=Ne(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Topic-b95723bc.js b/web/dist/assets/Topic-b95723bc.js new file mode 100644 index 00000000..28c84950 --- /dev/null +++ b/web/dist/assets/Topic-b95723bc.js @@ -0,0 +1 @@ +import{A as $,B as M,C as O,D as x,_ as z}from"./index-c7635d00.js";import{x as D}from"./@vicons-7a4ef312.js";import{d as F,H as i,c as A,b as q,r as U,e as c,f as _,k as n,w as s,q as b,A as B,x as f,Y as u,bf as h,E as j,al as H,F as Y,u as G}from"./@vue-a481fc63.js";import{o as J,M as C,j as K,e as P,O as Q,L as R,F as W,f as X,g as Z,a as ee,k as oe}from"./naive-ui-d8de3dda.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as ne}from"./vuex-44de225f.js";import"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=F({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=A(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":O({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":M({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return q(()=>{r.value=!1}),(e,o)=>{const w=U("router-link"),g=J,k=C,a=K,d=P,v=Q,p=R;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[B(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(D))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=F({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);j(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=A({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,x({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return q(()=>{g()}),(a,d)=>{const v=te,p=X,L=C,V=Z,N=ie,S=ee,E=oe,I=W;return c(),_("div",null,[n(v,{title:"话题"}),n(I,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(V,{type:"line",animated:"","onUpdate:value":k},H({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(L,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[B(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(E,{show:l.value},{default:s(()=>[n(S,null,{default:s(()=>[(c(!0),_(Y,null,G(r.value,y=>(c(),b(N,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Se=z(_e,[["__scopeId","data-v-1fb31ecf"]]);export{Se as default}; diff --git a/web/dist/assets/User-bcd9f3b4.js b/web/dist/assets/User-bcd9f3b4.js new file mode 100644 index 00000000..1459faa7 --- /dev/null +++ b/web/dist/assets/User-bcd9f3b4.js @@ -0,0 +1 @@ +import{_ as Re,a as He}from"./post-item.vue_vue_type_style_index_0_lang-d54eb310.js";import{_ as Ne}from"./post-skeleton-f8428500.js";import{_ as Ve}from"./whisper-a4b81d0e.js";import{_ as je}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{d as pe,H as i,e as s,q as m,w as r,j as f,k as t,A as U,x,R as Ge,c as Ee,b as Je,E as Ke,r as Ye,f as u,Y as d,bf as k,y as ce,F as $,u as T,h as _e}from"./@vue-a481fc63.js";import{u as Qe}from"./vuex-44de225f.js";import{b as Xe}from"./vue-router-e5a2430e.js";import{G as Ze,_ as me,H as ea,F as aa,e as V,I as sa,J as ta,K as la,L as na}from"./index-c7635d00.js";import{R as oa,H as ua,S as ia,b as ra,e as fe,i as ca,T as _a,F as va,a as da,j as ve,o as pa,M as ma,O as fa,k as ha,f as ga,g as wa,I as ka,G as ya}from"./naive-ui-d8de3dda.js";import{W as ba}from"./v3-infinite-loading-2c58ec2f.js";import{i as Pa,p as $a,y as de,z as Ta,v as xa,D as za,G as Ua}from"./@vicons-7a4ef312.js";import"./content-34f8522f.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Fa={class:"whisper-wrap"},Ia={class:"whisper-line"},qa={class:"whisper-line send-wrap"},Ca=pe({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(ue,{emit:O}){const y=ue,g=i(""),F=i(!1),c=()=>{O("success")},h=()=>{F.value=!0,Ze({user_id:y.user.id,greetings:g.value}).then(a=>{window.$message.success("发送成功"),F.value=!1,g.value="",c()}).catch(a=>{F.value=!1})};return(a,v)=>{const L=oa,A=ua,l=ia,I=ra,q=fe,C=ca;return s(),m(C,{show:a.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:r(()=>[f("div",Fa,[t(l,{"show-icon":!1},{default:r(()=>[U(" 发送添加朋友申请给: "),t(A,{style:{"max-width":"100%"}},{default:r(()=>[t(L,{type:"success"},{default:r(()=>[U(x(a.user.nickname)+"@"+x(a.user.username),1)]),_:1})]),_:1})]),_:1}),f("div",Ia,[t(I,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:g.value,"onUpdate:value":v[0]||(v[0]=M=>g.value=M),maxlength:"120","show-count":""},null,8,["value"])]),f("div",qa,[t(q,{strong:"",secondary:"",type:"primary",loading:F.value,onClick:h},{default:r(()=>[U(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ma=me(Ca,[["__scopeId","data-v-60be56a2"]]),Sa={key:0,class:"profile-baseinfo"},Wa={class:"avatar"},La={class:"base-info"},Oa={class:"username"},Aa={class:"userinfo"},Ba={class:"info-item"},Da={class:"info-item"},Ra={class:"userinfo"},Ha={class:"info-item"},Na={class:"info-item"},Va={key:0,class:"user-opts"},ja={key:0,class:"skeleton-wrap"},Ga={key:1},Ea={key:0,class:"empty-wrap"},Ja={key:1},Ka={key:0},Ya={key:1},Qa={key:2},Xa={key:3},Za={key:4},es={key:2},as={key:0},ss={key:1},ts={key:2},ls={key:3},ns={key:4},os={class:"load-more-wrap"},us={class:"load-more-spinner"},is=pe({__name:"User",setup(ue){const O=_a(),y=Qe(),g=Xe(),F="true".toLowerCase()==="true",c=i(!1),h=i(!1),a=Ge({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),v=i(!1),L=i(!1),A=i(!1),l=i([]),I=i([]),q=i([]),C=i([]),M=i([]),B=i([]),S=i(g.query.s||""),n=i(+g.query.p||1),p=i("post"),G=i(+g.query.p||1),E=i(1),J=i(1),K=i(1),Y=i(1),w=i(20),_=i(0),Q=i(0),X=i(0),Z=i(0),ee=i(0),ae=i(0),b=e=>{a.id=e.id,a.username=e.username,a.nickname=e.nickname,a.avatar=e.avatar,L.value=!0},he=()=>{h.value=!1,l.value=[],I.value=[],q.value=[],C.value=[],M.value=[],B.value=[],p.value="post",n.value=1,G.value=1,E.value=1,J.value=1,K.value=1,Y.value=1,_.value=0,Q.value=0,X.value=0,Z.value=0,ee.value=0,ae.value=0},ge=()=>{switch(p.value){case"post":j();break;case"comment":se();break;case"highlight":te();break;case"media":le();break;case"star":ne();break}},j=()=>{c.value=!0,V({username:S.value,style:"post",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),I.value=l.value,Q.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},se=()=>{c.value=!0,V({username:S.value,style:"comment",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),q.value=l.value,X.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},te=()=>{c.value=!0,V({username:S.value,style:"highlight",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),C.value=l.value,Z.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},le=()=>{c.value=!0,V({username:S.value,style:"media",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),M.value=l.value,ee.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},ne=()=>{c.value=!0,V({username:S.value,style:"star",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),B.value=l.value,ae.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},we=e=>{switch(p.value=e,p.value){case"post":l.value=I.value,n.value=G.value,_.value=Q.value,j();break;case"comment":l.value=q.value,n.value=E.value,_.value=X.value,se();break;case"highlight":l.value=C.value,n.value=J.value,_.value=Z.value,te();break;case"media":l.value=M.value,n.value=K.value,_.value=ee.value,le();break;case"star":l.value=B.value,n.value=Y.value,_.value=ae.value,ne();break}},D=()=>{v.value=!0,ea({username:S.value}).then(e=>{v.value=!1,a.id=e.id,a.avatar=e.avatar,a.username=e.username,a.nickname=e.nickname,a.is_admin=e.is_admin,a.is_friend=e.is_friend,a.created_on=e.created_on,a.is_following=e.is_following,a.follows=e.follows,a.followings=e.followings,a.status=e.status,ge()}).catch(e=>{v.value=!1,console.log(e)})},ke=()=>{switch(p.value){case"post":G.value=n.value,j();break;case"comment":E.value=n.value,se();break;case"highlight":J.value=n.value,te();break;case"media":K.value=n.value,le();break;case"star":Y.value=n.value,ne();break}},ye=()=>{L.value=!0},be=()=>{A.value=!0},Pe=()=>{L.value=!1},$e=()=>{A.value=!1},W=e=>()=>_e(ve,null,{default:()=>_e(e)}),Te=Ee(()=>{let e=[{label:"私信",key:"whisper",icon:W($a)}];return y.state.userInfo.is_admin&&(a.status===1?e.push({label:"禁言",key:"banned",icon:W(de)}):e.push({label:"解封",key:"deblocking",icon:W(de)})),a.is_following?e.push({label:"取消关注",key:"unfollow",icon:W(Ta)}):e.push({label:"关注",key:"follow",icon:W(xa)}),F&&(a.is_friend?e.push({label:"删除好友",key:"delete",icon:W(za)}):e.push({label:"添加朋友",key:"requesting",icon:W(Ua)})),e}),xe=e=>{switch(e){case"whisper":ye();break;case"delete":ze();break;case"requesting":be();break;case"follow":case"unfollow":Ue();break;case"banned":case"deblocking":Fe();break}},ze=()=>{O.warning({title:"删除好友",content:"将好友 “"+a.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,sa({user_id:a.id}).then(e=>{v.value=!1,a.is_friend=!1,j()}).catch(e=>{v.value=!1,console.log(e)})}})},Ue=()=>{O.success({title:"提示",content:"确定"+(a.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,a.is_following?ta({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("取消关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)}):la({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Fe=()=>{O.warning({title:"警告",content:"确定对该用户进行"+(a.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,na({id:a.id,status:a.status===1?2:1}).then(e=>{v.value=!1,a.status===1?window.$message.success("禁言成功"):window.$message.success("解封成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Ie=()=>{n.value<_.value||_.value==0?(h.value=!1,n.value++,ke()):h.value=!0};return Je(()=>{D()}),Ke(()=>({path:g.path,query:g.query}),(e,z)=>{z.path==="/u"&&e.path==="/u"&&(S.value=g.query.s||"",he(),D())}),(e,z)=>{const qe=je,Ce=pa,oe=ma,ie=Ye("router-link"),Me=fe,Se=fa,We=Ve,re=ha,R=ga,Le=wa,Oe=Ne,Ae=ka,H=Re,P=ya,N=He,Be=va,De=da;return s(),u("div",null,[t(qe,{title:"用户详情"}),t(Be,{class:"main-content-wrap profile-wrap",bordered:""},{default:r(()=>[t(re,{show:v.value},{default:r(()=>[a.id>0?(s(),u("div",Sa,[f("div",Wa,[t(Ce,{size:72,src:a.avatar},null,8,["src"])]),f("div",La,[f("div",Oa,[f("strong",null,x(a.nickname),1),f("span",null," @"+x(a.username),1),F&&k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_friend?(s(),m(oe,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:r(()=>[U(" 好友 ")]),_:1})):d("",!0),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_following?(s(),m(oe,{key:1,class:"top-tag",type:"success",size:"small",round:""},{default:r(()=>[U(" 已关注 ")]),_:1})):d("",!0),a.is_admin?(s(),m(oe,{key:2,class:"top-tag",type:"error",size:"small",round:""},{default:r(()=>[U(" 管理员 ")]),_:1})):d("",!0)]),f("div",Aa,[f("span",Ba,"UID. "+x(a.id),1),f("span",Da,x(k(aa)(a.created_on))+" 加入",1)]),f("div",Ra,[f("span",Ha,[t(ie,{onClick:z[0]||(z[0]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"follows"}}},{default:r(()=>[U(" 关注  "+x(a.follows),1)]),_:1},8,["to"])]),f("span",Na,[t(ie,{onClick:z[1]||(z[1]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"followings"}}},{default:r(()=>[U(" 粉丝  "+x(a.followings),1)]),_:1},8,["to"])])])]),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username?(s(),u("div",Va,[t(Se,{placement:"bottom-end",trigger:"click",size:"small",options:Te.value,onSelect:xe},{default:r(()=>[t(Me,{quaternary:"",circle:""},{icon:r(()=>[t(k(ve),null,{default:r(()=>[t(k(Pa))]),_:1})]),_:1})]),_:1},8,["options"])])):d("",!0)])):d("",!0),t(We,{show:L.value,user:a,onSuccess:Pe},null,8,["show","user"]),t(Ma,{show:A.value,user:a,onSuccess:$e},null,8,["show","user"])]),_:1},8,["show"]),t(Le,{class:"profile-tabs-wrap",type:"line",animated:"",value:p.value,"onUpdate:value":we},{default:r(()=>[t(R,{name:"post",tab:"泡泡"}),t(R,{name:"comment",tab:"评论"}),t(R,{name:"highlight",tab:"亮点"}),t(R,{name:"media",tab:"图文"}),t(R,{name:"star",tab:"喜欢"})]),_:1},8,["value"]),c.value&&l.value.length===0?(s(),u("div",ja,[t(Oe,{num:w.value},null,8,["num"])])):(s(),u("div",Ga,[l.value.length===0?(s(),u("div",Ea,[t(Ae,{size:"large",description:"暂无数据"})])):d("",!0),k(y).state.desktopModelShow?(s(),u("div",Ja,[p.value==="post"?(s(),u("div",Ka,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",Ya,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",Qa,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",Xa,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",Za,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)])):(s(),u("div",es,[p.value==="post"?(s(),u("div",as,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",ss,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",ts,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",ls,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",ns,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)]))]))]),_:1}),_.value>0?(s(),m(De,{key:0,justify:"center"},{default:r(()=>[t(k(ba),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:z[2]||(z[2]=o=>Ie())},{spinner:r(()=>[f("div",os,[h.value?d("",!0):(s(),m(re,{key:0,size:14})),f("span",us,x(h.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):d("",!0)])}}});const Rs=me(is,[["__scopeId","data-v-ebc19734"]]);export{Rs as default}; diff --git a/web/dist/assets/Wallet-22a26ca6.js b/web/dist/assets/Wallet-22a26ca6.js new file mode 100644 index 00000000..49a73368 --- /dev/null +++ b/web/dist/assets/Wallet-22a26ca6.js @@ -0,0 +1 @@ +import{_ as G}from"./post-skeleton-f8428500.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{d as K,H as c,b as J,f as _,k as e,w as o,e as a,bf as y,Y as w,j as n,A as k,F as q,u as z,O as ee,D as te,x as r,q as N,l as oe,y as ne,$ as ae,a0 as se}from"./@vue-a481fc63.js";import{u as le}from"./vuex-44de225f.js";import{b as ce}from"./vue-router-e5a2430e.js";import{b as ie}from"./qrcode-9719fc56.js";import{X as _e,Y as re,Z as ue,$ as pe,E as de,_ as me}from"./index-c7635d00.js";import{X as ge}from"./@vicons-7a4ef312.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,Q as be,I as xe,j as Ce,l as Ie,h as Se,G as Ae}from"./naive-ui-d8de3dda.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const B=m=>(ae("data-v-870bd246"),m=m(),se(),m),Re={class:"balance-wrap"},$e={class:"balance-line"},qe={class:"balance-opts"},ze={key:0,class:"pagination-wrap"},Ne={key:0,class:"skeleton-wrap"},Be={key:1},Ee={key:0,class:"empty-wrap"},Fe={class:"bill-line"},Oe={key:0,class:"amount-options"},Pe={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},We=B(()=>n("canvas",{id:"qrcode-container"},null,-1)),De={class:"pay-tips"},Le={class:"pay-sub-tips"},Ue=B(()=>n("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ve=K({__name:"Wallet",setup(m){const i=le(),E=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+E.query.p||1),C=c(20),I=c(0),F=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),A=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},O=s=>{x.value=s,A()},R=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),A()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},P=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",R())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},W=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{R()}),(s,l)=>{const S=H,d=fe,D=ye,f=we,$=ke,L=be,U=G,V=xe,M=Ae,Y=ve,j=Ce,Q=Ie,X=Se,Z=he;return a(),_("div",null,[e(S,{title:"钱包"}),e(Y,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(a(),_("div",ze,[e(L,{page:x.value,"onUpdate:page":O,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[n("div",Re,[n("div",$e,[e(D,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),n("div",qe,[e($,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:P},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:W},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(a(),_("div",Ne,[e(U,{num:C.value},null,8,["num"])])):(a(),_("div",Be,[b.value.length===0?(a(),_("div",Ee,[e(V,{size:"large",description:"暂无数据"})])):w("",!0),(a(!0),_(q,null,z(b.value,t=>(a(),N(M,{key:t.id},{default:o(()=>[n("div",Fe,[n("div",null,"NO."+r(t.id),1),n("div",null,r(t.reason),1),n("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),n("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(Z,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(X,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(a(),_("div",Oe,[e($,{align:"baseline"},{default:o(()=>[(a(!0),_(q,null,z(F.value,t=>(a(),N(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ne(Me=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(a(),_("div",Pe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(n("div",Te,[We,n("div",De," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),n("div",Le,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ue])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const ft=me(Ve,[["__scopeId","data-v-870bd246"]]);export{ft as default}; diff --git a/web/dist/assets/content-34f8522f.js b/web/dist/assets/content-34f8522f.js new file mode 100644 index 00000000..84bffbac --- /dev/null +++ b/web/dist/assets/content-34f8522f.js @@ -0,0 +1 @@ +import{d as h,e,f as r,F as a,u as m,k as s,w as o,bf as c,j as C,y as k,x as I,q as d,Y as g,H as j,A as N,h as b}from"./@vue-a481fc63.js";import{R as V,U as T}from"./@vicons-7a4ef312.js";import{j as $,V as A,W as B,m as U,X as z,e as F,i as L}from"./naive-ui-d8de3dda.js";import{_ as D,S as R,T as M}from"./index-c7635d00.js";import{e as O}from"./paopao-video-player-2fe58954.js";const P={class:"link-wrap"},S={class:"link-txt-wrap"},q=["href"],H={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",P,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(V))]),_:1}),C("div",S,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",H,I(n.content),1)],8,q)])]))),128))])}}});const ot=D(W,[["__scopeId","data-v-36eef76b"]]),X={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=A,n=B;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(O),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=U,_=A,f=B,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},G=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),R({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{M({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=F,i=L;return e(),r("div",Z,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(T))]),_:1})]),default:o(()=>[N(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=D(G,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; diff --git a/web/dist/assets/discover-tweets-ab101944.jpeg b/web/dist/assets/discover-tweets-ab101944.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1444f19b98eed95f0138317cb82c51efe2030773 GIT binary patch literal 51219 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 n of i)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function r(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function c(i){if(i.ep)return;i.ep=!0;const n=r(i);fetch(i.href,n)}})();const st="modulepreload",nt=function(e){return"/"+e},ie={},T=function(t,r,c){if(!r||r.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(r.map(n=>{if(n=nt(n),n in ie)return;ie[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!c)for(let b=i.length-1;b>=0;b--){const _=i[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":st,m||(v.as="script",v.crossOrigin=""),v.href=n,document.head.appendChild(v),m)return new Promise((b,_)=>{v.addEventListener("load",b),v.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},rt=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>T(()=>import("./Home-5c5e61eb.js"),["assets/Home-5c5e61eb.js","assets/whisper-a4b81d0e.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js","assets/content-34f8522f.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/IEnum-5453a777.js","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/@opentiny-d73a2d67.js","assets/vue-1e3b54ec.js","assets/xss-a5544f63.js","assets/cssfilter-af71ba68.js","assets/@opentiny-0f942bd4.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Home-63775b21.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"泡泡详情"},component:()=>T(()=>import("./Post-c25a0d58.js"),["assets/Post-c25a0d58.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/IEnum-5453a777.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-34f8522f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vue-router-e5a2430e.js","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/@babel-725317a4.js","assets/whisper-a4b81d0e.js","assets/whisper-61451957.css","assets/copy-to-clipboard-4ef7d3eb.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Post-1ac7281c.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>T(()=>import("./Topic-b95723bc.js"),["assets/Topic-b95723bc.js","assets/@vicons-7a4ef312.js","assets/@vue-a481fc63.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Topic-384e019e.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>T(()=>import("./Anouncement-80f0b2c2.js"),["assets/Anouncement-80f0b2c2.js","assets/post-skeleton-f8428500.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>T(()=>import("./Profile-79842d31.js"),["assets/Profile-79842d31.js","assets/whisper-a4b81d0e.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js","assets/content-34f8522f.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Profile-3ffb7be9.css","assets/vfonts-7afd136d.css"])},{path:"/u",name:"user",meta:{title:"用户详情"},component:()=>T(()=>import("./User-bcd9f3b4.js"),["assets/User-bcd9f3b4.js","assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js","assets/content-34f8522f.js","assets/@vue-a481fc63.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/whisper-a4b81d0e.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/User-b21ba7c9.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>T(()=>import("./Messages-d38466e3.js"),["assets/Messages-d38466e3.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-a4b81d0e.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Messages-3c6066fb.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>T(()=>import("./Collection-942eb9b3.js"),["assets/Collection-942eb9b3.js","assets/whisper-a4b81d0e.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js","assets/content-34f8522f.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Collection-5c3a44e2.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>T(()=>import("./Contacts-e743465d.js"),["assets/Contacts-e743465d.js","assets/whisper-a4b81d0e.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/@vicons-7a4ef312.js","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Contacts-7fa3e0d6.css","assets/vfonts-7afd136d.css"])},{path:"/following",name:"following",meta:{title:"关注"},component:()=>T(()=>import("./Following-7bf27bed.js"),["assets/Following-7bf27bed.js","assets/whisper-a4b81d0e.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Following-6aa7d36c.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>T(()=>import("./Wallet-22a26ca6.js"),["assets/Wallet-22a26ca6.js","assets/post-skeleton-f8428500.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>T(()=>import("./Setting-af3630fe.js"),["assets/Setting-af3630fe.js","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>T(()=>import("./404-a356d59e.js"),["assets/404-a356d59e.js","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],ve=Te({history:Ae(),routes:rt});ve.beforeEach((e,t,r)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,r()});const at=Ie({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:"",created_on:0,follows:0,followings:0,is_admin:!1}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:"",created_on:0,follows:0,followings:0,is_admin:!1},e.userLogined=!1}},actions:{},modules:{}}),X=Re.create({baseURL:"",timeout:3e4});X.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));X.interceptors.response.use(e=>{const{data:t={},code:r=0}=(e==null?void 0:e.data)||{};if(+r==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var r;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((r=t==null?void 0:t.data)==null?void 0:r.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return X(e)}const ce=e=>o({method:"post",url:"/v1/auth/login",data:e}),lt=e=>o({method:"post",url:"/v1/auth/register",data:e}),G=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),ut={class:"auth-wrap"},it={key:0},ct=Y({__name:"auth",setup(e){const t=k("true".toLowerCase()==="true"),r=B(),c=k(!1),i=k(),n=oe({username:"",password:""}),m=k(),d=oe({username:"",password:"",repassword:""}),S={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},v=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=i.value)==null||u.validate(I=>{I||(c.value=!0,ce({username:n.username,password:n.password}).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("登录成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),r.commit("refresh"),n.username="",n.password=""}).catch(h=>{c.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(I=>{I||(c.value=!0,lt({username:d.username,password:d.password}).then(h=>ce({username:d.username,password:d.password})).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("注册成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(h=>{c.value=!1}))})};return Z(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?G(_).then(u=>{r.commit("updateUserinfo",u),r.commit("triggerAuth",!1)}).catch(u=>{r.commit("userLogout")}):r.commit("userLogout")}),(_,u)=>{const I=Ce,h=$e,R=_e,C=he,O=Me,x=Se,l=ge,L=Ue,F=De,H=fe,V=xe;return w(),K(V,{show:f(r).state.authModalShow,"onUpdate:show":u[7]||(u[7]=p=>f(r).state.authModalShow=p),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[y("div",ut,[s(H,{bordered:!1},{default:a(()=>[t.value?M("",!0):(w(),E("div",it,[s(R,{justify:"center"},{default:a(()=>[s(h,null,{default:a(()=>[s(I,{type:"success"},{default:a(()=>[U("账号登录")]),_:1})]),_:1})]),_:1}),s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[0]||(u[0]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])])),t.value?(w(),K(F,{key:1,"default-value":f(r).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(L,{name:"signin",tab:"登录"},{default:a(()=>[s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[2]||(u[2]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(L,{name:"signup",tab:"注册"},{default:a(()=>[s(x,{ref_key:"registerRef",ref:m,model:d,rules:S},{default:a(()=>[s(O,{label:"用户名",path:"username"},{default:a(()=>[s(C,{value:d.username,"onUpdate:value":u[4]||(u[4]=p=>d.username=p),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=p=>d.password=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"重复密码",path:"repassword"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=p=>d.repassword=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:b},{default:a(()=>[U(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const we=(e,t)=>{const r=e.__vccOpts||e;for(const[c,i]of t)r[c]=i;return r},dt=we(ct,[["__scopeId","data-v-053dfa44"]]),io=e=>o({method:"get",url:"/v1/posts",params:e}),mt=e=>o({method:"get",url:"/v1/tags",params:e}),co=e=>o({method:"get",url:"/v1/post",params:e}),mo=e=>o({method:"get",url:"/v1/post/star",params:e}),po=e=>o({method:"post",url:"/v1/post/star",data:e}),_o=e=>o({method:"get",url:"/v1/post/collection",params:e}),ho=e=>o({method:"post",url:"/v1/post/collection",data:e}),go=e=>o({method:"get",url:"/v1/post/comments",params:e}),fo=e=>o({method:"get",url:"/v1/user/contacts",params:e}),vo=e=>o({method:"post",url:"/v1/post",data:e}),wo=e=>o({method:"delete",url:"/v1/post",data:e}),yo=e=>o({method:"post",url:"/v1/post/lock",data:e}),bo=e=>o({method:"post",url:"/v1/post/stick",data:e}),ko=e=>o({method:"post",url:"/v1/post/highlight",data:e}),Po=e=>o({method:"post",url:"/v1/post/visibility",data:e}),Oo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),Lo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),To=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),Ao=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),Eo=e=>o({method:"post",url:"/v1/post/comment",data:e}),Io=e=>o({method:"delete",url:"/v1/post/comment",data:e}),Ro=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),Co=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),$o=e=>o({method:"post",url:"/v1/topic/stick",data:e}),Mo=e=>o({method:"post",url:"/v1/topic/follow",data:e}),So=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),Uo=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Do=e=>o({method:"post",url:"/v1/captcha",data:e}),xo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),qo=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),No=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ko=e=>o({method:"post",url:"/v1/user/follow",data:e}),Fo=e=>o({method:"post",url:"/v1/user/unfollow",data:e}),Vo=e=>o({method:"get",url:"/v1/user/follows",params:e}),zo=e=>o({method:"get",url:"/v1/user/followings",params:e}),Ho=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Wo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Yo=e=>o({method:"post",url:"/v1/user/phone",data:e}),Bo=e=>o({method:"post",url:"/v1/user/activate",data:e}),jo=e=>o({method:"post",url:"/v1/user/password",data:e}),Go=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Qo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),de=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Zo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Jo=e=>o({method:"post",url:"/v1/user/message/read",data:e}),Xo=e=>o({method:"get",url:"/v1/user/collections",params:e}),es=e=>o({method:"get",url:"/v1/user/profile",params:e}),ts=e=>o({method:"get",url:"/v1/user/posts",params:e}),os=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),ss=e=>o({method:"post",url:"/v1/user/recharge",data:e}),ns=e=>o({method:"get",url:"/v1/user/recharge",params:e}),rs=e=>o({method:"get",url:"/v1/suggest/users",params:e}),as=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),ls=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),us=e=>o({method:"get",url:"/v1/attachment",params:e}),is=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),pt=()=>o({method:"get",url:"/v1/admin/site/status"});D.locale("zh-cn");const _t=e=>D.unix(e).fromNow(),cs=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()},ds=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD"):t.fromNow()},ms=e=>D.unix(e).utc(!0).format("YYYY年MM月"),ht={key:0,class:"rightbar-wrap"},gt={class:"search-wrap"},ft={class:"post-num"},vt={class:"post-num"},wt={class:"copyright"},yt=["href"],bt=["href"],kt={class:"site-info-item"},Pt=Y({__name:"rightbar",setup(e){const t=k([]),r=k([]),c=k(!1),i=k(""),n=B(),m=pe(),d=k(0),S=k(0),v=k(0),b=k(0),_=k(null),u="2023 paopao.info",I="Roc's Me",h="",R="泡泡(PaoPao)开源社区",C="https://www.paopao.info",O=+"6",x=+"12",l=()=>{pt().then(g=>{d.value=g.register_user_count,S.value=g.online_user_count,v.value=g.history_max_online,b.value=g.server_up_time}).catch(g=>{}),p.disconnect()},L=()=>{c.value=!0,mt({type:"hot_extral",num:x,extral_num:O}).then(g=>{t.value=g.topics,r.value=g.extral_topics??[],V.value=!0,c.value=!1}).catch(g=>{c.value=!1})},F=g=>g>=1e3?(g/1e3).toFixed(1)+"k":g,H=()=>{m.push({name:"home",query:{q:i.value}})},V=J({get:()=>n.state.userLogined&&r.value.length!==0,set:g=>{}});Q(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(g,z)=>{(g.refreshTopicFollow!==z.refreshTopicFollow||g.userLogined)&&L(),n.state.userInfo.is_admin&&l()});const p=new IntersectionObserver(g=>{g.forEach(z=>{z.isIntersecting&&l()})},{root:null,rootMargin:"0px",threshold:1});return Z(()=>{_.value&&p.observe(_.value),L()}),(g,z)=>{const ye=W,be=he,ee=me("router-link"),te=qe,j=fe,ke=_e;return f(n).state.collapsedRight?M("",!0):(w(),E("div",ht,[y("div",gt,[s(be,{round:"",clearable:"",placeholder:"搜一搜...",value:i.value,"onUpdate:value":z[0]||(z[0]=$=>i.value=$),onKeyup:q(N(H,["prevent"]),["enter"])},{prefix:a(()=>[s(ye,{component:f(Ge)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),V.value?(w(),K(j,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(r.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",ft,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(j,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(t.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",vt,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(j,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[y("div",wt,"© "+A(f(u)),1),y("div",null,[s(ke,null,{default:a(()=>[y("a",{href:f(h),target:"_blank",class:"hash-link"},A(f(I)),9,yt),y("a",{href:f(C),target:"_blank",class:"hash-link"},A(f(R)),9,bt)]),_:1})])]),_:1}),f(n).state.userInfo.is_admin?(w(),E("div",{key:1,class:"site-info",ref_key:"userInfoElement",ref:_},[y("span",kt,A(d.value)+" 注册用户,"+A(S.value)+" 人在线,最高在线 "+A(v.value)+" 人,站点上线于 "+A(f(_t)(b.value)),1)],512)):M("",!0)]))}}});const Ot=we(Pt,[["__scopeId","data-v-0a6cd0b6"]]),Lt="/assets/logo-52afee68.png",Tt={class:"sidebar-wrap"},At={class:"logo-wrap"},Et={key:0,class:"user-wrap"},It={class:"user-info"},Rt={class:"nickname"},Ct={class:"nickname-txt"},$t={class:"username"},Mt={class:"user-mini-wrap"},St={key:1,class:"user-wrap"},Ut={key:0,class:"login-only-wrap"},Dt={key:1,class:"login-wrap"},xt=Y({__name:"sidebar",setup(e){const t=B(),r=Ee(),c=pe(),i=k(!1),n=k(r.name||""),m=k(),d="true".toLowerCase()==="true",S="false".toLowerCase()==="true",v="false".toLocaleLowerCase()==="true",b=k("true".toLowerCase()==="true"),_=+"5000";Q(r,()=>{n.value=r.name}),Q(t.state,()=>{t.state.userInfo.id>0?m.value||(de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)}),m.value=setInterval(()=>{de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)})},_)):m.value&&clearInterval(m.value)}),Z(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const u=J(()=>{const l=[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}];return S&&l.push({label:"公告",key:"anouncement",icon:()=>P(Qe),href:"/anouncement"}),l.push({label:"主页",key:"profile",icon:()=>P(Ze),href:"/profile"}),l.push({label:"消息",key:"messages",icon:()=>P(Je),href:"/messages"}),l.push({label:"收藏",key:"collection",icon:()=>P(Xe),href:"/collection"}),d&&l.push({label:"好友",key:"contacts",icon:()=>P(et),href:"/contacts"}),v&&l.push({label:"钱包",key:"wallet",icon:()=>P(tt),href:"/wallet"}),l.push({label:"设置",key:"setting",icon:()=>P(ot),href:"/setting"}),t.state.userInfo.id>0?l:[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}]}),I=l=>"href"in l?P("div",{},l.label):l.label,h=l=>l.key==="messages"?P(Ke,{dot:!0,show:i.value,processing:!0},{default:()=>P(W,{color:l.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:l.icon})}):P(W,null,{default:l.icon}),R=(l,L={})=>{n.value=l,c.push({name:l,query:{t:new Date().getTime()}})},C=()=>{r.path==="/"&&t.commit("refresh"),R("home")},O=l=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",l)},x=()=>{t.commit("userLogout"),t.commit("refresh"),C()};return window.$store=t,window.$message=Ne(),(l,L)=>{const F=Fe,H=Ve,V=ze,p=ge;return w(),E("div",Tt,[y("div",At,[s(F,{class:"logo-img",width:"36",src:f(Lt),"preview-disabled":!0,onClick:C},null,8,["src"])]),s(H,{accordion:!0,"icon-size":24,options:u.value,"render-label":I,"render-icon":h,value:n.value,"onUpdate:value":R},null,8,["options","value"]),f(t).state.userInfo.id>0?(w(),E("div",Et,[s(V,{class:"user-avatar",round:"",size:34,src:f(t).state.userInfo.avatar},null,8,["src"]),y("div",It,[y("div",Rt,[y("span",Ct,A(f(t).state.userInfo.nickname),1),s(p,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:x},{icon:a(()=>[s(f(W),null,{default:a(()=>[s(f(ue))]),_:1})]),_:1})]),y("div",$t,"@"+A(f(t).state.userInfo.username),1)]),y("div",Mt,[s(p,{class:"logout",quaternary:"",circle:"",onClick:x},{icon:a(()=>[s(f(W),{size:24},{default:a(()=>[s(f(ue))]),_:1})]),_:1})])])):(w(),E("div",St,[b.value?M("",!0):(w(),E("div",Ut,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[0]||(L[0]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1})])),b.value?(w(),E("div",Dt,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[1]||(L[1]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1}),s(p,{strong:"",secondary:"",round:"",type:"info",onClick:L[2]||(L[2]=g=>O("signup"))},{default:a(()=>[U(" 注册 ")]),_:1})])):M("",!0)]))])}}});const qt={"has-sider":"",class:"main-wrap",position:"static"},Nt={key:0},Kt={class:"content-wrap"},Ft=Y({__name:"App",setup(e){const t=B(),r=J(()=>t.state.theme==="dark"?We:null);return(c,i)=>{const n=xt,m=me("router-view"),d=Ot,S=dt,v=Ye,b=Be,_=je,u=He;return w(),K(u,{theme:r.value},{default:a(()=>[s(b,null,{default:a(()=>[s(v,null,{default:a(()=>{var I;return[y("div",{class:Oe(["app-container",{dark:((I=r.value)==null?void 0:I.name)==="dark",mobile:!f(t).state.desktopModelShow}])},[y("div",qt,[f(t).state.desktopModelShow?(w(),E("div",Nt,[s(n)])):M("",!0),y("div",Kt,[s(m,{class:"app-wrap"},{default:a(({Component:h})=>[(w(),K(Pe,null,[c.$route.meta.keepAlive?(w(),K(re(h),{key:0})):M("",!0)],1024)),c.$route.meta.keepAlive?M("",!0):(w(),K(re(h),{key:0}))]),_:1})]),s(d)]),s(S)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});Le(Ft).use(ve).use(at).mount("#app");export{ns as $,$o as A,So as B,Mo as C,mt as D,_t as E,ms as F,qo as G,es as H,Wo as I,Fo as J,Ko as K,is as L,No as M,Ho as N,Jo as O,Zo as P,Xo as Q,ds as R,ls as S,us as T,Vo as U,zo as V,xo as W,G as X,os as Y,ss as Z,we as _,as as a,Uo as a0,Qo as a1,jo as a2,Yo as a3,Bo as a4,Go as a5,Do as a6,xt as a7,fo as b,vo as c,io as d,ts as e,cs as f,rs as g,Ao as h,Co as i,Oo as j,Lo as k,Ro as l,Io as m,Eo as n,mo as o,_o as p,wo as q,yo as r,bo as s,To as t,ko as u,Po as v,po as w,ho as x,co as y,go as z}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js new file mode 100644 index 00000000..3ce68257 --- /dev/null +++ b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js @@ -0,0 +1 @@ +import{a7 as A}from"./index-c7635d00.js";import{u as B}from"./vuex-44de225f.js";import{u as E}from"./vue-router-e5a2430e.js";import{j as z}from"./vooks-6d99783e.js";import{Z as C,_ as N,$ as P,a0 as D}from"./@vicons-7a4ef312.js";import{u as R,a3 as $,a4 as x,j as H,e as I,a5 as V,h as j}from"./naive-ui-d8de3dda.js";import{d as q,H as h,b as F,e as n,f,bf as a,k as e,w as t,Y as c,j as L,q as _,A as U,x as Y,F as Z}from"./@vue-a481fc63.js";const G={key:0},J={class:"navbar"},ae=q({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(w){const i=w,o=B(),m=E(),l=h(!1),g=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),o.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),o.commit("triggerTheme","light"))},k=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return F(()=>{localStorage.getItem("PAOPAO_THEME")||u(z()==="dark"),o.state.desktopModelShow||(window.$store=o,window.$message=R())}),(s,d)=>{const b=A,y=$,M=x,r=H,p=I,O=V,S=j;return n(),f(Z,null,[a(o).state.drawerModelShow?(n(),f("div",G,[e(M,{show:l.value,"onUpdate:show":d[0]||(d[0]=T=>l.value=T),width:212,placement:g.value,resizable:""},{default:t(()=>[e(y,null,{default:t(()=>[e(b)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(S,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[L("div",J,[a(o).state.drawerModelShow&&!s.back?(n(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(C))]),_:1})]),_:1})):c("",!0),s.back?(n(),_(p,{key:1,class:"back-btn",onClick:k,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(N))]),_:1})]),_:1})):c("",!0),U(" "+Y(i.title)+" ",1),i.theme?(n(),_(O,{key:2,value:a(o).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:a(P)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:a(D)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{ae as _}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js new file mode 100644 index 00000000..3121c7b9 --- /dev/null +++ b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js @@ -0,0 +1 @@ +import{p as R,a as V,_ as E,b as Y,c as G}from"./content-34f8522f.js";import{d as J,c as x,r as K,e as a,f,k as n,al as Q,w as o,j as i,F as U,u as W,y as m,bf as l,A as r,x as p,q as u,Y as c,h as C}from"./@vue-a481fc63.js";import{u as X}from"./vuex-44de225f.js";import{u as Z}from"./vue-router-e5a2430e.js";import{R as ee,w as te,x as se}from"./index-c7635d00.js";import{c as oe}from"./copy-to-clipboard-4ef7d3eb.js";import{i as ne,j as ae,l as le,m as ie,p as ue,o as ce}from"./@vicons-7a4ef312.js";import{j as v,o as re,M as pe,e as _e,O as me,a as ve,L as de}from"./naive-ui-d8de3dda.js";const he={class:"post-item"},ge={class:"nickname-wrap"},ke={class:"username-wrap"},ye={class:"timestamp-mobile"},fe={class:"item-header-extra"},we=["innerHTML"],be=["onClick"],xe=["onClick"],Ne=J({__name:"mobile-post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",he,[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",ge,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",ke," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0),i("div",null,[i("span",ye,p(l(ee)(e.value.created_on))+" "+p(e.value.ip_loc),1)])]),"header-extra":o(()=>[i("div",fe,[n(D,{placement:"bottom-end",trigger:"click",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,be),i("div",{class:"opt-item",onClick:s[3]||(s[3]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,xe)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[i("div",{onClick:s[2]||(s[2]=h=>k(e.value.id))},[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,we))),128))])]),key:"0"}:void 0]),1024)])}}});const Ce={class:"nickname-wrap"},$e={class:"username-wrap"},ze={class:"item-header-extra"},Te={class:"timestamp"},qe=["innerHTML"],Pe=["onClick"],Le=["onClick"],Ae=J({__name:"post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",{class:"post-item",onClick:s[3]||(s[3]=h=>k(e.value.id))},[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",Ce,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",$e," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":o(()=>[i("div",ze,[i("span",Te,p(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+p(l(ee)(e.value.created_on)),1),n(D,{placement:"bottom-end",trigger:"hover",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item hover",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,Pe),i("div",{class:"opt-item hover",onClick:s[2]||(s[2]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item hover",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,Le)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text hover",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,qe))),128))]),key:"0"}:void 0]),1024)])}}});export{Ae as _,Ne as a}; diff --git a/web/dist/assets/post-skeleton-f8428500.js b/web/dist/assets/post-skeleton-f8428500.js new file mode 100644 index 00000000..4bba5e57 --- /dev/null +++ b/web/dist/assets/post-skeleton-f8428500.js @@ -0,0 +1 @@ +import{U as r}from"./naive-ui-d8de3dda.js";import{d as c,e as s,f as n,u as p,j as o,k as t,F as l}from"./@vue-a481fc63.js";import{_ as i}from"./index-c7635d00.js";const m={class:"user"},u={class:"content"},d=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",u,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(d,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/assets/whisper-a4b81d0e.js b/web/dist/assets/whisper-a4b81d0e.js new file mode 100644 index 00000000..faeaf63e --- /dev/null +++ b/web/dist/assets/whisper-a4b81d0e.js @@ -0,0 +1 @@ +import{W as b,_ as k}from"./index-c7635d00.js";import{R as B,H as C,S as N,b as R,e as U,i as V}from"./naive-ui-d8de3dda.js";import{d as W,H as p,e as $,q as z,w as s,j as a,k as n,A as _,x as i}from"./@vue-a481fc63.js";const H={class:"whisper-wrap"},S={class:"whisper-line"},j={class:"whisper-line send-wrap"},q=W({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(r,{emit:u}){const d=r,o=p(""),t=p(!1),c=()=>{u("success")},m=()=>{t.value=!0,b({user_id:d.user.id,content:o.value}).then(e=>{window.$message.success("发送成功"),t.value=!1,o.value="",c()}).catch(e=>{t.value=!1})};return(e,l)=>{const h=B,w=C,f=N,v=R,g=U,y=V;return $(),z(y,{show:e.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:s(()=>[a("div",H,[n(f,{"show-icon":!1},{default:s(()=>[_(" 即将发送私信给: "),n(w,{style:{"max-width":"100%"}},{default:s(()=>[n(h,{type:"success"},{default:s(()=>[_(i(e.user.nickname)+"@"+i(e.user.username),1)]),_:1})]),_:1})]),_:1}),a("div",S,[n(v,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":l[0]||(l[0]=x=>o.value=x),maxlength:"200","show-count":""},null,8,["value"])]),a("div",j,[n(g,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:m},{default:s(()=>[_(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const M=k(q,[["__scopeId","data-v-0cbfe47c"]]);export{M as _}; From ef6f905da587c736627351cc6153bd8f3ff81d6c Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sun, 17 Sep 2023 16:50:57 +0800 Subject: [PATCH 10/26] add index newest/hots/following tweets logic --- auto/api/v1/loose.go | 7 +- internal/conf/cache.go | 19 +- internal/conf/config.yaml | 1 + internal/conf/setting.go | 1 + internal/core/cs/tweets.go | 13 ++ internal/core/search.go | 9 +- internal/core/tweets.go | 3 + internal/dao/jinzhu/dbr/post.go | 1 + internal/dao/jinzhu/tweets.go | 15 ++ internal/model/joint/json.go | 19 ++ internal/model/joint/page.go | 27 +++ internal/model/web/loose.go | 27 +-- internal/model/web/xerror.go | 2 + internal/servants/base/base.go | 25 ++- internal/servants/web/loose.go | 181 +++++++++++++----- .../mysql/0011_home_timeline.down.sql | 19 ++ .../migration/mysql/0011_home_timeline.up.sql | 39 ++++ .../postgres/0010_home_timeline.down.sql | 19 ++ .../postgres/0010_home_timeline.up.sql | 40 ++++ .../sqlite3/0011_home_timeline.down.sql | 19 ++ .../sqlite3/0011_home_timeline.up.sql | 44 +++++ scripts/paopao-mysql.sql | 21 +- scripts/paopao-postgres.sql | 17 +- scripts/paopao-sqlite3.sql | 29 ++- .../{404-a356d59e.js => 404-e1bbb486.js} | 2 +- ...nt-80f0b2c2.js => Anouncement-a5b70f32.js} | 2 +- ...ion-942eb9b3.js => Collection-38566728.js} | 2 +- ...tacts-e743465d.js => Contacts-789b01f1.js} | 2 +- ...wing-7bf27bed.js => Following-e831211b.js} | 2 +- web/dist/assets/Home-5c5e61eb.js | 1 - web/dist/assets/Home-9f453b75.js | 1 + ...sages-d38466e3.js => Messages-8b750f63.js} | 2 +- .../{Post-c25a0d58.js => Post-e2d22a4a.js} | 2 +- ...rofile-79842d31.js => Profile-9492f6bb.js} | 2 +- ...etting-af3630fe.js => Setting-04697376.js} | 2 +- .../{Topic-b95723bc.js => Topic-8586b7d5.js} | 2 +- .../{User-bcd9f3b4.js => User-e3580113.js} | 2 +- ...{Wallet-22a26ca6.js => Wallet-135fd43e.js} | 2 +- ...ontent-34f8522f.js => content-d73d8961.js} | 2 +- .../{index-c7635d00.js => index-fcb35ad4.js} | 2 +- ...e_vue_type_style_index_0_lang-31fef671.js} | 2 +- ...e_vue_type_style_index_0_lang-cfdf25e9.js} | 2 +- ...-f8428500.js => post-skeleton-f060289d.js} | 2 +- ...hisper-a4b81d0e.js => whisper-150920d0.js} | 2 +- web/dist/index.html | 2 +- web/src/components/compose.vue | 7 +- 46 files changed, 526 insertions(+), 118 deletions(-) create mode 100644 internal/model/joint/page.go create mode 100644 scripts/migration/mysql/0011_home_timeline.down.sql create mode 100644 scripts/migration/mysql/0011_home_timeline.up.sql create mode 100644 scripts/migration/postgres/0010_home_timeline.down.sql create mode 100644 scripts/migration/postgres/0010_home_timeline.up.sql create mode 100644 scripts/migration/sqlite3/0011_home_timeline.down.sql create mode 100644 scripts/migration/sqlite3/0011_home_timeline.up.sql rename web/dist/assets/{404-a356d59e.js => 404-e1bbb486.js} (85%) rename web/dist/assets/{Anouncement-80f0b2c2.js => Anouncement-a5b70f32.js} (91%) rename web/dist/assets/{Collection-942eb9b3.js => Collection-38566728.js} (84%) rename web/dist/assets/{Contacts-e743465d.js => Contacts-789b01f1.js} (92%) rename web/dist/assets/{Following-7bf27bed.js => Following-e831211b.js} (95%) delete mode 100644 web/dist/assets/Home-5c5e61eb.js create mode 100644 web/dist/assets/Home-9f453b75.js rename web/dist/assets/{Messages-d38466e3.js => Messages-8b750f63.js} (97%) rename web/dist/assets/{Post-c25a0d58.js => Post-e2d22a4a.js} (98%) rename web/dist/assets/{Profile-79842d31.js => Profile-9492f6bb.js} (95%) rename web/dist/assets/{Setting-af3630fe.js => Setting-04697376.js} (98%) rename web/dist/assets/{Topic-b95723bc.js => Topic-8586b7d5.js} (97%) rename web/dist/assets/{User-bcd9f3b4.js => User-e3580113.js} (97%) rename web/dist/assets/{Wallet-22a26ca6.js => Wallet-135fd43e.js} (95%) rename web/dist/assets/{content-34f8522f.js => content-d73d8961.js} (98%) rename web/dist/assets/{index-c7635d00.js => index-fcb35ad4.js} (90%) rename web/dist/assets/{main-nav.vue_vue_type_style_index_0_lang-f1df2083.js => main-nav.vue_vue_type_style_index_0_lang-31fef671.js} (96%) rename web/dist/assets/{post-item.vue_vue_type_style_index_0_lang-d54eb310.js => post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js} (98%) rename web/dist/assets/{post-skeleton-f8428500.js => post-skeleton-f060289d.js} (88%) rename web/dist/assets/{whisper-a4b81d0e.js => whisper-150920d0.js} (95%) diff --git a/auto/api/v1/loose.go b/auto/api/v1/loose.go index 8c6fcbc8..10aed8bc 100644 --- a/auto/api/v1/loose.go +++ b/auto/api/v1/loose.go @@ -109,7 +109,12 @@ func RegisterLooseServant(e *gin.Engine, s Loose) { return } resp, err := s.Timeline(req) - s.Render(c, resp, err) + if err != nil { + s.Render(c, nil, err) + return + } + var rv _render_ = resp + rv.Render(c) }) } diff --git a/internal/conf/cache.go b/internal/conf/cache.go index 174afdd6..0e975c6b 100644 --- a/internal/conf/cache.go +++ b/internal/conf/cache.go @@ -17,14 +17,17 @@ const ( // 以下包含一些在cache中会用到的key的前缀 const ( - PrefixNewestTweets = "paopao:newesttweets:" - PrefixHotsTweets = "paopao:hotstweets:" - PrefixFollowingTweets = "paopao:followingtweets:" - PrefixUserTweets = "paopao:usertweets:" - PrefixUnreadmsg = "paopao:unreadmsg:" - PrefixOnlineUser = "paopao:onlineuser:" - KeySiteStatus = "paopao:sitestatus" - KeyHistoryMaxOnline = "history.max.online" + PrefixNewestTweets = "paopao:newesttweets:" + PrefixHotsTweets = "paopao:hotstweets:" + PrefixFollowingTweets = "paopao:followingtweets:" + PrefixUserTweets = "paopao:usertweets:" + PrefixUnreadmsg = "paopao:unreadmsg:" + PrefixOnlineUser = "paopao:onlineuser:" + PrefixIdxTweetsNewest = "paopao:index:tweets:newest:" + PrefixIdxTweetsHots = "paopao:index:tweets:hots:" + prefixIdxTweetsFollowing = "paopao:index:tweets:following:" + KeySiteStatus = "paopao:sitestatus" + KeyHistoryMaxOnline = "history.max.online" ) // 以下包含一些在cache中会用到的池化后的key diff --git a/internal/conf/config.yaml b/internal/conf/config.yaml index 0721eee8..3e3ede5f 100644 --- a/internal/conf/config.yaml +++ b/internal/conf/config.yaml @@ -10,6 +10,7 @@ Cache: CientSideCacheExpire: 60 # 客户端缓存过期时间 默认60s UnreadMsgExpire: 60 # 未读消息过期时间,单位秒, 默认60s UserTweetsExpire: 60 # 获取用户推文列表过期时间,单位秒, 默认60s + IndexTweetsExpire: 120 # 获取广场推文列表过期时间,单位秒, 默认120s OnlineUserExpire: 300 # 标记在线用户 过期时间,单位秒, 默认300s EventManager: # 事件管理器的配置参数 MinWorker: 64 # 最小后台工作者, 设置范围[5, ++], 默认64 diff --git a/internal/conf/setting.go b/internal/conf/setting.go index 5c065050..d68f3085 100644 --- a/internal/conf/setting.go +++ b/internal/conf/setting.go @@ -101,6 +101,7 @@ type cacheConf struct { CientSideCacheExpire time.Duration UnreadMsgExpire int64 UserTweetsExpire int64 + IndexTweetsExpire int64 OnlineUserExpire int64 } diff --git a/internal/core/cs/tweets.go b/internal/core/cs/tweets.go index 34060030..c885b132 100644 --- a/internal/core/cs/tweets.go +++ b/internal/core/cs/tweets.go @@ -19,8 +19,21 @@ const ( TweetVisitPublic TweetVisibleType = iota TweetVisitPrivate TweetVisitFriend + TweetVisitFollowing TweetVisitInvalid + // 用户推文列表样式 + StyleUserTweetsGuest uint8 = iota + StyleUserTweetsSelf + StyleUserTweetsAdmin + StyleUserTweetsFriend + StyleUserTweetsFollowing + + // 广场推文列表样式 + StyleIndexTweetsSearch uint8 = iota + StyleIndexTweetsNewest + StyleIndexTweetsHots + // 附件类型 AttachmentTypeImage AttachmentType = iota + 1 AttachmentTypeVideo diff --git a/internal/core/search.go b/internal/core/search.go index dc08e127..7a0df014 100644 --- a/internal/core/search.go +++ b/internal/core/search.go @@ -15,10 +15,11 @@ const ( ) const ( - PostVisitPublic = dbr.PostVisitPublic - PostVisitPrivate = dbr.PostVisitPrivate - PostVisitFriend = dbr.PostVisitFriend - PostVisitInvalid = dbr.PostVisitInvalid + PostVisitPublic = dbr.PostVisitPublic + PostVisitPrivate = dbr.PostVisitPrivate + PostVisitFriend = dbr.PostVisitFriend + PostVisitFollowing = dbr.PostVisitFollowing + PostVisitInvalid = dbr.PostVisitInvalid ) type ( diff --git a/internal/core/tweets.go b/internal/core/tweets.go index b5aee860..734bf849 100644 --- a/internal/core/tweets.go +++ b/internal/core/tweets.go @@ -26,6 +26,9 @@ type TweetService interface { ListUserStarTweets(user *cs.VistUser, limit int, offset int) ([]*ms.PostStar, int64, error) ListUserMediaTweets(user *cs.VistUser, limit int, offset int) ([]*ms.Post, int64, error) ListUserCommentTweets(user *cs.VistUser, limit int, offset int) ([]*ms.Post, int64, error) + ListUserTweets(userId int64, style uint8, justEssence bool, limit, offset int) ([]*ms.Post, int64, error) + ListFollowingTweets(userId int64, limit, offset int) ([]*ms.Post, int64, error) + ListIndexTweets(style uint8, limit, offset int) ([]*ms.Post, int64, error) } // TweetManageService 推文管理服务,包括创建/删除/更新推文 diff --git a/internal/dao/jinzhu/dbr/post.go b/internal/dao/jinzhu/dbr/post.go index f3d3e824..fb28464a 100644 --- a/internal/dao/jinzhu/dbr/post.go +++ b/internal/dao/jinzhu/dbr/post.go @@ -18,6 +18,7 @@ const ( PostVisitPublic PostVisibleT = iota PostVisitPrivate PostVisitFriend + PostVisitFollowing PostVisitInvalid ) diff --git a/internal/dao/jinzhu/tweets.go b/internal/dao/jinzhu/tweets.go index d7bead87..44f22177 100644 --- a/internal/dao/jinzhu/tweets.go +++ b/internal/dao/jinzhu/tweets.go @@ -392,6 +392,21 @@ func (s *tweetSrv) GetPosts(conditions ms.ConditionsT, offset, limit int) ([]*ms return (&dbr.Post{}).List(s.db, conditions, offset, limit) } +func (s *tweetSrv) ListUserTweets(userId int64, style uint8, justEssence bool, limit, offset int) ([]*ms.Post, int64, error) { + // TODO + return nil, 0, debug.ErrNotImplemented +} + +func (s *tweetSrv) ListIndexTweets(style uint8, limit, offset int) ([]*ms.Post, int64, error) { + // TODO + return nil, 0, debug.ErrNotImplemented +} + +func (s *tweetSrv) ListFollowingTweets(userId int64, limit, offset int) ([]*ms.Post, int64, error) { + // TODO + return nil, 0, debug.ErrNotImplemented +} + func (s *tweetSrv) GetPostCount(conditions ms.ConditionsT) (int64, error) { return (&dbr.Post{}).Count(s.db, conditions) } diff --git a/internal/model/joint/json.go b/internal/model/joint/json.go index ad71f5de..0b4da5c6 100644 --- a/internal/model/joint/json.go +++ b/internal/model/joint/json.go @@ -6,10 +6,29 @@ package joint import ( stdJson "encoding/json" + "net/http" + "github.com/gin-gonic/gin" "github.com/rocboss/paopao-ce/pkg/json" ) +type CachePageResp struct { + Data *PageResp + JsonResp stdJson.RawMessage +} + +func (r *CachePageResp) Render(c *gin.Context) { + if len(r.JsonResp) != 0 { + c.JSON(http.StatusOK, r.JsonResp) + } else { + c.JSON(http.StatusOK, &JsonResp{ + Code: 0, + Msg: "success", + Data: r.Data, + }) + } +} + func RespMarshal(data any) (stdJson.RawMessage, error) { return json.Marshal(data) } diff --git a/internal/model/joint/page.go b/internal/model/joint/page.go new file mode 100644 index 00000000..f2ba5d9c --- /dev/null +++ b/internal/model/joint/page.go @@ -0,0 +1,27 @@ +// Copyright 2022 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package joint + +type Pager struct { + Page int `json:"page"` + PageSize int `json:"page_size"` + TotalRows int64 `json:"total_rows"` +} + +type PageResp struct { + List any `json:"list"` + Pager Pager `json:"pager"` +} + +func PageRespFrom(list any, page int, pageSize int, totalRows int64) *PageResp { + return &PageResp{ + List: list, + Pager: Pager{ + Page: page, + PageSize: pageSize, + TotalRows: totalRows, + }, + } +} diff --git a/internal/model/web/loose.go b/internal/model/web/loose.go index cba3e8ab..cd6c1b5a 100644 --- a/internal/model/web/loose.go +++ b/internal/model/web/loose.go @@ -5,9 +5,6 @@ package web import ( - "encoding/json" - "net/http" - "github.com/alimy/mir/v4" "github.com/gin-gonic/gin" "github.com/rocboss/paopao-ce/internal/core" @@ -30,6 +27,10 @@ const ( UserPostsStyleHighlight = "highlight" UserPostsStyleMedia = "media" UserPostsStyleStar = "star" + + StyleTweetsNewest = "newest" + StyleTweetsHots = "hots" + StyleTweetsFollowing = "following" ) type TagType = cs.TagType @@ -49,11 +50,14 @@ type TimelineReq struct { Query string `form:"query"` Visibility []core.PostVisibleT `form:"query"` Type string `form:"type"` + Style string `form:"style"` Page int `form:"-" binding:"-"` PageSize int `form:"-" binding:"-"` } -type TimelineResp base.PageResp +type TimelineResp struct { + joint.CachePageResp +} type GetUserTweetsReq struct { BaseInfo `form:"-" binding:"-"` @@ -64,8 +68,7 @@ type GetUserTweetsReq struct { } type GetUserTweetsResp struct { - Data *base.PageResp - JsonResp json.RawMessage + joint.CachePageResp } type GetUserProfileReq struct { @@ -118,15 +121,3 @@ func (r *TimelineReq) Bind(c *gin.Context) mir.Error { r.Query, r.Type = c.Query("query"), "search" return nil } - -func (r *GetUserTweetsResp) Render(c *gin.Context) { - if len(r.JsonResp) != 0 { - c.JSON(http.StatusOK, r.JsonResp) - } else { - c.JSON(http.StatusOK, &joint.JsonResp{ - Code: 0, - Msg: "success", - Data: r.Data, - }) - } -} diff --git a/internal/model/web/xerror.go b/internal/model/web/xerror.go index 50c2f479..0e745930 100644 --- a/internal/model/web/xerror.go +++ b/internal/model/web/xerror.go @@ -47,6 +47,8 @@ var ( ErrStickPostFailed = xerror.NewError(30011, "动态置顶失败") ErrVisblePostFailed = xerror.NewError(30012, "更新可见性失败") ErrHighlightPostFailed = xerror.NewError(30013, "动态设为亮点失败") + ErrGetPostsUnknowStyle = xerror.NewError(30014, "使用未知样式参数获取动态列表") + ErrGetPostsNilUser = xerror.NewError(30015, "使用游客账户获取动态详情失败") ErrGetCommentsFailed = xerror.NewError(40001, "获取评论列表失败") ErrCreateCommentFailed = xerror.NewError(40002, "评论发布失败") diff --git a/internal/servants/base/base.go b/internal/servants/base/base.go index afe857c8..cedebf3f 100644 --- a/internal/servants/base/base.go +++ b/internal/servants/base/base.go @@ -210,15 +210,18 @@ func (s *DaoServant) pushAllPostToSearch() error { defer s.Redis.DelPushToSearchJob(ctx) splitNum := 1000 - conditions := ms.ConditionsT{ - "visibility IN ?": []core.PostVisibleT{core.PostVisitPublic, core.PostVisitFriend}, + // conditions := ms.ConditionsT{ + // "visibility IN ?": []core.PostVisibleT{core.PostVisitPublic, core.PostVisitFriend}, + // } + // totalRows, _ := s.Ds.GetPostCount(conditions) + posts, totalRows, err := s.Ds.ListIndexTweets(cs.StyleIndexTweetsSearch, splitNum, 0) + if err != nil { + return fmt.Errorf("get first page tweets push to search failed: %s", err) } - totalRows, _ := s.Ds.GetPostCount(conditions) - pages := math.Ceil(float64(totalRows) / float64(splitNum)) - nums := int(pages) - for i := 0; i < nums; i++ { - posts, postsFormated, err := s.GetTweetList(conditions, i*splitNum, splitNum) - if err != nil || len(posts) != len(postsFormated) { + i, nums := 0, int(math.Ceil(float64(totalRows)/float64(splitNum))) + for { + postsFormated, xerr := s.Ds.MergePosts(posts) + if xerr != nil || len(posts) != len(postsFormated) { continue } for i, pf := range postsFormated { @@ -234,6 +237,12 @@ func (s *DaoServant) pushAllPostToSearch() error { }} s.Ts.AddDocuments(docs, fmt.Sprintf("%d", posts[i].ID)) } + if i++; i >= nums { + break + } + if posts, _, err = s.Ds.ListIndexTweets(cs.StyleIndexTweetsSearch, splitNum, i*splitNum); err != nil { + return fmt.Errorf("get tweets push to search failed: %s, limit[%d] offset[%d]", err, splitNum, i*splitNum) + } } } else { return fmt.Errorf("redis: set JOB_PUSH_TO_SEARCH error: %w", err) diff --git a/internal/servants/web/loose.go b/internal/servants/web/loose.go index 583287ba..2f5a2f5d 100644 --- a/internal/servants/web/loose.go +++ b/internal/servants/web/loose.go @@ -16,6 +16,7 @@ import ( "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" + "github.com/rocboss/paopao-ce/internal/model/joint" "github.com/rocboss/paopao-ce/internal/model/web" "github.com/rocboss/paopao-ce/internal/servants/base" "github.com/rocboss/paopao-ce/internal/servants/chain" @@ -29,9 +30,13 @@ var ( type looseSrv struct { api.UnimplementedLooseServant *base.DaoServant - ac core.AppCache - userTweetsExpire int64 - prefixUserTweets string + ac core.AppCache + userTweetsExpire int64 + idxTweetsExpire int64 + prefixUserTweets string + prefixIdxTweetsNewest string + prefixIdxTweetsHots string + prefixIdxTweetsFollowing string } func (s *looseSrv) Chain() gin.HandlersChain { @@ -39,33 +44,97 @@ func (s *looseSrv) Chain() gin.HandlersChain { } func (s *looseSrv) Timeline(req *web.TimelineReq) (*web.TimelineResp, mir.Error) { - var resp *base.PageResp - offset, limit := (req.Page-1)*req.PageSize, req.PageSize + limit, offset := req.PageSize, (req.Page-1)*req.PageSize if req.Query == "" && req.Type == "search" { - res, err := s.Ds.IndexPosts(req.User, offset, limit) - if err != nil { - logrus.Errorf("Ds.IndexPosts err: %s", err) - return nil, web.ErrGetPostsFailed - } - resp = base.PageRespFrom(res.Tweets, req.Page, req.PageSize, res.Total) - } else { - q := &core.QueryReq{ - Query: req.Query, - Type: core.SearchType(req.Type), - } - res, err := s.Ts.Search(req.User, q, offset, limit) - if err != nil { - logrus.Errorf("Ts.Search err: %s", err) - return nil, web.ErrGetPostsFailed + return s.getIndexTweets(req, limit, offset) + } + q := &core.QueryReq{ + Query: req.Query, + Type: core.SearchType(req.Type), + } + res, err := s.Ts.Search(req.User, q, offset, limit) + if err != nil { + logrus.Errorf("Ts.Search err: %s", err) + return nil, web.ErrGetPostsFailed + } + posts, err := s.Ds.RevampPosts(res.Items) + if err != nil { + logrus.Errorf("Ds.RevampPosts err: %s", err) + return nil, web.ErrGetPostsFailed + } + resp := joint.PageRespFrom(posts, req.Page, req.PageSize, res.Total) + return &web.TimelineResp{ + CachePageResp: joint.CachePageResp{ + Data: resp, + }, + }, nil +} + +func (s *looseSrv) getIndexTweets(req *web.TimelineReq, limit int, offset int) (res *web.TimelineResp, err mir.Error) { + // 尝试直接从缓存中获取数据 + key, ok := "", false + if res, key, ok = s.indexTweetsFromCache(req, limit, offset); ok { + // logrus.Debugf("getIndexTweets from cache key:%s", key) + return + } + var ( + posts []*ms.Post + total int64 + xerr error + ) + switch req.Style { + case web.StyleTweetsFollowing: + if req.User != nil { + posts, total, xerr = s.Ds.ListFollowingTweets(req.User.ID, limit, offset) + } else { + return nil, web.ErrGetPostsNilUser } - posts, err := s.Ds.RevampPosts(res.Items) - if err != nil { - logrus.Errorf("Ds.RevampPosts err: %s", err) - return nil, web.ErrGetPostsFailed + case web.StyleTweetsNewest: + posts, total, xerr = s.Ds.ListIndexTweets(cs.StyleIndexTweetsNewest, limit, offset) + case web.StyleTweetsHots: + posts, total, xerr = s.Ds.ListIndexTweets(cs.StyleIndexTweetsHots, limit, offset) + default: + return nil, web.ErrGetPostsUnknowStyle + } + if xerr != nil { + logrus.Errorf("getIndexTweets occurs error: %s", xerr) + return nil, web.ErrGetPostFailed + } + postsFormated, verr := s.Ds.MergePosts(posts) + if verr != nil { + logrus.Errorf("getIndexTweets in merge posts occurs error: %s", verr) + return nil, web.ErrGetPostFailed + } + resp := joint.PageRespFrom(postsFormated, req.Page, req.PageSize, total) + // 缓存处理 + base.OnCacheRespEvent(s.ac, key, resp, s.idxTweetsExpire) + return &web.TimelineResp{ + CachePageResp: joint.CachePageResp{ + Data: resp, + }, + }, nil +} + +func (s *looseSrv) indexTweetsFromCache(req *web.TimelineReq, limit int, offset int) (res *web.TimelineResp, key string, ok bool) { + switch req.Style { + case web.StyleTweetsFollowing: + username := lets.If(req.User != nil, req.User.Username, "_") + key = fmt.Sprintf("%s%s:%d:%d", s.prefixIdxTweetsFollowing, username, offset, limit) + case web.StyleTweetsNewest: + key = fmt.Sprintf("%s%d:%d", s.prefixIdxTweetsNewest, offset, limit) + case web.StyleTweetsHots: + key = fmt.Sprintf("%s%d:%d", s.prefixIdxTweetsHots, offset, limit) + default: + return + } + if data, err := s.ac.Get(key); err == nil { + ok, res = true, &web.TimelineResp{ + CachePageResp: joint.CachePageResp{ + JsonResp: data, + }, } - resp = base.PageRespFrom(posts, req.Page, req.PageSize, res.Total) } - return (*web.TimelineResp)(resp), nil + return } func (s *looseSrv) GetUserTweets(req *web.GetUserTweetsReq) (res *web.GetUserTweetsResp, err mir.Error) { @@ -108,7 +177,11 @@ func (s *looseSrv) userTweetsFromCache(req *web.GetUserTweetsReq, user *cs.VistU key = fmt.Sprintf("%s%s:%s:%s:%d:%d", s.prefixUserTweets, req.Username, req.Style, visitUserName, req.Page, req.PageSize) } if data, err := s.ac.Get(key); err == nil { - ok, res = true, &web.GetUserTweetsResp{JsonResp: data} + ok, res = true, &web.GetUserTweetsResp{ + CachePageResp: joint.CachePageResp{ + JsonResp: data, + }, + } } return } @@ -130,8 +203,12 @@ func (s *looseSrv) getUserStarTweets(req *web.GetUserTweetsReq, user *cs.VistUse logrus.Errorf("Ds.MergePosts err: %s", err) return nil, web.ErrGetStarsFailed } - resp := base.PageRespFrom(postsFormated, req.Page, req.PageSize, totalRows) - return &web.GetUserTweetsResp{Data: resp}, nil + resp := joint.PageRespFrom(postsFormated, req.Page, req.PageSize, totalRows) + return &web.GetUserTweetsResp{ + CachePageResp: joint.CachePageResp{ + Data: resp, + }, + }, nil } func (s *looseSrv) listUserTweets(req *web.GetUserTweetsReq, user *cs.VistUser) (*web.GetUserTweetsResp, mir.Error) { @@ -157,42 +234,46 @@ func (s *looseSrv) listUserTweets(req *web.GetUserTweetsReq, user *cs.VistUser) logrus.Errorf("s.listUserTweets err: %s", err) return nil, web.ErrGetPostsFailed } - resp := base.PageRespFrom(postFormated, req.Page, req.PageSize, total) - return &web.GetUserTweetsResp{Data: resp}, nil + resp := joint.PageRespFrom(postFormated, req.Page, req.PageSize, total) + return &web.GetUserTweetsResp{ + CachePageResp: joint.CachePageResp{ + Data: resp, + }, + }, nil } func (s *looseSrv) getUserPostTweets(req *web.GetUserTweetsReq, user *cs.VistUser, isHighlight bool) (*web.GetUserTweetsResp, mir.Error) { - visibilities := []core.PostVisibleT{core.PostVisitPublic} + style := cs.StyleUserTweetsGuest switch user.RelTyp { - case cs.RelationAdmin, cs.RelationSelf: - visibilities = append(visibilities, core.PostVisitPrivate, core.PostVisitFriend) + case cs.RelationAdmin: + style = cs.StyleUserTweetsAdmin + case cs.RelationSelf: + style = cs.StyleUserTweetsSelf case cs.RelationFriend: - visibilities = append(visibilities, core.PostVisitFriend) + style = cs.StyleUserTweetsFriend + case cs.RelationFollowing: + style = cs.StyleUserTweetsFollowing case cs.RelationGuest: fallthrough default: // nothing } - conditions := ms.ConditionsT{ - "user_id": user.UserId, - "visibility IN ?": visibilities, - "ORDER": "latest_replied_on DESC", - } - if isHighlight { - conditions["is_essence"] = 1 - } - _, posts, err := s.GetTweetList(conditions, (req.Page-1)*req.PageSize, req.PageSize) + posts, total, err := s.Ds.ListUserTweets(user.UserId, style, isHighlight, req.PageSize, (req.Page-1)*req.PageSize) if err != nil { - logrus.Errorf("s.GetTweetList err: %s", err) + logrus.Errorf("s.GetTweetList error[1]: %s", err) return nil, web.ErrGetPostsFailed } - totalRows, err := s.Ds.GetPostCount(conditions) - if err != nil { - logrus.Errorf("s.GetPostCount err: %s", err) + postsFormated, xerr := s.Ds.MergePosts(posts) + if xerr != nil { + logrus.Errorf("s.GetTweetList error[2]: %s", err) return nil, web.ErrGetPostsFailed } - resp := base.PageRespFrom(posts, req.Page, req.PageSize, totalRows) - return &web.GetUserTweetsResp{Data: resp}, nil + resp := joint.PageRespFrom(postsFormated, req.Page, req.PageSize, total) + return &web.GetUserTweetsResp{ + CachePageResp: joint.CachePageResp{ + Data: resp, + }, + }, nil } func (s *looseSrv) GetUserProfile(req *web.GetUserProfileReq) (*web.GetUserProfileResp, mir.Error) { diff --git a/scripts/migration/mysql/0011_home_timeline.down.sql b/scripts/migration/mysql/0011_home_timeline.down.sql new file mode 100644 index 00000000..3fb76fd7 --- /dev/null +++ b/scripts/migration/mysql/0011_home_timeline.down.sql @@ -0,0 +1,19 @@ +DROP TABLE IF EXISTS `p_post_metric`; + +-- 原来的可见性: 0公开 1私密 2好友可见 3关注可见 +-- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 +UPDATE p_post a +SET visibility = ( + SELECT + CASE visibility + WHEN 90 THEN 0 + WHEN 0 THEN 1 + WHEN 50 THEN 2 + WHEN 60 THEN 3 + ELSE 0 + END + FROM + p_post b + WHERE + a.ID = b.ID +); diff --git a/scripts/migration/mysql/0011_home_timeline.up.sql b/scripts/migration/mysql/0011_home_timeline.up.sql new file mode 100644 index 00000000..98921a6d --- /dev/null +++ b/scripts/migration/mysql/0011_home_timeline.up.sql @@ -0,0 +1,39 @@ +CREATE TABLE `p_post_metric` ( + `id` bigint unsigned NOT NULL AUTO_INCREMENT, + `post_id` bigint unsigned NOT NULL, + `rank_score` bigint unsigned NOT NULL DEFAULT 0, + `incentive_score` int unsigned NOT NULL DEFAULT 0, + `decay_factor` int unsigned NOT NULL DEFAULT 0, + `motivation_factor` int unsigned NOT NULL DEFAULT 0, + `is_del` tinyint NOT NULL DEFAULT 0, -- 是否删除, 0否, 1是 + `created_on` bigint unsigned NOT NULL DEFAULT '0', + `modified_on` bigint unsigned NOT NULL DEFAULT '0', + `deleted_on` bigint unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_post_metric_post_id_rank_score` (`post_id`,`rank_score`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + +INSERT INTO p_post_metric (post_id, rank_score, created_on) +SELECT id AS post_id, + comment_count + upvote_count*2 + collection_count*4 AS rank_score, + created_on +FROM p_post +WHERE is_del=0; + +-- 原来的可见性: 0公开 1私密 2好友可见 3关注可见 +-- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 +UPDATE p_post a +SET visibility = ( + SELECT + CASE visibility + WHEN 0 THEN 90 + WHEN 1 THEN 0 + WHEN 2 THEN 50 + WHEN 3 THEN 60 + ELSE 0 + END + FROM + p_post b + WHERE + a.ID = b.ID +); diff --git a/scripts/migration/postgres/0010_home_timeline.down.sql b/scripts/migration/postgres/0010_home_timeline.down.sql new file mode 100644 index 00000000..77f27bda --- /dev/null +++ b/scripts/migration/postgres/0010_home_timeline.down.sql @@ -0,0 +1,19 @@ +DROP TABLE IF EXISTS p_post_metric; + +-- 原来的可见性: 0公开 1私密 2好友可见 3关注可见 +-- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 +UPDATE p_post a +SET visibility = ( + SELECT + CASE visibility + WHEN 90 THEN 0 + WHEN 0 THEN 1 + WHEN 50 THEN 2 + WHEN 60 THEN 3 + ELSE 0 + END + FROM + p_post b + WHERE + a.ID = b.ID +); \ No newline at end of file diff --git a/scripts/migration/postgres/0010_home_timeline.up.sql b/scripts/migration/postgres/0010_home_timeline.up.sql new file mode 100644 index 00000000..0a426a7f --- /dev/null +++ b/scripts/migration/postgres/0010_home_timeline.up.sql @@ -0,0 +1,40 @@ +CREATE TABLE p_post_metric ( + ID BIGSERIAL PRIMARY KEY, + post_id BIGINT NOT NULL, + rank_score BIGINT NOT NULL DEFAULT 0, + incentive_score INT NOT NULL DEFAULT 0, + decay_factor INT NOT NULL DEFAULT 0, + motivation_factor INT NOT NULL DEFAULT 0, + is_del SMALLINT NOT NULL DEFAULT 0, + created_on BIGINT NOT NULL DEFAULT 0, + modified_on BIGINT NOT NULL DEFAULT 0, + deleted_on BIGINT NOT NULL DEFAULT 0 +); +CREATE INDEX idx_post_metric_post_id_rank_score ON p_post_metric USING btree ( post_id, rank_score ); + +INSERT INTO p_post_metric ( post_id, rank_score, created_on ) SELECT ID AS +post_id, +comment_count + upvote_count * 2 + collection_count * 4 AS rank_score, +created_on +FROM + p_post +WHERE + is_del = 0; + +-- 原来的可见性: 0公开 1私密 2好友可见 3关注可见 +-- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 +UPDATE p_post a +SET visibility = ( + SELECT + CASE visibility + WHEN 0 THEN 90 + WHEN 1 THEN 0 + WHEN 2 THEN 50 + WHEN 3 THEN 60 + ELSE 0 + END + FROM + p_post b + WHERE + a.ID = b.ID +); diff --git a/scripts/migration/sqlite3/0011_home_timeline.down.sql b/scripts/migration/sqlite3/0011_home_timeline.down.sql new file mode 100644 index 00000000..b914a617 --- /dev/null +++ b/scripts/migration/sqlite3/0011_home_timeline.down.sql @@ -0,0 +1,19 @@ +DROP TABLE IF EXISTS "p_post_metric"; + +-- 原来的可见性: 0公开 1私密 2好友可见 3关注可见 +-- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 +UPDATE p_post a +SET visibility = ( + SELECT + CASE visibility + WHEN 90 THEN 0 + WHEN 0 THEN 1 + WHEN 50 THEN 2 + WHEN 60 THEN 3 + ELSE 0 + END + FROM + p_post b + WHERE + a.ID = b.ID +); diff --git a/scripts/migration/sqlite3/0011_home_timeline.up.sql b/scripts/migration/sqlite3/0011_home_timeline.up.sql new file mode 100644 index 00000000..fad40a55 --- /dev/null +++ b/scripts/migration/sqlite3/0011_home_timeline.up.sql @@ -0,0 +1,44 @@ +CREATE TABLE "p_post_metric" ( + "id" integer NOT NULL, + "post_id" integer NOT NULL, + "rank_score" integer NOT NULL, + "incentive_score" integer NOT NULL, + "decay_factor" integer NOT NULL, + "motivation_factor" integer NOT NULL, + "is_del" integer NOT NULL, + "created_on" integer NOT NULL, + "modified_on" integer NOT NULL, + "deleted_on" integer NOT NULL, + PRIMARY KEY ("id") +); + +CREATE INDEX "idx_post_metric_post_id_rank_score" +ON "p_post_metric" ( + "post_id" ASC, + "rank_score" ASC +); + +INSERT INTO p_post_metric (post_id, rank_score, created_on) +SELECT id AS post_id, + comment_count+upvote_count*2+collection_count*4 AS rank_score, + created_on +FROM p_post +WHERE is_del=0; + +-- 原来的可见性: 0公开 1私密 2好友可见 3关注可见 +-- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 +UPDATE p_post a +SET visibility = ( + SELECT + CASE visibility + WHEN 0 THEN 90 + WHEN 1 THEN 0 + WHEN 2 THEN 50 + WHEN 3 THEN 60 + ELSE 0 + END + FROM + p_post b + WHERE + a.ID = b.ID +); diff --git a/scripts/paopao-mysql.sql b/scripts/paopao-mysql.sql index dc758513..36f6a66d 100644 --- a/scripts/paopao-mysql.sql +++ b/scripts/paopao-mysql.sql @@ -163,7 +163,7 @@ CREATE TABLE `p_post` ( `collection_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私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开', `is_top` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '是否置顶', `is_essence` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '是否精华', `is_lock` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '是否锁定', @@ -181,6 +181,25 @@ CREATE TABLE `p_post` ( KEY `idx_post_visibility` (`visibility`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=1080017989 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='冒泡/文章'; +-- ---------------------------- +-- Table structure for p_post_metric +-- ---------------------------- +DROP TABLE IF EXISTS `p_post_metric`; +CREATE TABLE `p_post_metric` ( + `id` bigint unsigned NOT NULL AUTO_INCREMENT, + `post_id` bigint unsigned NOT NULL, + `rank_score` bigint unsigned NOT NULL DEFAULT 0, + `incentive_score` int unsigned NOT NULL DEFAULT 0, + `decay_factor` int unsigned NOT NULL DEFAULT 0, + `motivation_factor` int unsigned NOT NULL DEFAULT 0, + `is_del` tinyint NOT NULL DEFAULT 0, -- 是否删除, 0否, 1是 + `created_on` bigint unsigned NOT NULL DEFAULT '0', + `modified_on` bigint unsigned NOT NULL DEFAULT '0', + `deleted_on` bigint unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_post_metric_post_id_rank_score` (`post_id`,`rank_score`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + -- ---------------------------- -- Table structure for p_post_attachment_bill -- ---------------------------- diff --git a/scripts/paopao-postgres.sql b/scripts/paopao-postgres.sql index 93e15c20..5fac9de0 100644 --- a/scripts/paopao-postgres.sql +++ b/scripts/paopao-postgres.sql @@ -136,7 +136,7 @@ CREATE TABLE p_post ( collection_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私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 is_top SMALLINT NOT NULL DEFAULT 0, -- 是否置顶 is_essence SMALLINT NOT NULL DEFAULT 0, -- 是否精华 is_lock SMALLINT NOT NULL DEFAULT 0, -- 是否锁定 @@ -154,6 +154,21 @@ CREATE TABLE p_post ( CREATE INDEX idx_post_user_id ON p_post USING btree (user_id); CREATE INDEX idx_post_visibility ON p_post USING btree (visibility); +DROP TABLE IF EXISTS p_post_metric; +CREATE TABLE p_post_metric ( + ID BIGSERIAL PRIMARY KEY, + post_id BIGINT NOT NULL, + rank_score BIGINT NOT NULL DEFAULT 0, + incentive_score INT NOT NULL DEFAULT 0, + decay_factor INT NOT NULL DEFAULT 0, + motivation_factor INT NOT NULL DEFAULT 0, + is_del SMALLINT NOT NULL DEFAULT 0, + created_on BIGINT NOT NULL DEFAULT 0, + modified_on BIGINT NOT NULL DEFAULT 0, + deleted_on BIGINT NOT NULL DEFAULT 0 +); +CREATE INDEX idx_post_metric_post_id_rank_score ON p_post_metric USING btree (post_id, rank_score); + DROP TABLE IF EXISTS p_post_attachment_bill; CREATE TABLE p_post_attachment_bill ( id BIGSERIAL PRIMARY KEY, diff --git a/scripts/paopao-sqlite3.sql b/scripts/paopao-sqlite3.sql index 7655f3a5..80f334ef 100644 --- a/scripts/paopao-sqlite3.sql +++ b/scripts/paopao-sqlite3.sql @@ -209,10 +209,28 @@ CREATE TABLE "p_post" ( "modified_on" integer NOT NULL, "deleted_on" integer NOT NULL, "is_del" integer NOT NULL, - "visibility" integer NOT NULL, + "visibility" integer NOT NULL, -- 可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 PRIMARY KEY ("id") ); +-- ---------------------------- +-- Table structure for p_post_metric +-- ---------------------------- +DROP TABLE IF EXISTS "p_post_metric"; +CREATE TABLE "p_post_metric" ( + "id" integer NOT NULL, + "post_id" integer NOT NULL, + "rank_score" integer NOT NULL, + "incentive_score" integer NOT NULL, + "decay_factor" integer NOT NULL, + "motivation_factor" integer NOT NULL, + "is_del" integer NOT NULL, + "created_on" integer NOT NULL, + "modified_on" integer NOT NULL, + "deleted_on" integer NOT NULL, + PRIMARY KEY ("id") +); + -- ---------------------------- -- Table structure for p_post_attachment_bill -- ---------------------------- @@ -531,6 +549,15 @@ ON "p_post" ( "visibility" ASC ); +-- ---------------------------- +-- Indexes structure for table idx_post_metric_post_id_rank_score +-- ---------------------------- +CREATE INDEX "idx_post_metric_post_id_rank_score" +ON "p_post_metric" ( + "post_id" ASC, + "rank_score" ASC +); + -- ---------------------------- -- Indexes structure for table p_post_attachment_bill -- ---------------------------- diff --git a/web/dist/assets/404-a356d59e.js b/web/dist/assets/404-e1bbb486.js similarity index 85% rename from web/dist/assets/404-a356d59e.js rename to web/dist/assets/404-e1bbb486.js index 6e7b205f..67709089 100644 --- a/web/dist/assets/404-a356d59e.js +++ b/web/dist/assets/404-e1bbb486.js @@ -1 +1 @@ -import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as i}from"./vue-router-e5a2430e.js";import{F as a,e as c,a2 as u}from"./naive-ui-d8de3dda.js";import{d as l,f as d,k as t,w as o,e as f,A as x}from"./@vue-a481fc63.js";import{_ as g}from"./index-c7635d00.js";import"./vuex-44de225f.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */const v=l({__name:"404",setup(h){const e=i(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=a;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const O=g(v,[["__scopeId","data-v-e62daa85"]]);export{O as default}; +import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as i}from"./vue-router-e5a2430e.js";import{F as a,e as c,a2 as u}from"./naive-ui-d8de3dda.js";import{d as l,f as d,k as t,w as o,e as f,A as x}from"./@vue-a481fc63.js";import{_ as g}from"./index-fcb35ad4.js";import"./vuex-44de225f.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */const v=l({__name:"404",setup(h){const e=i(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=a;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const O=g(v,[["__scopeId","data-v-e62daa85"]]);export{O as default}; diff --git a/web/dist/assets/Anouncement-80f0b2c2.js b/web/dist/assets/Anouncement-a5b70f32.js similarity index 91% rename from web/dist/assets/Anouncement-80f0b2c2.js rename to web/dist/assets/Anouncement-a5b70f32.js index 2b5e4b4f..12bc1d10 100644 --- a/web/dist/assets/Anouncement-80f0b2c2.js +++ b/web/dist/assets/Anouncement-a5b70f32.js @@ -1 +1 @@ -import{_ as F}from"./post-skeleton-f8428500.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as z}from"./vuex-44de225f.js";import{b as A}from"./vue-router-e5a2430e.js";import{E as R,_ as S}from"./index-c7635d00.js";import{F as V,Q as q,I as E,G as I}from"./naive-ui-d8de3dda.js";import{d as P,H as n,b as j,f as o,k as a,w as p,e as t,bf as u,Y as l,F as D,u as G,q as H,j as s,x as _,l as L}from"./@vue-a481fc63.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const M={key:0,class:"pagination-wrap"},O={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},Y=P({__name:"Anouncement",setup($){const d=z(),g=A(),v=n(!1),i=n([]),r=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{r.value=m};return j(()=>{}),(m,J)=>{const k=N,y=q,x=F,w=E,B=I,C=V;return t(),o("div",null,[a(k,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(t(),o("div",M,[a(y,{page:r.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(t(),o("div",O,[a(x,{num:f.value},null,8,["num"])])):(t(),o("div",Q,[i.value.length===0?(t(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(t(!0),o(D,null,G(i.value,e=>(t(),H(B,{key:e.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:L({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const ke=S(Y,[["__scopeId","data-v-d4d04859"]]);export{ke as default}; +import{_ as F}from"./post-skeleton-f060289d.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as z}from"./vuex-44de225f.js";import{b as A}from"./vue-router-e5a2430e.js";import{E as R,_ as S}from"./index-fcb35ad4.js";import{F as V,Q as q,I as E,G as I}from"./naive-ui-d8de3dda.js";import{d as P,H as n,b as j,f as o,k as a,w as p,e as t,bf as u,Y as l,F as D,u as G,q as H,j as s,x as _,l as L}from"./@vue-a481fc63.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const M={key:0,class:"pagination-wrap"},O={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},Y=P({__name:"Anouncement",setup($){const d=z(),g=A(),v=n(!1),i=n([]),r=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{r.value=m};return j(()=>{}),(m,J)=>{const k=N,y=q,x=F,w=E,B=I,C=V;return t(),o("div",null,[a(k,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(t(),o("div",M,[a(y,{page:r.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(t(),o("div",O,[a(x,{num:f.value},null,8,["num"])])):(t(),o("div",Q,[i.value.length===0?(t(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(t(!0),o(D,null,G(i.value,e=>(t(),H(B,{key:e.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:L({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const ke=S(Y,[["__scopeId","data-v-d4d04859"]]);export{ke as default}; diff --git a/web/dist/assets/Collection-942eb9b3.js b/web/dist/assets/Collection-38566728.js similarity index 84% rename from web/dist/assets/Collection-942eb9b3.js rename to web/dist/assets/Collection-38566728.js index 77db9818..d583fcf3 100644 --- a/web/dist/assets/Collection-942eb9b3.js +++ b/web/dist/assets/Collection-38566728.js @@ -1 +1 @@ -import{_ as I}from"./whisper-a4b81d0e.js";import{_ as N,a as Q}from"./post-item.vue_vue_type_style_index_0_lang-d54eb310.js";import{_ as V}from"./post-skeleton-f8428500.js";import{_ as W}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as E}from"./vuex-44de225f.js";import{b as G}from"./vue-router-e5a2430e.js";import{Q as H,_ as L}from"./index-c7635d00.js";import{d as T,H as s,b as U,f as o,k as n,w as u,bf as h,Y as w,e,F as k,u as y,q as C}from"./@vue-a481fc63.js";import{F as Y,Q as j,I as A,G as D}from"./naive-ui-d8de3dda.js";import"./content-34f8522f.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={key:0,class:"skeleton-wrap"},K={key:1},O={key:0,class:"empty-wrap"},X={key:1},Z={key:2},ee={key:0,class:"pagination-wrap"},oe=T({__name:"Collection",setup(te){const m=E(),S=G(),_=s(!1),i=s([]),l=s(+S.query.p||1),p=s(20),r=s(0),c=s(!1),d=s({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),f=t=>{d.value=t,c.value=!0},b=()=>{c.value=!1},v=()=>{_.value=!0,H({page:l.value,page_size:p.value}).then(t=>{_.value=!1,i.value=t.list,r.value=Math.ceil(t.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(t=>{_.value=!1})},x=t=>{l.value=t,v()};return U(()=>{v()}),(t,ne)=>{const $=W,z=V,B=A,F=N,g=D,M=Q,P=I,R=Y,q=j;return e(),o("div",null,[n($,{title:"收藏"}),n(R,{class:"main-content-wrap",bordered:""},{default:u(()=>[_.value?(e(),o("div",J,[n(z,{num:p.value},null,8,["num"])])):(e(),o("div",K,[i.value.length===0?(e(),o("div",O,[n(B,{size:"large",description:"暂无数据"})])):w("",!0),h(m).state.desktopModelShow?(e(),o("div",X,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(F,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))])):(e(),o("div",Z,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(M,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))]))])),n(P,{show:c.value,user:d.value,onSuccess:b},null,8,["show","user"])]),_:1}),r.value>0?(e(),o("div",ee,[n(q,{page:l.value,"onUpdate:page":x,"page-slot":h(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):w("",!0)])}}});const Ne=L(oe,[["__scopeId","data-v-760779af"]]);export{Ne as default}; +import{_ as I}from"./whisper-150920d0.js";import{_ as N,a as Q}from"./post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js";import{_ as V}from"./post-skeleton-f060289d.js";import{_ as W}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as E}from"./vuex-44de225f.js";import{b as G}from"./vue-router-e5a2430e.js";import{Q as H,_ as L}from"./index-fcb35ad4.js";import{d as T,H as s,b as U,f as o,k as n,w as u,bf as h,Y as w,e,F as k,u as y,q as C}from"./@vue-a481fc63.js";import{F as Y,Q as j,I as A,G as D}from"./naive-ui-d8de3dda.js";import"./content-d73d8961.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={key:0,class:"skeleton-wrap"},K={key:1},O={key:0,class:"empty-wrap"},X={key:1},Z={key:2},ee={key:0,class:"pagination-wrap"},oe=T({__name:"Collection",setup(te){const m=E(),S=G(),_=s(!1),i=s([]),l=s(+S.query.p||1),p=s(20),r=s(0),c=s(!1),d=s({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),f=t=>{d.value=t,c.value=!0},b=()=>{c.value=!1},v=()=>{_.value=!0,H({page:l.value,page_size:p.value}).then(t=>{_.value=!1,i.value=t.list,r.value=Math.ceil(t.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(t=>{_.value=!1})},x=t=>{l.value=t,v()};return U(()=>{v()}),(t,ne)=>{const $=W,z=V,B=A,F=N,g=D,M=Q,P=I,R=Y,q=j;return e(),o("div",null,[n($,{title:"收藏"}),n(R,{class:"main-content-wrap",bordered:""},{default:u(()=>[_.value?(e(),o("div",J,[n(z,{num:p.value},null,8,["num"])])):(e(),o("div",K,[i.value.length===0?(e(),o("div",O,[n(B,{size:"large",description:"暂无数据"})])):w("",!0),h(m).state.desktopModelShow?(e(),o("div",X,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(F,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))])):(e(),o("div",Z,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(M,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))]))])),n(P,{show:c.value,user:d.value,onSuccess:b},null,8,["show","user"])]),_:1}),r.value>0?(e(),o("div",ee,[n(q,{page:l.value,"onUpdate:page":x,"page-slot":h(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):w("",!0)])}}});const Ne=L(oe,[["__scopeId","data-v-760779af"]]);export{Ne as default}; diff --git a/web/dist/assets/Contacts-e743465d.js b/web/dist/assets/Contacts-789b01f1.js similarity index 92% rename from web/dist/assets/Contacts-e743465d.js rename to web/dist/assets/Contacts-789b01f1.js index b89e29bc..4fe80acd 100644 --- a/web/dist/assets/Contacts-e743465d.js +++ b/web/dist/assets/Contacts-789b01f1.js @@ -1 +1 @@ -import{_ as T}from"./whisper-a4b81d0e.js";import{d as F,c as j,r as A,e as s,f as c,k as t,w as n,j as i,y as H,A as L,x as v,bf as g,h as I,H as a,b as U,Y as S,F as z,u as W,q as E}from"./@vue-a481fc63.js";import{F as G,_ as N,b as Q}from"./index-c7635d00.js";import{i as Y,p as J}from"./@vicons-7a4ef312.js";import{j as x,o as K,e as X,O as Z,L as ee,F as te,Q as ne,I as oe,G as se}from"./naive-ui-d8de3dda.js";import{_ as ae}from"./post-skeleton-f8428500.js";import{_ as ce}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as ie}from"./vuex-44de225f.js";import{b as _e}from"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const re={class:"contact-item"},le={class:"nickname-wrap"},pe={class:"username-wrap"},ue={class:"user-info"},me={class:"info-item"},de={class:"info-item"},fe={class:"item-header-extra"},ve=F({__name:"contact-item",props:{contact:{}},emits:["send-whisper"],setup(C,{emit:h}){const _=C,r=e=>()=>I(x,null,{default:()=>I(e)}),l=j(()=>[{label:"私信",key:"whisper",icon:r(J)}]),u=e=>{switch(e){case"whisper":const o={id:_.contact.user_id,avatar:_.contact.avatar,username:_.contact.username,nickname:_.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};h("send-whisper",o);break}};return(e,o)=>{const m=K,d=A("router-link"),w=X,k=Z,y=ee;return s(),c("div",re,[t(y,{"content-indented":""},{avatar:n(()=>[t(m,{size:54,src:e.contact.avatar},null,8,["src"])]),header:n(()=>[i("span",le,[t(d,{onClick:o[0]||(o[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:n(()=>[L(v(e.contact.nickname),1)]),_:1},8,["to"])]),i("span",pe," @"+v(e.contact.username),1),i("div",ue,[i("span",me," UID. "+v(e.contact.user_id),1),i("span",de,v(g(G)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":n(()=>[i("div",fe,[t(k,{placement:"bottom-end",trigger:"click",size:"small",options:l.value,onSelect:u},{default:n(()=>[t(w,{quaternary:"",circle:""},{icon:n(()=>[t(g(x),null,{default:n(()=>[t(g(Y))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const ge=N(ve,[["__scopeId","data-v-d62f19da"]]),he={key:0,class:"skeleton-wrap"},we={key:1},ke={key:0,class:"empty-wrap"},ye={key:0,class:"pagination-wrap"},Ce=F({__name:"Contacts",setup(C){const h=ie(),_=_e(),r=a(!1),l=a([]),u=a(+_.query.p||1),e=a(20),o=a(0),m=a(!1),d=a({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),w=p=>{d.value=p,m.value=!0},k=()=>{m.value=!1},y=p=>{u.value=p,$()};U(()=>{$()});const $=(p=!1)=>{l.value.length===0&&(r.value=!0),Q({page:u.value,page_size:e.value}).then(f=>{r.value=!1,l.value=f.list,o.value=Math.ceil(f.pager.total_rows/e.value),p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(f=>{r.value=!1})};return(p,f)=>{const q=ce,B=ae,M=oe,P=ge,V=se,D=T,O=te,R=ne;return s(),c(z,null,[i("div",null,[t(q,{title:"好友"}),t(O,{class:"main-content-wrap",bordered:""},{default:n(()=>[r.value?(s(),c("div",he,[t(B,{num:e.value},null,8,["num"])])):(s(),c("div",we,[l.value.length===0?(s(),c("div",ke,[t(M,{size:"large",description:"暂无数据"})])):S("",!0),(s(!0),c(z,null,W(l.value,b=>(s(),E(V,{class:"list-item",key:b.user_id},{default:n(()=>[t(P,{contact:b,onSendWhisper:w},null,8,["contact"])]),_:2},1024))),128))])),t(D,{show:m.value,user:d.value,onSuccess:k},null,8,["show","user"])]),_:1})]),o.value>0?(s(),c("div",ye,[t(R,{page:u.value,"onUpdate:page":y,"page-slot":g(h).state.collapsedRight?5:8,"page-count":o.value},null,8,["page","page-slot","page-count"])])):S("",!0)],64)}}});const Qe=N(Ce,[["__scopeId","data-v-e20fef94"]]);export{Qe as default}; +import{_ as T}from"./whisper-150920d0.js";import{d as F,c as j,r as A,e as s,f as c,k as t,w as n,j as i,y as H,A as L,x as v,bf as g,h as I,H as a,b as U,Y as S,F as z,u as W,q as E}from"./@vue-a481fc63.js";import{F as G,_ as N,b as Q}from"./index-fcb35ad4.js";import{i as Y,p as J}from"./@vicons-7a4ef312.js";import{j as x,o as K,e as X,O as Z,L as ee,F as te,Q as ne,I as oe,G as se}from"./naive-ui-d8de3dda.js";import{_ as ae}from"./post-skeleton-f060289d.js";import{_ as ce}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as ie}from"./vuex-44de225f.js";import{b as _e}from"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const re={class:"contact-item"},le={class:"nickname-wrap"},pe={class:"username-wrap"},ue={class:"user-info"},me={class:"info-item"},de={class:"info-item"},fe={class:"item-header-extra"},ve=F({__name:"contact-item",props:{contact:{}},emits:["send-whisper"],setup(C,{emit:h}){const _=C,r=e=>()=>I(x,null,{default:()=>I(e)}),l=j(()=>[{label:"私信",key:"whisper",icon:r(J)}]),u=e=>{switch(e){case"whisper":const o={id:_.contact.user_id,avatar:_.contact.avatar,username:_.contact.username,nickname:_.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};h("send-whisper",o);break}};return(e,o)=>{const m=K,d=A("router-link"),w=X,k=Z,y=ee;return s(),c("div",re,[t(y,{"content-indented":""},{avatar:n(()=>[t(m,{size:54,src:e.contact.avatar},null,8,["src"])]),header:n(()=>[i("span",le,[t(d,{onClick:o[0]||(o[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:n(()=>[L(v(e.contact.nickname),1)]),_:1},8,["to"])]),i("span",pe," @"+v(e.contact.username),1),i("div",ue,[i("span",me," UID. "+v(e.contact.user_id),1),i("span",de,v(g(G)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":n(()=>[i("div",fe,[t(k,{placement:"bottom-end",trigger:"click",size:"small",options:l.value,onSelect:u},{default:n(()=>[t(w,{quaternary:"",circle:""},{icon:n(()=>[t(g(x),null,{default:n(()=>[t(g(Y))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const ge=N(ve,[["__scopeId","data-v-d62f19da"]]),he={key:0,class:"skeleton-wrap"},we={key:1},ke={key:0,class:"empty-wrap"},ye={key:0,class:"pagination-wrap"},Ce=F({__name:"Contacts",setup(C){const h=ie(),_=_e(),r=a(!1),l=a([]),u=a(+_.query.p||1),e=a(20),o=a(0),m=a(!1),d=a({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),w=p=>{d.value=p,m.value=!0},k=()=>{m.value=!1},y=p=>{u.value=p,$()};U(()=>{$()});const $=(p=!1)=>{l.value.length===0&&(r.value=!0),Q({page:u.value,page_size:e.value}).then(f=>{r.value=!1,l.value=f.list,o.value=Math.ceil(f.pager.total_rows/e.value),p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(f=>{r.value=!1})};return(p,f)=>{const q=ce,B=ae,M=oe,P=ge,V=se,D=T,O=te,R=ne;return s(),c(z,null,[i("div",null,[t(q,{title:"好友"}),t(O,{class:"main-content-wrap",bordered:""},{default:n(()=>[r.value?(s(),c("div",he,[t(B,{num:e.value},null,8,["num"])])):(s(),c("div",we,[l.value.length===0?(s(),c("div",ke,[t(M,{size:"large",description:"暂无数据"})])):S("",!0),(s(!0),c(z,null,W(l.value,b=>(s(),E(V,{class:"list-item",key:b.user_id},{default:n(()=>[t(P,{contact:b,onSendWhisper:w},null,8,["contact"])]),_:2},1024))),128))])),t(D,{show:m.value,user:d.value,onSuccess:k},null,8,["show","user"])]),_:1})]),o.value>0?(s(),c("div",ye,[t(R,{page:u.value,"onUpdate:page":y,"page-slot":g(h).state.collapsedRight?5:8,"page-count":o.value},null,8,["page","page-slot","page-count"])])):S("",!0)],64)}}});const Qe=N(Ce,[["__scopeId","data-v-e20fef94"]]);export{Qe as default}; diff --git a/web/dist/assets/Following-7bf27bed.js b/web/dist/assets/Following-e831211b.js similarity index 95% rename from web/dist/assets/Following-7bf27bed.js rename to web/dist/assets/Following-e831211b.js index 83d7d769..0dc92c04 100644 --- a/web/dist/assets/Following-7bf27bed.js +++ b/web/dist/assets/Following-e831211b.js @@ -1 +1 @@ -import{_ as K}from"./whisper-a4b81d0e.js";import{d as B,c as Q,r as Y,e as _,f as u,k as o,w as t,j as p,y as X,A as x,x as k,q as N,Y as U,bf as g,h as C,H as r,b as Z,F as M,u as ee}from"./@vue-a481fc63.js";import{u as oe,b as ne}from"./vue-router-e5a2430e.js";import{F as te,J as se,K as ae,_ as O,U as le,V as ce}from"./index-c7635d00.js";import{i as ie,p as _e,z as re,v as ue}from"./@vicons-7a4ef312.js";import{T as pe,j as P,o as me,M as de,e as fe,O as ge,L as ve,F as we,Q as he,f as ke,g as ye,I as be,G as $e}from"./naive-ui-d8de3dda.js";import{_ as Fe}from"./post-skeleton-f8428500.js";import{_ as ze}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as Te}from"./vuex-44de225f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"follow-item"},qe={class:"nickname-wrap"},Ie={class:"username-wrap"},Se={class:"user-info"},xe={class:"info-item"},Ce={class:"info-item"},Me={class:"item-header-extra"},Pe=B({__name:"follow-item",props:{contact:{}},emits:["send-whisper"],setup(q,{emit:y}){const n=q,c=pe();oe();const s=e=>()=>C(P,null,{default:()=>C(e)}),b=()=>{c.success({title:"提示",content:"确定"+(n.contact.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{n.contact.is_following?se({user_id:n.contact.user_id}).then(e=>{window.$message.success("取消关注成功"),n.contact.is_following=!1}).catch(e=>{console.log(e)}):ae({user_id:n.contact.user_id}).then(e=>{window.$message.success("关注成功"),n.contact.is_following=!0}).catch(e=>{console.log(e)})}})},v=Q(()=>{let e=[{label:"私信",key:"whisper",icon:s(_e)}];return n.contact.is_following?e.push({label:"取消关注",key:"unfollow",icon:s(re)}):e.push({label:"关注",key:"follow",icon:s(ue)}),e}),m=e=>{switch(e){case"follow":case"unfollow":b();break;case"whisper":const a={id:n.contact.user_id,avatar:n.contact.avatar,username:n.contact.username,nickname:n.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};y("send-whisper",a);break}};return(e,a)=>{const d=me,f=Y("router-link"),w=de,$=fe,F=ge,z=ve;return _(),u("div",Ue,[o(z,{"content-indented":""},{avatar:t(()=>[o(d,{size:54,src:e.contact.avatar},null,8,["src"])]),header:t(()=>[p("span",qe,[o(f,{onClick:a[0]||(a[0]=X(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:t(()=>[x(k(e.contact.nickname),1)]),_:1},8,["to"])]),p("span",Ie," @"+k(e.contact.username),1),e.contact.is_following?(_(),N(w,{key:0,class:"top-tag",type:"success",size:"small",round:""},{default:t(()=>[x(" 已关注 ")]),_:1})):U("",!0),p("div",Se,[p("span",xe," UID. "+k(e.contact.user_id),1),p("span",Ce,k(g(te)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":t(()=>[p("div",Me,[o(F,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:m},{default:t(()=>[o($,{quaternary:"",circle:""},{icon:t(()=>[o(g(P),null,{default:t(()=>[o(g(ie))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const Be=O(Pe,[["__scopeId","data-v-1fb7364a"]]),Ne={key:0,class:"skeleton-wrap"},Oe={key:1},Ve={key:0,class:"empty-wrap"},De={key:0,class:"pagination-wrap"},Re=B({__name:"Following",setup(q){const y=Te(),n=ne(),c=r(!1),s=r([]),b=n.query.n||"粉丝详情",v=n.query.s||"",m=r(n.query.t||"follows"),e=r(+n.query.p||1),a=r(20),d=r(0),f=r(!1),w=r({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),$=l=>{w.value=l,f.value=!0},F=()=>{f.value=!1},z=l=>{e.value=l,T()},V=l=>{m.value=l,T()},T=()=>{m.value==="follows"?D(v):m.value==="followings"&&R(v)},D=(l,h=!1)=>{s.value.length===0&&(c.value=!0),le({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})},R=(l,h=!1)=>{s.value.length===0&&(c.value=!0),ce({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})};return Z(()=>{T()}),(l,h)=>{const i=ze,I=ke,W=ye,j=Fe,A=be,H=Be,L=$e,E=K,G=we,J=he;return _(),u(M,null,[p("div",null,[o(i,{title:g(b),back:!0},null,8,["title"]),o(G,{class:"main-content-wrap",bordered:""},{default:t(()=>[o(W,{type:"line",animated:"","default-value":m.value,"onUpdate:value":V},{default:t(()=>[o(I,{name:"follows",tab:"正在关注"}),o(I,{name:"followings",tab:"我的粉丝"})]),_:1},8,["default-value"]),c.value?(_(),u("div",Ne,[o(j,{num:a.value},null,8,["num"])])):(_(),u("div",Oe,[s.value.length===0?(_(),u("div",Ve,[o(A,{size:"large",description:"暂无数据"})])):U("",!0),(_(!0),u(M,null,ee(s.value,S=>(_(),N(L,{key:S.user_id},{default:t(()=>[o(H,{contact:S,onSendWhisper:$},null,8,["contact"])]),_:2},1024))),128))])),o(E,{show:f.value,user:w.value,onSuccess:F},null,8,["show","user"])]),_:1})]),d.value>0?(_(),u("div",De,[o(J,{page:e.value,"onUpdate:page":z,"page-slot":g(y).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):U("",!0)],64)}}});const po=O(Re,[["__scopeId","data-v-0a10234f"]]);export{po as default}; +import{_ as K}from"./whisper-150920d0.js";import{d as B,c as Q,r as Y,e as _,f as u,k as o,w as t,j as p,y as X,A as x,x as k,q as N,Y as U,bf as g,h as C,H as r,b as Z,F as M,u as ee}from"./@vue-a481fc63.js";import{u as oe,b as ne}from"./vue-router-e5a2430e.js";import{F as te,J as se,K as ae,_ as O,U as le,V as ce}from"./index-fcb35ad4.js";import{i as ie,p as _e,z as re,v as ue}from"./@vicons-7a4ef312.js";import{T as pe,j as P,o as me,M as de,e as fe,O as ge,L as ve,F as we,Q as he,f as ke,g as ye,I as be,G as $e}from"./naive-ui-d8de3dda.js";import{_ as Fe}from"./post-skeleton-f060289d.js";import{_ as ze}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as Te}from"./vuex-44de225f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"follow-item"},qe={class:"nickname-wrap"},Ie={class:"username-wrap"},Se={class:"user-info"},xe={class:"info-item"},Ce={class:"info-item"},Me={class:"item-header-extra"},Pe=B({__name:"follow-item",props:{contact:{}},emits:["send-whisper"],setup(q,{emit:y}){const n=q,c=pe();oe();const s=e=>()=>C(P,null,{default:()=>C(e)}),b=()=>{c.success({title:"提示",content:"确定"+(n.contact.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{n.contact.is_following?se({user_id:n.contact.user_id}).then(e=>{window.$message.success("取消关注成功"),n.contact.is_following=!1}).catch(e=>{console.log(e)}):ae({user_id:n.contact.user_id}).then(e=>{window.$message.success("关注成功"),n.contact.is_following=!0}).catch(e=>{console.log(e)})}})},v=Q(()=>{let e=[{label:"私信",key:"whisper",icon:s(_e)}];return n.contact.is_following?e.push({label:"取消关注",key:"unfollow",icon:s(re)}):e.push({label:"关注",key:"follow",icon:s(ue)}),e}),m=e=>{switch(e){case"follow":case"unfollow":b();break;case"whisper":const a={id:n.contact.user_id,avatar:n.contact.avatar,username:n.contact.username,nickname:n.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};y("send-whisper",a);break}};return(e,a)=>{const d=me,f=Y("router-link"),w=de,$=fe,F=ge,z=ve;return _(),u("div",Ue,[o(z,{"content-indented":""},{avatar:t(()=>[o(d,{size:54,src:e.contact.avatar},null,8,["src"])]),header:t(()=>[p("span",qe,[o(f,{onClick:a[0]||(a[0]=X(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:t(()=>[x(k(e.contact.nickname),1)]),_:1},8,["to"])]),p("span",Ie," @"+k(e.contact.username),1),e.contact.is_following?(_(),N(w,{key:0,class:"top-tag",type:"success",size:"small",round:""},{default:t(()=>[x(" 已关注 ")]),_:1})):U("",!0),p("div",Se,[p("span",xe," UID. "+k(e.contact.user_id),1),p("span",Ce,k(g(te)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":t(()=>[p("div",Me,[o(F,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:m},{default:t(()=>[o($,{quaternary:"",circle:""},{icon:t(()=>[o(g(P),null,{default:t(()=>[o(g(ie))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const Be=O(Pe,[["__scopeId","data-v-1fb7364a"]]),Ne={key:0,class:"skeleton-wrap"},Oe={key:1},Ve={key:0,class:"empty-wrap"},De={key:0,class:"pagination-wrap"},Re=B({__name:"Following",setup(q){const y=Te(),n=ne(),c=r(!1),s=r([]),b=n.query.n||"粉丝详情",v=n.query.s||"",m=r(n.query.t||"follows"),e=r(+n.query.p||1),a=r(20),d=r(0),f=r(!1),w=r({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),$=l=>{w.value=l,f.value=!0},F=()=>{f.value=!1},z=l=>{e.value=l,T()},V=l=>{m.value=l,T()},T=()=>{m.value==="follows"?D(v):m.value==="followings"&&R(v)},D=(l,h=!1)=>{s.value.length===0&&(c.value=!0),le({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})},R=(l,h=!1)=>{s.value.length===0&&(c.value=!0),ce({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})};return Z(()=>{T()}),(l,h)=>{const i=ze,I=ke,W=ye,j=Fe,A=be,H=Be,L=$e,E=K,G=we,J=he;return _(),u(M,null,[p("div",null,[o(i,{title:g(b),back:!0},null,8,["title"]),o(G,{class:"main-content-wrap",bordered:""},{default:t(()=>[o(W,{type:"line",animated:"","default-value":m.value,"onUpdate:value":V},{default:t(()=>[o(I,{name:"follows",tab:"正在关注"}),o(I,{name:"followings",tab:"我的粉丝"})]),_:1},8,["default-value"]),c.value?(_(),u("div",Ne,[o(j,{num:a.value},null,8,["num"])])):(_(),u("div",Oe,[s.value.length===0?(_(),u("div",Ve,[o(A,{size:"large",description:"暂无数据"})])):U("",!0),(_(!0),u(M,null,ee(s.value,S=>(_(),N(L,{key:S.user_id},{default:t(()=>[o(H,{contact:S,onSendWhisper:$},null,8,["contact"])]),_:2},1024))),128))])),o(E,{show:f.value,user:w.value,onSuccess:F},null,8,["show","user"])]),_:1})]),d.value>0?(_(),u("div",De,[o(J,{page:e.value,"onUpdate:page":z,"page-slot":g(y).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):U("",!0)],64)}}});const po=O(Re,[["__scopeId","data-v-0a10234f"]]);export{po as default}; diff --git a/web/dist/assets/Home-5c5e61eb.js b/web/dist/assets/Home-5c5e61eb.js deleted file mode 100644 index d0c2fe84..00000000 --- a/web/dist/assets/Home-5c5e61eb.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as Ue}from"./whisper-a4b81d0e.js";import{_ as Te,a as Ve}from"./post-item.vue_vue_type_style_index_0_lang-d54eb310.js";import{_ as Ee}from"./post-skeleton-f8428500.js";import{d as _e,H as l,c as ce,b as ge,e as c,f as y,bf as U,j as A,k as a,w as i,q as O,Y as k,y as ve,A as Y,x as ee,F as pe,u as de,E as Ne}from"./@vue-a481fc63.js";import{u as fe}from"./vuex-44de225f.js";import{l as me}from"./lodash-e0b37ac3.js";import{g as xe,a as Re,c as qe,b as Ge,d as Oe,e as Pe,_ as Fe}from"./index-c7635d00.js";import{p as Le}from"./content-34f8522f.js";import{V as B,P as H}from"./IEnum-5453a777.js";import{I as Ye,V as Se,A as Me,d as Ke,E as We}from"./@vicons-7a4ef312.js";import{o as he,v as je,j as Qe,e as He,w as Ze,x as Je,y as Xe,z as $e,A as et,B as tt,C as at,a as we,D as st,E as ot,F as nt,G as lt,l as it,H as rt,I as ut,k as ct}from"./naive-ui-d8de3dda.js";import{_ as pt}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{b as dt,u as vt}from"./vue-router-e5a2430e.js";import{W as mt}from"./v3-infinite-loading-2c58ec2f.js";import{S as _t}from"./@opentiny-d73a2d67.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./vue-1e3b54ec.js";import"./xss-a5544f63.js";import"./cssfilter-af71ba68.js";const gt=Z=>{const F=new FileReader,b=r=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(r),T=()=>{const r=new Uint8Array(F.result).subarray(0,4);let V="";for(let g=0;g{F.onloadend=()=>{const g=Z.type;r(g===""||g==="application/octet-stream"?T():b(g))},F.readAsArrayBuffer(Z.slice(0,4))})},ft={key:0,class:"compose-wrap"},ht={class:"compose-line"},wt={class:"compose-user"},yt={class:"compose-line compose-options"},kt={class:"attachment"},At={class:"submit-wrap"},bt={class:"attachment-list-wrap"},Ct={key:0,class:"attachment-price-wrap"},zt=A("span",null," 附件价格¥",-1),It={key:0,class:"eye-wrap"},Dt={key:1,class:"link-wrap"},Bt={key:1,class:"compose-wrap"},Ut=A("div",{class:"login-wrap"},[A("span",{class:"login-banner"}," 登录后,精彩更多")],-1),Tt={key:0,class:"login-only-wrap"},Vt={key:1,class:"login-wrap"},Et=_e({__name:"compose",emits:["post-success"],setup(Z,{emit:F}){const b=fe(),T=l([]),r=l(!1),V=l(!1),g=l(!1),P=l(!1),f=l(""),R=l([]),E=l(),N=l(0),m=l("public/image"),I=l([]),p=l([]),h=l([]),C=l([]),D=l(B.PUBLIC),q=l(B.PUBLIC),K="true".toLowerCase()==="true",L=+"400",J=l("true".toLowerCase()==="true"),X=l("true".toLowerCase()==="true"),te=l("true".toLowerCase()==="true"),S=l("false".toLowerCase()==="true"),ae=l("true".toLowerCase()==="true"),W="/v1/attachment",G=ce(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),$=ce(()=>{let e=[{value:B.PUBLIC,label:"公开"},{value:B.PRIVATE,label:"私密"},{value:B.Following,label:"关注可见"}];return K&&e.push({value:B.FRIEND,label:"好友可见"}),e}),se=()=>{g.value=!g.value,g.value&&P.value&&(P.value=!1)},j=()=>{P.value=!P.value,P.value&&g.value&&(g.value=!1)},oe=me.debounce(e=>{xe({k:e}).then(t=>{let n=[];t.suggest.map(o=>{n.push({label:o,value:o})}),T.value=n,r.value=!1}).catch(t=>{r.value=!1})},200),u=me.debounce(e=>{Re({k:e}).then(t=>{let n=[];t.suggest.map(o=>{n.push({label:o,value:o})}),T.value=n,r.value=!1}).catch(t=>{r.value=!1})},200),v=(e,t)=>{r.value||(r.value=!0,t==="@"?oe(e):u(e))},x=e=>{e.length>L?f.value=e.substring(0,L):f.value=e},w=e=>{m.value=e},z=e=>{for(let d=0;d30&&(e[d].name=n.substring(0,18)+"..."+n.substring(n.length-9)+"."+o)}I.value=e},ne=async e=>{var t,n,o,d,s;return m.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((t=e.file.file)==null?void 0:t.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):m.value==="image"&&((n=e.file.file)==null?void 0:n.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):m.value==="public/video"&&!["video/mp4","video/quicktime"].includes((o=e.file.file)==null?void 0:o.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):m.value==="public/video"&&((d=e.file.file)==null?void 0:d.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):m.value==="attachment"&&!await gt(e.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):m.value==="attachment"&&((s=e.file.file)==null?void 0:s.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},le=({file:e,event:t})=>{var n;try{let o=JSON.parse((n=t.target)==null?void 0:n.response);o.code===0&&(m.value==="public/image"&&p.value.push({id:e.id,content:o.data.content}),m.value==="public/video"&&h.value.push({id:e.id,content:o.data.content}),m.value==="attachment"&&C.value.push({id:e.id,content:o.data.content}))}catch{window.$message.error("上传失败")}},ie=({file:e,event:t})=>{var n;try{let o=JSON.parse((n=t.target)==null?void 0:n.response);if(o.code!==0){let d=o.msg||"上传失败";o.details&&o.details.length>0&&o.details.map(s=>{d+=":"+s}),window.$message.error(d)}}catch{window.$message.error("上传失败")}},re=({file:e})=>{let t=p.value.findIndex(n=>n.id===e.id);t>-1&&p.value.splice(t,1),t=h.value.findIndex(n=>n.id===e.id),t>-1&&h.value.splice(t,1),t=C.value.findIndex(n=>n.id===e.id),t>-1&&C.value.splice(t,1)},ue=()=>{if(f.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:e,users:t}=Le(f.value);const n=[];let o=100;n.push({content:f.value,type:H.TEXT,sort:o}),p.value.map(s=>{o++,n.push({content:s.content,type:H.IMAGEURL,sort:o})}),h.value.map(s=>{o++,n.push({content:s.content,type:H.VIDEOURL,sort:o})}),C.value.map(s=>{o++,n.push({content:s.content,type:H.ATTACHMENT,sort:o})}),R.value.length>0&&R.value.map(s=>{o++,n.push({content:s,type:H.LINKURL,sort:o})}),V.value=!0;let d=D.value;d==B.Following&&(d=B.PUBLIC),qe({contents:n,tags:Array.from(new Set(e)),users:Array.from(new Set(t)),attachment_price:+N.value*100,visibility:d}).then(s=>{var M;window.$message.success("发布成功"),V.value=!1,F("post-success",s),g.value=!1,P.value=!1,(M=E.value)==null||M.clear(),I.value=[],f.value="",R.value=[],p.value=[],h.value=[],C.value=[],D.value=q.value}).catch(s=>{V.value=!1})},Q=e=>{b.commit("triggerAuth",!0),b.commit("triggerAuthKey",e)};return ge(()=>{const e="friend".toLowerCase();K&&e==="friend"?q.value=B.FRIEND:e==="following"?q.value=B.Following:e==="public"?q.value=B.PUBLIC:q.value=B.PRIVATE,D.value=q.value}),(e,t)=>{const n=he,o=je,d=Qe,s=He,M=Ze,ye=Je,ke=Xe,Ae=$e,be=et,Ce=tt,ze=at,Ie=we,De=st,Be=ot;return c(),y("div",null,[U(b).state.userInfo.id>0?(c(),y("div",ft,[A("div",ht,[A("div",wt,[a(n,{round:"",size:30,src:U(b).state.userInfo.avatar},null,8,["src"])]),a(o,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:r.value,value:f.value,prefix:["@","#"],options:T.value,onSearch:v,"onUpdate:value":x,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(Ce,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:W,headers:{Authorization:G.value},data:{type:m.value},"file-list":I.value,onBeforeUpload:ne,onFinish:le,onError:ie,onRemove:re,"onUpdate:fileList":z},{default:i(()=>[A("div",yt,[A("div",kt,[a(M,{abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("public/image"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Ye))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),X.value?(c(),O(M,{key:0,abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value!=="public/video"||I.value.length===9,onClick:()=>{w("public/video"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),te.value?(c(),O(M,{key:1,abstract:""},{default:i(({handleClick:_})=>[a(s,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("attachment"),_()},quaternary:"",circle:"",type:"primary"},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Me))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),a(s,{quaternary:"",circle:"",type:"primary",onClick:ve(se,["stop"])},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(Ke))]),_:1})]),_:1},8,["onClick"]),ae.value?(c(),O(s,{key:2,quaternary:"",circle:"",type:"primary",onClick:ve(j,["stop"])},{icon:i(()=>[a(d,{size:"20",color:"var(--primary-color)"},{default:i(()=>[a(U(We))]),_:1})]),_:1},8,["onClick"])):k("",!0)]),A("div",At,[a(ke,{trigger:"hover",placement:"bottom"},{trigger:i(()=>[a(ye,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:f.value.length/U(L)*100},null,8,["percentage"])]),default:i(()=>[Y(" "+ee(f.value.length)+" / "+ee(U(L)),1)]),_:1}),a(s,{loading:V.value,onClick:ue,type:"primary",secondary:"",round:""},{default:i(()=>[Y(" 发布 ")]),_:1},8,["loading"])])]),A("div",bt,[a(Ae),C.value.length>0?(c(),y("div",Ct,[S.value?(c(),O(be,{key:0,value:N.value,"onUpdate:value":t[0]||(t[0]=_=>N.value=_),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:i(()=>[zt]),_:1},8,["value"])):k("",!0)])):k("",!0)])]),_:1},8,["headers","data","file-list"]),P.value?(c(),y("div",It,[a(De,{value:D.value,"onUpdate:value":t[1]||(t[1]=_=>D.value=_),name:"radiogroup"},{default:i(()=>[a(Ie,null,{default:i(()=>[(c(!0),y(pe,null,de($.value,_=>(c(),O(ze,{key:_.value,value:_.value,label:_.label},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])):k("",!0),g.value?(c(),y("div",Dt,[a(Be,{value:R.value,"onUpdate:value":t[2]||(t[2]=_=>R.value=_),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":i(()=>[Y(" 创建链接 ")]),_:1},8,["value"])])):k("",!0)])):(c(),y("div",Bt,[Ut,J.value?k("",!0):(c(),y("div",Tt,[a(s,{strong:"",secondary:"",round:"",type:"primary",onClick:t[3]||(t[3]=_=>Q("signin"))},{default:i(()=>[Y(" 登录 ")]),_:1})])),J.value?(c(),y("div",Vt,[a(s,{strong:"",secondary:"",round:"",type:"primary",onClick:t[4]||(t[4]=_=>Q("signin"))},{default:i(()=>[Y(" 登录 ")]),_:1}),a(s,{strong:"",secondary:"",round:"",type:"info",onClick:t[5]||(t[5]=_=>Q("signup"))},{default:i(()=>[Y(" 注册 ")]),_:1})])):k("",!0)]))])}}});const Nt="data:image/png;base64,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",xt="/assets/discover-tweets-ab101944.jpeg",Rt="/assets/following-tweets-e36b4410.jpeg",qt={class:"slide-bar-item"},Gt={class:"slide-bar-item-title slide-bar-user-link"},Ot={key:1,class:"skeleton-wrap"},Pt={key:0,class:"empty-wrap"},Ft={key:1},Lt={key:2},Yt={class:"load-more-wrap"},St={class:"load-more-spinner"},Mt=_e({__name:"Home",setup(Z){const F="true".toLowerCase()==="true",b="true".toLowerCase()==="true",T=fe(),r=dt(),V=vt(),g=l(9),P=l(8),f=l([{title:"最新动态",style:1,username:"",avatar:Nt,show:!0},{title:"热门推荐",style:2,username:"",avatar:xt,show:!1},{title:"正在关注",style:3,username:"",avatar:Rt,show:!1},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0}]),R=l("泡泡广场"),E=l(!1),N=l(!1),m=l(1),I=l(""),p=l([]),h=l(1),C=l(20),D=l(0),q=l(!1),K=l({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),L=u=>{K.value=u,q.value=!0},J=()=>{q.value=!1},X=()=>{R.value="泡泡广场",r.query&&r.query.q&&(r.query.t&&r.query.t==="tag"?R.value="#"+decodeURIComponent(r.query.q):R.value="搜索: "+decodeURIComponent(r.query.q))},te=ce(()=>F&&b&&T.state.desktopModelShow&&T.state.userInfo.id>0),S=()=>{E.value=!1,N.value=!1,p.value=[],h.value=1,D.value=0},ae=(u,v)=>{switch(S(),m.value=u.style,r.query.q&&(r.query.q=null,X()),u.style){case 1:G();break;case 2:G();break;case 3:r.query.q=null,G();break;case 21:I.value=u.username,$();break}f.value[v].show=!1},W=()=>{f.value=f.value.slice(0,3),!(!F||!b||T.state.userInfo.id===0)&&Ge({page:1,page_size:50}).then(u=>{var v=0;const x=u.list||[];let w=[];for(;v0&&(f.value=f.value.concat(w))}).catch(u=>{console.log(u)})},G=()=>{E.value=!0,Oe({query:r.query.q?decodeURIComponent(r.query.q):null,type:r.query.t,page:h.value,page_size:C.value}).then(u=>{E.value=!1,u.list.length===0&&(N.value=!0),h.value>1?p.value=p.value.concat(u.list):(p.value=u.list,window.scrollTo(0,0)),D.value=Math.ceil(u.pager.total_rows/C.value)}).catch(u=>{E.value=!1,h.value>1&&h.value--})},$=()=>{E.value=!0,Pe({username:I.value,style:"post",page:h.value,page_size:C.value}).then(u=>{E.value=!1,u.list.length===0&&(N.value=!0),h.value>1?p.value=p.value.concat(u.list):(p.value=u.list||[],window.scrollTo(0,0)),D.value=Math.ceil(u.pager.total_rows/C.value)}).catch(u=>{p.value=[],h.value>1&&h.value--,E.value=!1})},se=u=>{if(m.value!=1){V.push({name:"post",query:{id:u.id}});return}let v=[],x=p.value.length;x==C.value&&x--;for(var w=0;w{switch(m.value){case 1:G();break;case 2:G();break;case 3:G();break;case 21:r.query.q?G():$();break}},oe=()=>{h.value{S(),W(),G()}),Ne(()=>({path:r.path,query:r.query,refresh:T.state.refresh}),(u,v)=>{if(X(),u.refresh!==v.refresh){S(),setTimeout(()=>{W(),j()},0);return}v.path!=="/post"&&u.path==="/"&&(S(),setTimeout(()=>{W(),j()},0))}),(u,v)=>{const x=pt,w=Et,z=lt,ne=he,le=it,ie=rt,re=Ee,ue=ut,Q=Te,e=Ve,t=Ue,n=nt,o=ct,d=we;return c(),y("div",null,[a(x,{title:R.value},null,8,["title"]),a(n,{class:"main-content-wrap",bordered:""},{default:i(()=>[a(z,null,{default:i(()=>[a(w,{onPostSuccess:se})]),_:1}),te.value?(c(),O(z,{key:0},{default:i(()=>[a(U(_t),{modelValue:f.value,"onUpdate:modelValue":v[0]||(v[0]=s=>f.value=s),"wheel-blocks":P.value,"init-blocks":g.value,onClick:ae,tag:"div","sub-tag":"div"},{default:i(s=>[A("div",qt,[a(le,{value:"1",offset:[-4,48],dot:"",show:s.slotData.show},{default:i(()=>[a(ne,{round:"",size:48,src:s.slotData.avatar,class:"slide-bar-item-avatar"},null,8,["src"])]),_:2},1032,["show"]),A("div",Gt,[a(ie,{"line-clamp":2},{default:i(()=>[Y(ee(s.slotData.title),1)]),_:2},1024)])])]),_:1},8,["modelValue","wheel-blocks","init-blocks"])]),_:1})):k("",!0),E.value&&p.value.length===0?(c(),y("div",Ot,[a(re,{num:C.value},null,8,["num"])])):k("",!0),A("div",null,[p.value.length===0?(c(),y("div",Pt,[a(ue,{size:"large",description:"暂无数据"})])):k("",!0),U(T).state.desktopModelShow?(c(),y("div",Ft,[(c(!0),y(pe,null,de(p.value,s=>(c(),O(z,{key:s.id},{default:i(()=>[a(Q,{post:s,onSendWhisper:L},null,8,["post"])]),_:2},1024))),128))])):(c(),y("div",Lt,[(c(!0),y(pe,null,de(p.value,s=>(c(),O(z,{key:s.id},{default:i(()=>[a(e,{post:s,onSendWhisper:L},null,8,["post"])]),_:2},1024))),128))]))]),a(t,{show:q.value,user:K.value,onSuccess:J},null,8,["show","user"])]),_:1}),D.value>0?(c(),O(d,{key:0,justify:"center"},{default:i(()=>[a(U(mt),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:v[1]||(v[1]=s=>oe())},{spinner:i(()=>[A("div",Yt,[N.value?k("",!0):(c(),O(o,{key:0,size:14})),A("span",St,ee(N.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):k("",!0)])}}});const Ua=Fe(Mt,[["__scopeId","data-v-1066affe"]]);export{Ua as default}; diff --git a/web/dist/assets/Home-9f453b75.js b/web/dist/assets/Home-9f453b75.js new file mode 100644 index 00000000..573d2bf5 --- /dev/null +++ b/web/dist/assets/Home-9f453b75.js @@ -0,0 +1 @@ +import{_ as Te}from"./whisper-150920d0.js";import{_ as Ue,a as Ee}from"./post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js";import{_ as Ve}from"./post-skeleton-f060289d.js";import{d as _e,H as n,c as ce,b as ge,e as p,f as y,bf as B,j as A,k as a,w as l,q as O,Y as k,y as ve,A as L,x as $,F as pe,u as de,E as Ne}from"./@vue-a481fc63.js";import{u as fe}from"./vuex-44de225f.js";import{l as me}from"./lodash-e0b37ac3.js";import{g as xe,a as Re,c as qe,b as Ge,d as Oe,e as Pe,_ as Ye}from"./index-fcb35ad4.js";import{p as Fe}from"./content-d73d8961.js";import{V as G,P as Q}from"./IEnum-5453a777.js";import{I as Le,V as Se,A as Me,d as Ke,E as We}from"./@vicons-7a4ef312.js";import{o as he,v as je,j as Qe,e as He,w as Ze,x as Je,y as Xe,z as $e,A as et,B as tt,C as at,a as we,D as st,E as ot,F as nt,G as lt,l as it,H as rt,I as ut,k as ct}from"./naive-ui-d8de3dda.js";import{_ as pt}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{b as dt,u as vt}from"./vue-router-e5a2430e.js";import{W as mt}from"./v3-infinite-loading-2c58ec2f.js";import{S as _t}from"./@opentiny-d73a2d67.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./vue-1e3b54ec.js";import"./xss-a5544f63.js";import"./cssfilter-af71ba68.js";const gt=H=>{const Y=new FileReader,b=i=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(i),T=()=>{const i=new Uint8Array(Y.result).subarray(0,4);let U="";for(let g=0;g{Y.onloadend=()=>{const g=H.type;i(g===""||g==="application/octet-stream"?T():b(g))},Y.readAsArrayBuffer(H.slice(0,4))})},ft={key:0,class:"compose-wrap"},ht={class:"compose-line"},wt={class:"compose-user"},yt={class:"compose-line compose-options"},kt={class:"attachment"},At={class:"submit-wrap"},bt={class:"attachment-list-wrap"},Ct={key:0,class:"attachment-price-wrap"},zt=A("span",null," 附件价格¥",-1),It={key:0,class:"eye-wrap"},Dt={key:1,class:"link-wrap"},Bt={key:1,class:"compose-wrap"},Tt=A("div",{class:"login-wrap"},[A("span",{class:"login-banner"}," 登录后,精彩更多")],-1),Ut={key:0,class:"login-only-wrap"},Et={key:1,class:"login-wrap"},Vt=_e({__name:"compose",emits:["post-success"],setup(H,{emit:Y}){const b=fe(),T=n([]),i=n(!1),U=n(!1),g=n(!1),P=n(!1),f=n(""),x=n([]),E=n(),V=n(0),m=n("public/image"),I=n([]),d=n([]),h=n([]),C=n([]),D=n(G.PUBLIC),R=n(G.PUBLIC),M="true".toLowerCase()==="true",F=+"400",Z=n("true".toLowerCase()==="true"),J=n("true".toLowerCase()==="true"),ee=n("true".toLowerCase()==="true"),S=n("false".toLowerCase()==="true"),te=n("true".toLowerCase()==="true"),K="/v1/attachment",q=ce(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),X=ce(()=>{let e=[{value:G.PUBLIC,label:"公开"},{value:G.PRIVATE,label:"私密"},{value:G.Following,label:"关注可见"}];return M&&e.push({value:G.FRIEND,label:"好友可见"}),e}),ae=()=>{g.value=!g.value,g.value&&P.value&&(P.value=!1)},W=()=>{P.value=!P.value,P.value&&g.value&&(g.value=!1)},se=me.debounce(e=>{xe({k:e}).then(t=>{let o=[];t.suggest.map(s=>{o.push({label:s,value:s})}),T.value=o,i.value=!1}).catch(t=>{i.value=!1})},200),r=me.debounce(e=>{Re({k:e}).then(t=>{let o=[];t.suggest.map(s=>{o.push({label:s,value:s})}),T.value=o,i.value=!1}).catch(t=>{i.value=!1})},200),v=(e,t)=>{i.value||(i.value=!0,t==="@"?se(e):r(e))},N=e=>{e.length>F?f.value=e.substring(0,F):f.value=e},w=e=>{m.value=e},z=e=>{for(let c=0;c30&&(e[c].name=o.substring(0,18)+"..."+o.substring(o.length-9)+"."+s)}I.value=e},oe=async e=>{var t,o,s,c,u;return m.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((t=e.file.file)==null?void 0:t.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):m.value==="image"&&((o=e.file.file)==null?void 0:o.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):m.value==="public/video"&&!["video/mp4","video/quicktime"].includes((s=e.file.file)==null?void 0:s.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):m.value==="public/video"&&((c=e.file.file)==null?void 0:c.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):m.value==="attachment"&&!await gt(e.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):m.value==="attachment"&&((u=e.file.file)==null?void 0:u.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},ne=({file:e,event:t})=>{var o;try{let s=JSON.parse((o=t.target)==null?void 0:o.response);s.code===0&&(m.value==="public/image"&&d.value.push({id:e.id,content:s.data.content}),m.value==="public/video"&&h.value.push({id:e.id,content:s.data.content}),m.value==="attachment"&&C.value.push({id:e.id,content:s.data.content}))}catch{window.$message.error("上传失败")}},le=({file:e,event:t})=>{var o;try{let s=JSON.parse((o=t.target)==null?void 0:o.response);if(s.code!==0){let c=s.msg||"上传失败";s.details&&s.details.length>0&&s.details.map(u=>{c+=":"+u}),window.$message.error(c)}}catch{window.$message.error("上传失败")}},ie=({file:e})=>{let t=d.value.findIndex(o=>o.id===e.id);t>-1&&d.value.splice(t,1),t=h.value.findIndex(o=>o.id===e.id),t>-1&&h.value.splice(t,1),t=C.value.findIndex(o=>o.id===e.id),t>-1&&C.value.splice(t,1)},re=()=>{if(f.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:e,users:t}=Fe(f.value);const o=[];let s=100;o.push({content:f.value,type:Q.TEXT,sort:s}),d.value.map(c=>{s++,o.push({content:c.content,type:Q.IMAGEURL,sort:s})}),h.value.map(c=>{s++,o.push({content:c.content,type:Q.VIDEOURL,sort:s})}),C.value.map(c=>{s++,o.push({content:c.content,type:Q.ATTACHMENT,sort:s})}),x.value.length>0&&x.value.map(c=>{s++,o.push({content:c,type:Q.LINKURL,sort:s})}),U.value=!0,qe({contents:o,tags:Array.from(new Set(e)),users:Array.from(new Set(t)),attachment_price:+V.value*100,visibility:D.value}).then(c=>{var u;window.$message.success("发布成功"),U.value=!1,Y("post-success",c),g.value=!1,P.value=!1,(u=E.value)==null||u.clear(),I.value=[],f.value="",x.value=[],d.value=[],h.value=[],C.value=[],D.value=R.value}).catch(c=>{U.value=!1})},j=e=>{b.commit("triggerAuth",!0),b.commit("triggerAuthKey",e)};return ge(()=>{const e="friend".toLowerCase();M&&e==="friend"?R.value=G.FRIEND:e==="following"?R.value=G.Following:e==="public"?R.value=G.PUBLIC:R.value=G.PRIVATE,D.value=R.value}),(e,t)=>{const o=he,s=je,c=Qe,u=He,ue=Ze,ye=Je,ke=Xe,Ae=$e,be=et,Ce=tt,ze=at,Ie=we,De=st,Be=ot;return p(),y("div",null,[B(b).state.userInfo.id>0?(p(),y("div",ft,[A("div",ht,[A("div",wt,[a(o,{round:"",size:30,src:B(b).state.userInfo.avatar},null,8,["src"])]),a(s,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:i.value,value:f.value,prefix:["@","#"],options:T.value,onSearch:v,"onUpdate:value":N,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(Ce,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:K,headers:{Authorization:q.value},data:{type:m.value},"file-list":I.value,onBeforeUpload:oe,onFinish:ne,onError:le,onRemove:ie,"onUpdate:fileList":z},{default:l(()=>[A("div",yt,[A("div",kt,[a(ue,{abstract:""},{default:l(({handleClick:_})=>[a(u,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("public/image"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(c,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Le))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),J.value?(p(),O(ue,{key:0,abstract:""},{default:l(({handleClick:_})=>[a(u,{disabled:I.value.length>0&&m.value!=="public/video"||I.value.length===9,onClick:()=>{w("public/video"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(c,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),ee.value?(p(),O(ue,{key:1,abstract:""},{default:l(({handleClick:_})=>[a(u,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("attachment"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(c,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Me))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),a(u,{quaternary:"",circle:"",type:"primary",onClick:ve(ae,["stop"])},{icon:l(()=>[a(c,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Ke))]),_:1})]),_:1},8,["onClick"]),te.value?(p(),O(u,{key:2,quaternary:"",circle:"",type:"primary",onClick:ve(W,["stop"])},{icon:l(()=>[a(c,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(We))]),_:1})]),_:1},8,["onClick"])):k("",!0)]),A("div",At,[a(ke,{trigger:"hover",placement:"bottom"},{trigger:l(()=>[a(ye,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:f.value.length/B(F)*100},null,8,["percentage"])]),default:l(()=>[L(" "+$(f.value.length)+" / "+$(B(F)),1)]),_:1}),a(u,{loading:U.value,onClick:re,type:"primary",secondary:"",round:""},{default:l(()=>[L(" 发布 ")]),_:1},8,["loading"])])]),A("div",bt,[a(Ae),C.value.length>0?(p(),y("div",Ct,[S.value?(p(),O(be,{key:0,value:V.value,"onUpdate:value":t[0]||(t[0]=_=>V.value=_),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:l(()=>[zt]),_:1},8,["value"])):k("",!0)])):k("",!0)])]),_:1},8,["headers","data","file-list"]),P.value?(p(),y("div",It,[a(De,{value:D.value,"onUpdate:value":t[1]||(t[1]=_=>D.value=_),name:"radiogroup"},{default:l(()=>[a(Ie,null,{default:l(()=>[(p(!0),y(pe,null,de(X.value,_=>(p(),O(ze,{key:_.value,value:_.value,label:_.label},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])):k("",!0),g.value?(p(),y("div",Dt,[a(Be,{value:x.value,"onUpdate:value":t[2]||(t[2]=_=>x.value=_),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":l(()=>[L(" 创建链接 ")]),_:1},8,["value"])])):k("",!0)])):(p(),y("div",Bt,[Tt,Z.value?k("",!0):(p(),y("div",Ut,[a(u,{strong:"",secondary:"",round:"",type:"primary",onClick:t[3]||(t[3]=_=>j("signin"))},{default:l(()=>[L(" 登录 ")]),_:1})])),Z.value?(p(),y("div",Et,[a(u,{strong:"",secondary:"",round:"",type:"primary",onClick:t[4]||(t[4]=_=>j("signin"))},{default:l(()=>[L(" 登录 ")]),_:1}),a(u,{strong:"",secondary:"",round:"",type:"info",onClick:t[5]||(t[5]=_=>j("signup"))},{default:l(()=>[L(" 注册 ")]),_:1})])):k("",!0)]))])}}});const Nt="data:image/png;base64,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",xt="/assets/discover-tweets-ab101944.jpeg",Rt="/assets/following-tweets-e36b4410.jpeg",qt={class:"slide-bar-item"},Gt={class:"slide-bar-item-title slide-bar-user-link"},Ot={key:1,class:"skeleton-wrap"},Pt={key:0,class:"empty-wrap"},Yt={key:1},Ft={key:2},Lt={class:"load-more-wrap"},St={class:"load-more-spinner"},Mt=_e({__name:"Home",setup(H){const Y="true".toLowerCase()==="true",b="true".toLowerCase()==="true",T=fe(),i=dt(),U=vt(),g=n(9),P=n(8),f=n([{title:"最新动态",style:1,username:"",avatar:Nt,show:!0},{title:"热门推荐",style:2,username:"",avatar:xt,show:!1},{title:"正在关注",style:3,username:"",avatar:Rt,show:!1},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0}]),x=n("泡泡广场"),E=n(!1),V=n(!1),m=n(1),I=n(""),d=n([]),h=n(1),C=n(20),D=n(0),R=n(!1),M=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),F=r=>{M.value=r,R.value=!0},Z=()=>{R.value=!1},J=()=>{x.value="泡泡广场",i.query&&i.query.q&&(i.query.t&&i.query.t==="tag"?x.value="#"+decodeURIComponent(i.query.q):x.value="搜索: "+decodeURIComponent(i.query.q))},ee=ce(()=>Y&&b&&T.state.desktopModelShow&&T.state.userInfo.id>0),S=()=>{E.value=!1,V.value=!1,d.value=[],h.value=1,D.value=0},te=(r,v)=>{switch(S(),m.value=r.style,i.query.q&&(i.query.q=null,J()),r.style){case 1:q();break;case 2:q();break;case 3:i.query.q=null,q();break;case 21:I.value=r.username,X();break}f.value[v].show=!1},K=()=>{f.value=f.value.slice(0,3),!(!Y||!b||T.state.userInfo.id===0)&&Ge({page:1,page_size:50}).then(r=>{var v=0;const N=r.list||[];let w=[];for(;v0&&(f.value=f.value.concat(w))}).catch(r=>{console.log(r)})},q=()=>{E.value=!0,Oe({query:i.query.q?decodeURIComponent(i.query.q):null,type:i.query.t,page:h.value,page_size:C.value}).then(r=>{E.value=!1,r.list.length===0&&(V.value=!0),h.value>1?d.value=d.value.concat(r.list):(d.value=r.list,window.scrollTo(0,0)),D.value=Math.ceil(r.pager.total_rows/C.value)}).catch(r=>{E.value=!1,h.value>1&&h.value--})},X=()=>{E.value=!0,Pe({username:I.value,style:"post",page:h.value,page_size:C.value}).then(r=>{E.value=!1,r.list.length===0&&(V.value=!0),h.value>1?d.value=d.value.concat(r.list):(d.value=r.list||[],window.scrollTo(0,0)),D.value=Math.ceil(r.pager.total_rows/C.value)}).catch(r=>{d.value=[],h.value>1&&h.value--,E.value=!1})},ae=r=>{if(m.value!=1){U.push({name:"post",query:{id:r.id}});return}let v=[],N=d.value.length;N==C.value&&N--;for(var w=0;w{switch(m.value){case 1:q();break;case 2:q();break;case 3:q();break;case 21:i.query.q?q():X();break}},se=()=>{h.value{S(),K(),q()}),Ne(()=>({path:i.path,query:i.query,refresh:T.state.refresh}),(r,v)=>{if(J(),r.refresh!==v.refresh){S(),setTimeout(()=>{K(),W()},0);return}v.path!=="/post"&&r.path==="/"&&(S(),setTimeout(()=>{K(),W()},0))}),(r,v)=>{const N=pt,w=Vt,z=lt,oe=he,ne=it,le=rt,ie=Ve,re=ut,j=Ue,e=Ee,t=Te,o=nt,s=ct,c=we;return p(),y("div",null,[a(N,{title:x.value},null,8,["title"]),a(o,{class:"main-content-wrap",bordered:""},{default:l(()=>[a(z,null,{default:l(()=>[a(w,{onPostSuccess:ae})]),_:1}),ee.value?(p(),O(z,{key:0},{default:l(()=>[a(B(_t),{modelValue:f.value,"onUpdate:modelValue":v[0]||(v[0]=u=>f.value=u),"wheel-blocks":P.value,"init-blocks":g.value,onClick:te,tag:"div","sub-tag":"div"},{default:l(u=>[A("div",qt,[a(ne,{value:"1",offset:[-4,48],dot:"",show:u.slotData.show},{default:l(()=>[a(oe,{round:"",size:48,src:u.slotData.avatar,class:"slide-bar-item-avatar"},null,8,["src"])]),_:2},1032,["show"]),A("div",Gt,[a(le,{"line-clamp":2},{default:l(()=>[L($(u.slotData.title),1)]),_:2},1024)])])]),_:1},8,["modelValue","wheel-blocks","init-blocks"])]),_:1})):k("",!0),E.value&&d.value.length===0?(p(),y("div",Ot,[a(ie,{num:C.value},null,8,["num"])])):k("",!0),A("div",null,[d.value.length===0?(p(),y("div",Pt,[a(re,{size:"large",description:"暂无数据"})])):k("",!0),B(T).state.desktopModelShow?(p(),y("div",Yt,[(p(!0),y(pe,null,de(d.value,u=>(p(),O(z,{key:u.id},{default:l(()=>[a(j,{post:u,onSendWhisper:F},null,8,["post"])]),_:2},1024))),128))])):(p(),y("div",Ft,[(p(!0),y(pe,null,de(d.value,u=>(p(),O(z,{key:u.id},{default:l(()=>[a(e,{post:u,onSendWhisper:F},null,8,["post"])]),_:2},1024))),128))]))]),a(t,{show:R.value,user:M.value,onSuccess:Z},null,8,["show","user"])]),_:1}),D.value>0?(p(),O(c,{key:0,justify:"center"},{default:l(()=>[a(B(mt),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:v[1]||(v[1]=u=>se())},{spinner:l(()=>[A("div",Lt,[V.value?k("",!0):(p(),O(s,{key:0,size:14})),A("span",St,$(V.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):k("",!0)])}}});const Ta=Ye(Mt,[["__scopeId","data-v-1066affe"]]);export{Ta as default}; diff --git a/web/dist/assets/Messages-d38466e3.js b/web/dist/assets/Messages-8b750f63.js similarity index 97% rename from web/dist/assets/Messages-d38466e3.js rename to web/dist/assets/Messages-8b750f63.js index 6424373e..096c6b0b 100644 --- a/web/dist/assets/Messages-d38466e3.js +++ b/web/dist/assets/Messages-8b750f63.js @@ -1 +1 @@ -import{d as D,c as N,r as J,e as t,f as r,k as s,w as a,bf as o,j as f,y as C,A as _,x as m,q as I,Y as i,l as K,h as H,u as T,F as U,H as v,b as Y}from"./@vue-a481fc63.js";import{u as G}from"./vuex-44de225f.js";import{u as X,b as Z}from"./vue-router-e5a2430e.js";import{E as x,M as ee,N as se,O as ne,_ as E,P as te}from"./index-c7635d00.js";import{J as L,i as ae,K as oe,N as re,O as Q,Q as ie,p as le}from"./@vicons-7a4ef312.js";import{j as d,o as ue,M as _e,l as pe,e as ce,O as de,S as me,L as ge,U as ve,F as fe,Q as ye,I as ke,G as he}from"./naive-ui-d8de3dda.js";import{_ as we}from"./whisper-a4b81d0e.js";import{_ as $e}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const be={class:"sender-wrap"},Ce={key:0,class:"nickname"},Ie={class:"username"},Me={key:1,class:"nickname"},Se={class:"username"},ze={key:2,class:"nickname"},Oe={class:"timestamp"},Fe={class:"timestamp-txt"},Ne={key:0,class:"brief-content"},qe={key:1,class:"whisper-content-wrap"},Re={key:2,class:"requesting-friend-wrap"},Ae={key:2,class:"status-info"},Pe={key:3,class:"status-info"},We="https://assets.paopao.info/public/avatar/default/admin.png",je=D({__name:"message-item",props:{message:{}},emits:["send-whisper"],setup(q,{emit:y}){const p=q,c=X(),l=G(),k=e=>()=>H(d,null,{default:()=>H(e)}),h=N(()=>[{label:"私信",key:"whisper",icon:k(le)}]),w=e=>{switch(e){case"whisper":const n=p.message;if(n.type!=99){let $=n.type==4&&n.sender_user_id==l.state.userInfo.id?n.receiver_user:n.sender_user;y("send-whisper",$)}break}},g=N(()=>p.message.type!==4||p.message.sender_user_id!==l.state.userInfo.id),M=N(()=>p.message.type==4&&p.message.receiver_user_id==l.state.userInfo.id),S=N(()=>p.message.type==4&&p.message.sender_user_id==l.state.userInfo.id),R=e=>{u(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?c.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},z=e=>{u(e),ee({user_id:e.sender_user_id}).then(n=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(n=>{console.log(n)})},A=e=>{u(e),se({user_id:e.sender_user_id}).then(n=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(n=>{console.log(n)})},u=e=>{p.message.receiver_user_id==l.state.userInfo.id&&e.is_read===0&&ne({id:e.id}).then(n=>{e.is_read=1}).catch(n=>{console.log(n)})};return(e,n)=>{const $=ue,O=J("router-link"),b=_e,P=pe,W=ce,j=de,B=me,F=ge;return t(),r("div",{class:K(["message-item",{unread:g.value&&e.message.is_read===0}]),onClick:n[5]||(n[5]=V=>u(e.message))},[s(F,{"content-indented":""},{avatar:a(()=>[s($,{round:"",size:30,src:e.message.type==4&&e.message.sender_user_id==o(l).state.userInfo.id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:We},null,8,["src"])]),header:a(()=>[f("div",be,[e.message.type!=4&&e.message.sender_user.id>0||M.value?(t(),r("span",Ce,[s(O,{onClick:n[0]||(n[0]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.sender_user.username}}},{default:a(()=>[_(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),f("span",Ie," @"+m(e.message.sender_user.username),1)])):S.value?(t(),r("span",Me,[s(O,{onClick:n[1]||(n[1]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.receiver_user.username}}},{default:a(()=>[_(m(e.message.receiver_user.nickname),1)]),_:1},8,["to"]),f("span",Se," @"+m(e.message.receiver_user.username),1)])):(t(),r("span",ze," 系统 ")),e.message.type==4?(t(),I(b,{key:3,class:"top-tag",type:"success",size:"small",round:""},{default:a(()=>[_(" 私信 ")]),_:1})):i("",!0),S.value?(t(),I(b,{key:4,class:"top-tag",type:"info",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已发送 ")]),_:1})):i("",!0),e.message.type==4&&e.message.receiver_user_id==o(l).state.userInfo.id?(t(),I(b,{key:5,class:"top-tag",type:"warning",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已接收 ")]),_:1})):i("",!0)])]),"header-extra":a(()=>[f("span",Oe,[g.value&&e.message.is_read===0?(t(),I(P,{key:0,dot:"",processing:""})):i("",!0),f("span",Fe,m(o(x)(e.message.created_on)),1),s(j,{placement:"bottom-end",trigger:"click",size:"small",options:h.value,onSelect:w},{default:a(()=>[s(W,{quaternary:"",circle:""},{icon:a(()=>[s(o(d),null,{default:a(()=>[s(o(ae))]),_:1})]),_:1})]),_:1},8,["options"])])]),description:a(()=>[s(B,{"show-icon":!1,class:"brief-wrap",type:!g.value||e.message.is_read>0?"default":"success"},{default:a(()=>[e.message.type!=4?(t(),r("div",Ne,[_(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),r("span",{key:0,onClick:n[2]||(n[2]=C(V=>R(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(oe))]),_:1}),_(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(t(),r("div",qe,m(e.message.content),1)):i("",!0),e.message.type===5?(t(),r("div",Re,[_(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),r("span",{key:0,onClick:n[3]||(n[3]=C(V=>z(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(re))]),_:1}),_(" 同意 ")])):i("",!0),e.message.reply_id===1?(t(),r("span",{key:1,onClick:n[4]||(n[4]=C(V=>A(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(t(),r("span",Ae,[s(o(d),null,{default:a(()=>[s(o(ie))]),_:1}),_(" 已同意 ")])):i("",!0),e.message.reply_id===3?(t(),r("span",Pe,[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Be=E(je,[["__scopeId","data-v-2e510758"]]),Ve={class:"content"},De=D({__name:"message-skeleton",props:{num:{default:1}},setup(q){return(y,p)=>{const c=ve;return t(!0),r(U,null,T(new Array(y.num),l=>(t(),r("div",{class:"skeleton-item",key:l},[f("div",Ve,[s(c,{text:"",repeat:2}),s(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Ee=E(De,[["__scopeId","data-v-01d2e871"]]),He={key:0,class:"skeleton-wrap"},Le={key:1},Qe={key:0,class:"empty-wrap"},Te={key:0,class:"pagination-wrap"},Ue=D({__name:"Messages",setup(q){const y=Z(),p=G(),c=v(!1),l=v(+y.query.p||1),k=v(10),h=v(0),w=v([]),g=v(!1),M=v({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),S=u=>{M.value=u,g.value=!0},R=()=>{g.value=!1},z=()=>{c.value=!0,te({page:l.value,page_size:k.value}).then(u=>{c.value=!1,w.value=u.list,h.value=Math.ceil(u.pager.total_rows/k.value)}).catch(u=>{c.value=!1})},A=u=>{l.value=u,z()};return Y(()=>{z()}),(u,e)=>{const n=$e,$=we,O=Ee,b=ke,P=Be,W=he,j=fe,B=ye;return t(),r("div",null,[s(n,{title:"消息"}),s(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:a(()=>[s($,{show:g.value,user:M.value,onSuccess:R},null,8,["show","user"]),c.value?(t(),r("div",He,[s(O,{num:k.value},null,8,["num"])])):(t(),r("div",Le,[w.value.length===0?(t(),r("div",Qe,[s(b,{size:"large",description:"暂无数据"})])):i("",!0),(t(!0),r(U,null,T(w.value,F=>(t(),I(W,{key:F.id},{default:a(()=>[s(P,{message:F,onSendWhisper:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),h.value>0?(t(),r("div",Te,[s(B,{page:l.value,"onUpdate:page":A,"page-slot":o(p).state.collapsedRight?5:8,"page-count":h.value},null,8,["page","page-slot","page-count"])])):i("",!0)])}}});const fs=E(Ue,[["__scopeId","data-v-b40dcbaf"]]);export{fs as default}; +import{d as D,c as N,r as J,e as t,f as r,k as s,w as a,bf as o,j as f,y as C,A as _,x as m,q as I,Y as i,l as K,h as H,u as T,F as U,H as v,b as Y}from"./@vue-a481fc63.js";import{u as G}from"./vuex-44de225f.js";import{u as X,b as Z}from"./vue-router-e5a2430e.js";import{E as x,M as ee,N as se,O as ne,_ as E,P as te}from"./index-fcb35ad4.js";import{J as L,i as ae,K as oe,N as re,O as Q,Q as ie,p as le}from"./@vicons-7a4ef312.js";import{j as d,o as ue,M as _e,l as pe,e as ce,O as de,S as me,L as ge,U as ve,F as fe,Q as ye,I as ke,G as he}from"./naive-ui-d8de3dda.js";import{_ as we}from"./whisper-150920d0.js";import{_ as $e}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const be={class:"sender-wrap"},Ce={key:0,class:"nickname"},Ie={class:"username"},Me={key:1,class:"nickname"},Se={class:"username"},ze={key:2,class:"nickname"},Oe={class:"timestamp"},Fe={class:"timestamp-txt"},Ne={key:0,class:"brief-content"},qe={key:1,class:"whisper-content-wrap"},Re={key:2,class:"requesting-friend-wrap"},Ae={key:2,class:"status-info"},Pe={key:3,class:"status-info"},We="https://assets.paopao.info/public/avatar/default/admin.png",je=D({__name:"message-item",props:{message:{}},emits:["send-whisper"],setup(q,{emit:y}){const p=q,c=X(),l=G(),k=e=>()=>H(d,null,{default:()=>H(e)}),h=N(()=>[{label:"私信",key:"whisper",icon:k(le)}]),w=e=>{switch(e){case"whisper":const n=p.message;if(n.type!=99){let $=n.type==4&&n.sender_user_id==l.state.userInfo.id?n.receiver_user:n.sender_user;y("send-whisper",$)}break}},g=N(()=>p.message.type!==4||p.message.sender_user_id!==l.state.userInfo.id),M=N(()=>p.message.type==4&&p.message.receiver_user_id==l.state.userInfo.id),S=N(()=>p.message.type==4&&p.message.sender_user_id==l.state.userInfo.id),R=e=>{u(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?c.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},z=e=>{u(e),ee({user_id:e.sender_user_id}).then(n=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(n=>{console.log(n)})},A=e=>{u(e),se({user_id:e.sender_user_id}).then(n=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(n=>{console.log(n)})},u=e=>{p.message.receiver_user_id==l.state.userInfo.id&&e.is_read===0&&ne({id:e.id}).then(n=>{e.is_read=1}).catch(n=>{console.log(n)})};return(e,n)=>{const $=ue,O=J("router-link"),b=_e,P=pe,W=ce,j=de,B=me,F=ge;return t(),r("div",{class:K(["message-item",{unread:g.value&&e.message.is_read===0}]),onClick:n[5]||(n[5]=V=>u(e.message))},[s(F,{"content-indented":""},{avatar:a(()=>[s($,{round:"",size:30,src:e.message.type==4&&e.message.sender_user_id==o(l).state.userInfo.id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:We},null,8,["src"])]),header:a(()=>[f("div",be,[e.message.type!=4&&e.message.sender_user.id>0||M.value?(t(),r("span",Ce,[s(O,{onClick:n[0]||(n[0]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.sender_user.username}}},{default:a(()=>[_(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),f("span",Ie," @"+m(e.message.sender_user.username),1)])):S.value?(t(),r("span",Me,[s(O,{onClick:n[1]||(n[1]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.receiver_user.username}}},{default:a(()=>[_(m(e.message.receiver_user.nickname),1)]),_:1},8,["to"]),f("span",Se," @"+m(e.message.receiver_user.username),1)])):(t(),r("span",ze," 系统 ")),e.message.type==4?(t(),I(b,{key:3,class:"top-tag",type:"success",size:"small",round:""},{default:a(()=>[_(" 私信 ")]),_:1})):i("",!0),S.value?(t(),I(b,{key:4,class:"top-tag",type:"info",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已发送 ")]),_:1})):i("",!0),e.message.type==4&&e.message.receiver_user_id==o(l).state.userInfo.id?(t(),I(b,{key:5,class:"top-tag",type:"warning",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已接收 ")]),_:1})):i("",!0)])]),"header-extra":a(()=>[f("span",Oe,[g.value&&e.message.is_read===0?(t(),I(P,{key:0,dot:"",processing:""})):i("",!0),f("span",Fe,m(o(x)(e.message.created_on)),1),s(j,{placement:"bottom-end",trigger:"click",size:"small",options:h.value,onSelect:w},{default:a(()=>[s(W,{quaternary:"",circle:""},{icon:a(()=>[s(o(d),null,{default:a(()=>[s(o(ae))]),_:1})]),_:1})]),_:1},8,["options"])])]),description:a(()=>[s(B,{"show-icon":!1,class:"brief-wrap",type:!g.value||e.message.is_read>0?"default":"success"},{default:a(()=>[e.message.type!=4?(t(),r("div",Ne,[_(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),r("span",{key:0,onClick:n[2]||(n[2]=C(V=>R(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(oe))]),_:1}),_(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(t(),r("div",qe,m(e.message.content),1)):i("",!0),e.message.type===5?(t(),r("div",Re,[_(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),r("span",{key:0,onClick:n[3]||(n[3]=C(V=>z(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(re))]),_:1}),_(" 同意 ")])):i("",!0),e.message.reply_id===1?(t(),r("span",{key:1,onClick:n[4]||(n[4]=C(V=>A(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(t(),r("span",Ae,[s(o(d),null,{default:a(()=>[s(o(ie))]),_:1}),_(" 已同意 ")])):i("",!0),e.message.reply_id===3?(t(),r("span",Pe,[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Be=E(je,[["__scopeId","data-v-2e510758"]]),Ve={class:"content"},De=D({__name:"message-skeleton",props:{num:{default:1}},setup(q){return(y,p)=>{const c=ve;return t(!0),r(U,null,T(new Array(y.num),l=>(t(),r("div",{class:"skeleton-item",key:l},[f("div",Ve,[s(c,{text:"",repeat:2}),s(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Ee=E(De,[["__scopeId","data-v-01d2e871"]]),He={key:0,class:"skeleton-wrap"},Le={key:1},Qe={key:0,class:"empty-wrap"},Te={key:0,class:"pagination-wrap"},Ue=D({__name:"Messages",setup(q){const y=Z(),p=G(),c=v(!1),l=v(+y.query.p||1),k=v(10),h=v(0),w=v([]),g=v(!1),M=v({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),S=u=>{M.value=u,g.value=!0},R=()=>{g.value=!1},z=()=>{c.value=!0,te({page:l.value,page_size:k.value}).then(u=>{c.value=!1,w.value=u.list,h.value=Math.ceil(u.pager.total_rows/k.value)}).catch(u=>{c.value=!1})},A=u=>{l.value=u,z()};return Y(()=>{z()}),(u,e)=>{const n=$e,$=we,O=Ee,b=ke,P=Be,W=he,j=fe,B=ye;return t(),r("div",null,[s(n,{title:"消息"}),s(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:a(()=>[s($,{show:g.value,user:M.value,onSuccess:R},null,8,["show","user"]),c.value?(t(),r("div",He,[s(O,{num:k.value},null,8,["num"])])):(t(),r("div",Le,[w.value.length===0?(t(),r("div",Qe,[s(b,{size:"large",description:"暂无数据"})])):i("",!0),(t(!0),r(U,null,T(w.value,F=>(t(),I(W,{key:F.id},{default:a(()=>[s(P,{message:F,onSendWhisper:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),h.value>0?(t(),r("div",Te,[s(B,{page:l.value,"onUpdate:page":A,"page-slot":o(p).state.collapsedRight?5:8,"page-count":h.value},null,8,["page","page-slot","page-count"])])):i("",!0)])}}});const fs=E(Ue,[["__scopeId","data-v-b40dcbaf"]]);export{fs as default}; diff --git a/web/dist/assets/Post-c25a0d58.js b/web/dist/assets/Post-e2d22a4a.js similarity index 98% rename from web/dist/assets/Post-c25a0d58.js rename to web/dist/assets/Post-e2d22a4a.js index b5488900..04d78fad 100644 --- a/web/dist/assets/Post-c25a0d58.js +++ b/web/dist/assets/Post-e2d22a4a.js @@ -1 +1 @@ -import{d as ee,H as c,r as ge,e as o,f as _,j as d,k as t,w as n,A as I,x as P,q as R,Y as u,bf as a,y as B,c as oe,al as Ve,F as re,u as _e,$ as Te,a0 as ze,b as Re,h as $e,E as Ye}from"./@vue-a481fc63.js";import{u as ne}from"./vuex-44de225f.js";import{f as pe,t as Je,h as Ke,i as We,_ as ae,j as Ge,k as Qe,l as Xe,m as Ze,g as et,n as tt,o as st,p as ot,q as nt,r as at,s as lt,u as it,v as ut,w as ct,x as rt,y as _t,z as Ce}from"./index-c7635d00.js";import{Y as de,V as G}from"./IEnum-5453a777.js";import{T as Ue,e as me,f as Se,g as ve,h as Le,I as pt,i as dt,j as mt,k as vt,l as ht,m as ft,n as gt,o as yt,p as kt,q as wt,r as bt,s as $t,t as xe,F as Ie,E as ie,u as ue,v as ce,w as Pe}from"./@vicons-7a4ef312.js";import{j as H,e as le,J as Oe,H as Ct,b as xt,K as It,o as ye,L as De,v as Pt,w as Tt,x as zt,y as Rt,z as Ut,B as St,M as Lt,O as Ot,i as Dt,P as At,a as Ae,F as Mt,I as Et,k as qt,G as Nt,f as Bt,g as jt}from"./naive-ui-d8de3dda.js";import{p as ke,_ as Me,a as Ft,b as Ht,c as Vt}from"./content-34f8522f.js";import{u as Ee,b as Yt}from"./vue-router-e5a2430e.js";import{_ as Jt}from"./post-skeleton-f8428500.js";import{l as Kt}from"./lodash-e0b37ac3.js";import{_ as Wt}from"./whisper-a4b81d0e.js";import{c as Gt}from"./copy-to-clipboard-4ef7d3eb.js";import{_ as Qt}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{W as Xt}from"./v3-infinite-loading-2c58ec2f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";const Zt={class:"reply-item"},es={class:"header-wrap"},ts={class:"username"},ss={class:"reply-name"},os={class:"timestamp"},ns={class:"base-wrap"},as={class:"content"},ls={class:"reply-switch"},is={class:"time-item"},us={class:"actions"},cs={class:"upvote-count"},rs=["onClick"],_s={class:"upvote-count"},ps={key:2,class:"action-item"},ds=["onClick"],ms=ee({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(E,{emit:q}){const i=E,m=ne(),v=c(i.reply.is_thumbs_up==de.YES),k=c(i.reply.is_thumbs_down==de.YES),w=c(i.reply.thumbs_up_count),U=()=>{Je({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{v.value=!v.value,v.value?(w.value++,k.value=!1):w.value--}).catch(h=>{console.log(h)})},r=()=>{Ke({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{k.value=!k.value,k.value&&v.value&&(w.value--,v.value=!1)}).catch(h=>{console.log(h)})},S=()=>{q("focusReply",i.reply)},T=()=>{We({id:i.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{q("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const O=ge("router-link"),p=H,C=le,D=Oe,b=Ct;return o(),_("div",Zt,[d("div",es,[d("div",ts,[t(O,{class:"user-link",to:{name:"user",query:{s:i.reply.user.username}}},{default:n(()=>[I(P(i.reply.user.username),1)]),_:1},8,["to"]),d("span",ss,P(i.reply.at_user_id>0?"回复":":"),1),i.reply.at_user_id>0?(o(),R(O,{key:0,class:"user-link",to:{name:"user",query:{s:i.reply.at_user.username}}},{default:n(()=>[I(P(i.reply.at_user.username),1)]),_:1},8,["to"])):u("",!0)]),d("div",os,[I(P(i.reply.ip_loc)+" ",1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===i.reply.user.id?(o(),R(D,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(C,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(p,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),d("div",ns,[d("div",as,[t(b,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[I(P(i.reply.content),1)]),_:1})]),d("div",ls,[d("span",is,P(a(pe)(i.reply.created_on)),1),d("div",us,[a(m).state.userLogined?u("",!0):(o(),_("div",{key:0,class:"action-item",onClick:$[0]||($[0]=B(()=>{},["stop"]))},[t(p,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",cs,P(w.value),1)])),a(m).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(U,["stop"])},[t(p,{size:"medium"},{default:n(()=>[v.value?u("",!0):(o(),R(a(me),{key:0})),v.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",_s,P(w.value>0?w.value:"赞"),1)],8,rs)):u("",!0),a(m).state.userLogined?u("",!0):(o(),_("div",ps,[t(p,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(m).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(r,["stop"])},[t(p,{size:"medium"},{default:n(()=>[k.value?u("",!0):(o(),R(a(ve),{key:0})),k.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,ds)):u("",!0),a(m).state.userLogined?(o(),_("span",{key:4,class:"show opacity-item reply-btn",onClick:S}," 回复 ")):u("",!0)])])])])}}});const vs=ae(ms,[["__scopeId","data-v-187a4ed3"]]),hs={class:"reply-compose-wrap"},fs={class:"reply-switch"},gs={class:"time-item"},ys={class:"actions"},ks={key:0,class:"action-item"},ws={class:"upvote-count"},bs=["onClick"],$s={class:"upvote-count"},Cs={key:2,class:"action-item"},xs=["onClick"],Is={key:0,class:"reply-input-wrap"},Ps=ee({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(E,{expose:q,emit:i}){const m=E,v=ne(),k=c(),w=c(!1),U=c(""),r=c(!1),S=+"300",T=c(m.comment.is_thumbs_up==de.YES),h=c(m.comment.is_thumbs_down==de.YES),$=c(m.comment.thumbs_up_count),O=()=>{Ge({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(b=>{console.log(b)})},p=()=>{Qe({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(b=>{console.log(b)})},C=b=>{w.value=b,b?setTimeout(()=>{var A;(A=k.value)==null||A.focus()},10):(r.value=!1,U.value="",i("reset"))},D=()=>{r.value=!0,Xe({comment_id:m.comment.id,at_user_id:m.atUserid,content:U.value}).then(b=>{C(!1),window.$message.success("评论成功"),i("reload")}).catch(b=>{r.value=!1})};return q({switchReply:C}),(b,A)=>{const s=H,g=xt,F=le,z=It;return o(),_("div",hs,[d("div",fs,[d("span",gs,P(a(pe)(b.comment.created_on)),1),d("div",ys,[a(v).state.userLogined?u("",!0):(o(),_("div",ks,[t(s,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",ws,P($.value),1)])),a(v).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(O,["stop"])},[t(s,{size:"medium"},{default:n(()=>[T.value?u("",!0):(o(),R(a(me),{key:0})),T.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",$s,P($.value>0?$.value:"赞"),1)],8,bs)):u("",!0),a(v).state.userLogined?u("",!0):(o(),_("div",Cs,[t(s,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(v).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(p,["stop"])},[t(s,{size:"medium"},{default:n(()=>[h.value?u("",!0):(o(),R(a(ve),{key:0})),h.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,xs)):u("",!0),a(v).state.userLogined&&!w.value?(o(),_("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=L=>C(!0))}," 回复 ")):u("",!0),a(v).state.userLogined&&w.value?(o(),_("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=L=>C(!1))}," 取消 ")):u("",!0)])]),w.value?(o(),_("div",Is,[t(z,null,{default:n(()=>[t(g,{ref_key:"inputInstRef",ref:k,size:"small",placeholder:m.atUsername?"@"+m.atUsername:"请输入回复内容..",maxlength:a(S),value:U.value,"onUpdate:value":A[2]||(A[2]=L=>U.value=L),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(F,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:D},{default:n(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):u("",!0)])}}});const Ts=ae(Ps,[["__scopeId","data-v-f9af7a93"]]),zs={class:"comment-item"},Rs={class:"nickname-wrap"},Us={class:"username-wrap"},Ss={class:"opt-wrap"},Ls={class:"timestamp"},Os=["innerHTML"],Ds={class:"reply-wrap"},As=ee({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m=ne(),v=Ee(),k=c(0),w=c(""),U=c(),r=oe(()=>{let p=Object.assign({texts:[],imgs:[]},i.comment);return p.contents.map(C=>{(+C.type==1||+C.type==2)&&p.texts.push(C),+C.type==3&&p.imgs.push(C)}),p}),S=(p,C)=>{let D=p.target;if(D.dataset.detail){const b=D.dataset.detail.split(":");b.length===2&&(m.commit("refresh"),b[0]==="tag"?window.$message.warning("评论内的无效话题"):v.push({name:"user",query:{s:b[1]}}))}},T=p=>{var C,D;k.value=p.user_id,w.value=((C=p.user)==null?void 0:C.username)||"",(D=U.value)==null||D.switchReply(!0)},h=()=>{q("reload")},$=()=>{k.value=0,w.value=""},O=()=>{Ze({id:r.value.id}).then(p=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(p=>{})};return(p,C)=>{const D=ye,b=ge("router-link"),A=H,s=le,g=Oe,F=Me,z=Ts,L=vs,J=De;return o(),_("div",zs,[t(J,{"content-indented":""},Ve({avatar:n(()=>[t(D,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",Rs,[t(b,{onClick:C[0]||(C[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:r.value.user.username}}},{default:n(()=>[I(P(r.value.user.nickname),1)]),_:1},8,["to"])]),d("span",Us," @"+P(r.value.user.username),1)]),"header-extra":n(()=>[d("div",Ss,[d("span",Ls,P(r.value.ip_loc),1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===r.value.user.id?(o(),R(g,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:O},{trigger:n(()=>[t(s,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),R(F,{key:0,imgs:r.value.imgs},null,8,["imgs"])):u("",!0),t(z,{ref_key:"replyComposeRef",ref:U,comment:r.value,"at-userid":k.value,"at-username":w.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),d("div",Ds,[(o(!0),_(re,null,_e(r.value.replies,j=>(o(),R(L,{key:j.id,reply:j,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),_(re,null,_e(r.value.texts,j=>(o(),_("span",{key:j.id,class:"comment-text",onClick:C[1]||(C[1]=B(V=>S(V,r.value.id),["stop"])),innerHTML:a(ke)(j.content).content},null,8,Os))),128))]),key:"0"}:void 0]),1024)])}}});const Ms=ae(As,[["__scopeId","data-v-36dac8c8"]]),Es=E=>(Te("data-v-d9073453"),E=E(),ze(),E),qs={key:0,class:"compose-wrap"},Ns={class:"compose-line"},Bs={class:"compose-user"},js={class:"compose-line compose-options"},Fs={class:"attachment"},Hs={class:"submit-wrap"},Vs={class:"attachment-list-wrap"},Ys={key:1,class:"compose-wrap"},Js=Es(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ks={key:0,class:"login-only-wrap"},Ws={key:1,class:"login-wrap"},Gs=ee({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(E,{emit:q}){const i=E,m=ne(),v=c([]),k=c(!1),w=c(!1),U=c(!1),r=c(""),S=c(),T=c("public/image"),h=c([]),$=c([]),O=c("true".toLowerCase()==="true"),p=+"300",C="/v1/attachment",D=oe(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),b=Kt.debounce(f=>{et({k:f}).then(y=>{let x=[];y.suggest.map(e=>{x.push({label:e,value:e})}),v.value=x,w.value=!1}).catch(y=>{w.value=!1})},200),A=(f,y)=>{w.value||(w.value=!0,y==="@"&&b(f))},s=f=>{f.length>p?r.value=f.substring(0,p):r.value=f},g=f=>{T.value=f},F=f=>{for(let l=0;l30&&(f[l].name=x.substring(0,18)+"..."+x.substring(x.length-9)+"."+e)}h.value=f},z=async f=>{var y,x;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((y=f.file.file)==null?void 0:y.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((x=f.file.file)==null?void 0:x.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},L=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);e.code===0&&T.value==="public/image"&&$.value.push({id:f.id,content:e.data.content})}catch{window.$message.error("上传失败")}},J=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);if(e.code!==0){let l=e.msg||"上传失败";e.details&&e.details.length>0&&e.details.map(M=>{l+=":"+M}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},j=({file:f})=>{let y=$.value.findIndex(x=>x.id===f.id);y>-1&&$.value.splice(y,1)},V=()=>{k.value=!0},Q=()=>{var f;k.value=!1,(f=S.value)==null||f.clear(),h.value=[],r.value="",$.value=[]},K=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=ke(r.value);const y=[];let x=100;y.push({content:r.value,type:2,sort:x}),$.value.map(e=>{x++,y.push({content:e.content,type:3,sort:x})}),U.value=!0,tt({contents:y,post_id:i.postId,users:Array.from(new Set(f))}).then(e=>{window.$message.success("发布成功"),U.value=!1,q("post-success"),Q()}).catch(e=>{U.value=!1})},Y=f=>{m.commit("triggerAuth",!0),m.commit("triggerAuthKey",f)};return(f,y)=>{const x=ye,e=Pt,l=H,M=le,X=Tt,te=zt,he=Rt,fe=Ut,W=St;return o(),_("div",null,[a(m).state.userInfo.id>0?(o(),_("div",qs,[d("div",Ns,[d("div",Bs,[t(x,{round:"",size:30,src:a(m).state.userInfo.avatar},null,8,["src"])]),t(e,{type:"textarea",size:"large",autosize:"",bordered:!1,options:v.value,prefix:["@"],loading:w.value,value:r.value,disabled:i.lock===1,"onUpdate:value":s,onSearch:A,onFocus:V,placeholder:i.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),k.value?(o(),R(W,{key:0,ref_key:"uploadRef",ref:S,abstract:"","list-type":"image",multiple:!0,max:9,action:C,headers:{Authorization:D.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:z,onFinish:L,onError:J,onRemove:j,"onUpdate:fileList":F},{default:n(()=>[d("div",js,[d("div",Fs,[t(X,{abstract:""},{default:n(({handleClick:Z})=>[t(M,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{g("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(l,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(pt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(he,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(te,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(p)*100},null,8,["percentage"])]),default:n(()=>[I(" "+P(r.value.length)+" / "+P(a(p)),1)]),_:1})]),d("div",Hs,[t(M,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:Q},{default:n(()=>[I(" 取消 ")]),_:1}),t(M,{loading:U.value,onClick:K,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",Vs,[t(fe)])]),_:1},8,["headers","data","file-list"])):u("",!0)])):(o(),_("div",Ys,[Js,O.value?u("",!0):(o(),_("div",Ks,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1})])),O.value?(o(),_("div",Ws,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1}),t(M,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=Z=>Y("signup"))},{default:n(()=>[I(" 注册 ")]),_:1})])):u("",!0)]))])}}});const Qs=ae(Gs,[["__scopeId","data-v-d9073453"]]),Xs={class:"username-wrap"},Zs={class:"options"},eo={key:0},to=["innerHTML"],so={class:"timestamp"},oo={key:0},no={key:1},ao={class:"opts-wrap"},lo=["onClick"],io={class:"opt-item"},uo=["onClick"],co=["onClick"],ro=ee({__name:"post-detail",props:{post:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m="true".toLowerCase()==="true",v=ne(),k=Ee(),w=c(!1),U=c(!1),r=c(!1),S=c(!1),T=c(!1),h=c(!1),$=c(!1),O=c(!1),p=c(G.PUBLIC),C=c(!1),D=c({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),b=e=>{D.value=e,C.value=!0},A=()=>{C.value=!1},s=oe({get:()=>{let e=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},i.post);return e.contents.map(l=>{(+l.type==1||+l.type==2)&&e.texts.push(l),+l.type==3&&e.imgs.push(l),+l.type==4&&e.videos.push(l),+l.type==6&&e.links.push(l),+l.type==7&&e.attachments.push(l),+l.type==8&&e.charge_attachments.push(l)}),e},set:e=>{i.post.upvote_count=e.upvote_count,i.post.comment_count=e.comment_count,i.post.collection_count=e.collection_count,i.post.is_essence=e.is_essence}}),g=e=>()=>$e(H,null,{default:()=>$e(e)}),F=oe(()=>{var M;let e=[];if(!v.state.userInfo.is_admin&&v.state.userInfo.id!=i.post.user.id)return e.push({label:"私信",key:"whisper",icon:g(kt)}),e;e.push({label:"删除",key:"delete",icon:g(wt)}),s.value.is_lock===0?e.push({label:"锁定",key:"lock",icon:g(bt)}):e.push({label:"解锁",key:"unlock",icon:g($t)}),v.state.userInfo.is_admin&&(s.value.is_top===0?e.push({label:"置顶",key:"stick",icon:g(xe)}):e.push({label:"取消置顶",key:"unstick",icon:g(xe)})),s.value.is_essence===0?e.push({label:"设为亮点",key:"highlight",icon:g(Ie)}):e.push({label:"取消亮点",key:"unhighlight",icon:g(Ie)});let l;return s.value.visibility===G.PUBLIC?l={label:"公开",key:"vpublic",icon:g(ie),children:[{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:s.value.visibility===G.PRIVATE?l={label:"私密",key:"vprivate",icon:g(ue),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:m&&s.value.visibility===G.FRIEND?l={label:"好友可见",key:"vfriend",icon:g(Pe),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:l={label:"关注可见",key:"vfollowing",icon:g(ce),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)}]},m&&s.value.visibility!==G.FRIEND&&((M=l.children)==null||M.push({label:"好友可见",key:"vfriend",icon:g(Pe)})),e.push(l),e}),z=e=>{k.push({name:"post",query:{id:e}})},L=(e,l)=>{if(e.target.dataset.detail){const M=e.target.dataset.detail.split(":");if(M.length===2){v.commit("refresh"),M[0]==="tag"?k.push({name:"home",query:{q:M[1],t:"tag"}}):k.push({name:"user",query:{s:M[1]}});return}}z(l)},J=e=>{switch(e){case"whisper":b(i.post.user);break;case"delete":r.value=!0;break;case"lock":case"unlock":S.value=!0;break;case"stick":case"unstick":T.value=!0;break;case"highlight":case"unhighlight":h.value=!0;break;case"vpublic":p.value=0,$.value=!0;break;case"vprivate":p.value=1,$.value=!0;break;case"vfriend":p.value=2,$.value=!0;break;case"vfollowing":p.value=3,$.value=!0;break}},j=()=>{nt({id:s.value.id}).then(e=>{window.$message.success("删除成功"),k.replace("/"),setTimeout(()=>{v.commit("refresh")},50)}).catch(e=>{O.value=!1})},V=()=>{at({id:s.value.id}).then(e=>{q("reload"),e.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(e=>{O.value=!1})},Q=()=>{lt({id:s.value.id}).then(e=>{q("reload"),e.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(e=>{O.value=!1})},K=()=>{it({id:s.value.id}).then(e=>{s.value={...s.value,is_essence:e.highlight_status},e.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(e=>{O.value=!1})},Y=()=>{let e=p.value;e==3&&(e=0),ut({id:s.value.id,visibility:e}).then(l=>{q("reload"),window.$message.success("修改可见性成功")}).catch(l=>{O.value=!1})},f=()=>{ct({id:s.value.id}).then(e=>{w.value=e.status,e.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(e=>{console.log(e)})},y=()=>{rt({id:s.value.id}).then(e=>{U.value=e.status,e.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(e=>{console.log(e)})},x=()=>{Gt(`${window.location.origin}/#/post?id=${s.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板")};return Re(()=>{v.state.userInfo.id>0&&(st({id:s.value.id}).then(e=>{w.value=e.status}).catch(e=>{console.log(e)}),ot({id:s.value.id}).then(e=>{U.value=e.status}).catch(e=>{console.log(e)}))}),(e,l)=>{const M=ye,X=ge("router-link"),te=Lt,he=le,fe=Ot,W=Dt,Z=Wt,we=Ft,qe=Me,Ne=Ht,Be=Vt,be=At,je=Ae,Fe=De;return o(),_("div",{class:"detail-item",onClick:l[7]||(l[7]=N=>z(s.value.id))},[t(Fe,null,{avatar:n(()=>[t(M,{round:"",size:30,src:s.value.user.avatar},null,8,["src"])]),header:n(()=>[t(X,{onClick:l[0]||(l[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:s.value.user.username}}},{default:n(()=>[I(P(s.value.user.nickname),1)]),_:1},8,["to"]),d("span",Xs," @"+P(s.value.user.username),1),s.value.is_top?(o(),R(te,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[I(" 置顶 ")]),_:1})):u("",!0),s.value.visibility==a(G).PRIVATE?(o(),R(te,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[I(" 私密 ")]),_:1})):u("",!0),s.value.visibility==a(G).FRIEND?(o(),R(te,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[I(" 好友可见 ")]),_:1})):u("",!0)]),"header-extra":n(()=>[d("div",Zs,[t(fe,{placement:"bottom-end",trigger:"click",size:"small",options:F.value,onSelect:J},{default:n(()=>[t(he,{quaternary:"",circle:""},{icon:n(()=>[t(a(H),null,{default:n(()=>[t(a(dt))]),_:1})]),_:1})]),_:1},8,["options"])]),t(W,{show:r.value,"onUpdate:show":l[1]||(l[1]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show"]),t(W,{show:S.value,"onUpdate:show":l[2]||(l[2]=N=>S.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),t(W,{show:T.value,"onUpdate:show":l[3]||(l[3]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"]),t(W,{show:h.value,"onUpdate:show":l[4]||(l[4]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(s.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),t(W,{show:$.value,"onUpdate:show":l[5]||(l[5]=N=>$.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(p.value==0?"公开":p.value==1?"私密":p.value==2?"好友可见":"关注可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(Z,{show:C.value,user:D.value,onSuccess:A},null,8,["show","user"])]),footer:n(()=>[t(we,{attachments:s.value.attachments},null,8,["attachments"]),t(we,{attachments:s.value.charge_attachments,price:s.value.attachment_price},null,8,["attachments","price"]),t(qe,{imgs:s.value.imgs},null,8,["imgs"]),t(Ne,{videos:s.value.videos,full:!0},null,8,["videos"]),t(Be,{links:s.value.links},null,8,["links"]),d("div",so,[I(" 发布于 "+P(a(pe)(s.value.created_on))+" ",1),s.value.ip_loc?(o(),_("span",oo,[t(be,{vertical:""}),I(" "+P(s.value.ip_loc),1)])):u("",!0),!a(v).state.collapsedLeft&&s.value.created_on!=s.value.latest_replied_on?(o(),_("span",no,[t(be,{vertical:""}),I(" 最后回复 "+P(a(pe)(s.value.latest_replied_on)),1)])):u("",!0)])]),action:n(()=>[d("div",ao,[t(je,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(f,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?u("",!0):(o(),R(a(mt),{key:0})),w.value?(o(),R(a(vt),{key:1,color:"red"})):u("",!0)]),_:1}),I(" "+P(s.value.upvote_count),1)],8,lo),d("div",io,[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(ht))]),_:1}),I(" "+P(s.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(y,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[U.value?u("",!0):(o(),R(a(ft),{key:0})),U.value?(o(),R(a(gt),{key:1,color:"#ff7600"})):u("",!0)]),_:1}),I(" "+P(s.value.collection_count),1)],8,uo),d("div",{class:"opt-item hover",onClick:B(x,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(yt))]),_:1}),I(" "+P(s.value.share_count),1)],8,co)]),_:1})])]),default:n(()=>[s.value.texts.length>0?(o(),_("div",eo,[(o(!0),_(re,null,_e(s.value.texts,N=>(o(),_("span",{key:N.id,class:"post-text",onClick:l[6]||(l[6]=B(He=>L(He,s.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,to))),128))])):u("",!0)]),_:1})])}}});const _o=E=>(Te("data-v-0d01659f"),E=E(),ze(),E),po={key:0,class:"detail-wrap"},mo={key:1,class:"empty-wrap"},vo={key:0,class:"comment-opts-wrap"},ho=_o(()=>d("span",{class:"comment-title-item"},"评论",-1)),fo={key:2},go={key:0,class:"skeleton-wrap"},yo={key:1},ko={key:0,class:"empty-wrap"},wo={key:0,class:"load-more-spinner"},bo={key:1,class:"load-more-spinner"},$o={key:2,class:"load-more-spinner"},Co={key:3,class:"load-more-spinner"},se=20,xo=ee({__name:"Post",setup(E){const q=Yt(),i=c({}),m=c(!1),v=c(!1),k=c([]),w=oe(()=>+q.query.id),U=c("default"),r=c(!0);let S={loading(){},loaded(){},complete(){},error(){}};const T=z=>{U.value=z,z==="default"&&(r.value=!0),g(S)},h=()=>{i.value={id:0},m.value=!0,_t({id:w.value}).then(z=>{m.value=!1,i.value=z,g(S)}).catch(z=>{m.value=!1})};let $=1;const O=c(!1),p=c([]),C=z=>{O.value||Ce({id:i.value.id,sort_strategy:"default",page:$,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&($===1?p.value=L.list:p.value.push(...L.list),k.value=p.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})};let D=1,b=c(!1);const A=c([]),s=z=>{b.value||Ce({id:i.value.id,sort_strategy:"newest",page:D,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&(D===1?A.value=L.list:A.value.push(...L.list),k.value=A.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})},g=z=>{w.value<1||(k.value.length===0&&(v.value=!0),U.value==="default"?(k.value=p.value,C(z)):(k.value=A.value,s(z)),v.value=!1)},F=()=>{$=1,O.value=!1,p.value=[],D=1,b.value=!1,A.value=[],g(S)};return Re(()=>{h()}),Ye(w,()=>{w.value>0&&q.name==="post"&&h()}),(z,L)=>{const J=Qt,j=ro,V=Et,Q=qt,K=Nt,Y=Bt,f=jt,y=Qs,x=Jt,e=Ms,l=Ae,M=Mt;return o(),_("div",null,[t(J,{title:"泡泡详情",back:!0}),t(M,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(K,null,{default:n(()=>[t(Q,{show:m.value},{default:n(()=>[i.value.id>1?(o(),_("div",po,[t(j,{post:i.value,onReload:h},null,8,["post"])])):(o(),_("div",mo,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),i.value.id>0?(o(),_("div",vo,[t(f,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[ho]),default:n(()=>[t(Y,{name:"default",tab:"默认"}),t(Y,{name:"newest",tab:"最新"})]),_:1})])):u("",!0),i.value.id>0?(o(),R(K,{key:1},{default:n(()=>[t(y,{lock:i.value.is_lock,"post-id":i.value.id,onPostSuccess:F},null,8,["lock","post-id"])]),_:1})):u("",!0),i.value.id>0?(o(),_("div",fo,[v.value?(o(),_("div",go,[t(x,{num:5})])):(o(),_("div",yo,[k.value.length===0?(o(),_("div",ko,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):u("",!0),(o(!0),_(re,null,_e(k.value,X=>(o(),R(K,{key:X.id},{default:n(()=>[t(e,{comment:X,onReload:F},null,8,["comment"])]),_:2},1024))),128))]))])):u("",!0),k.value.length>=se?(o(),R(l,{key:3,justify:"center"},{default:n(()=>[t(a(Xt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:g},{spinner:n(()=>[r.value&&O.value?(o(),_("span",wo)):u("",!0),!r.value&&a(b)?(o(),_("span",bo)):u("",!0),r.value&&!O.value?(o(),_("span",$o,"加载评论")):u("",!0),!r.value&&!a(b)?(o(),_("span",Co,"加载评论")):u("",!0)]),_:1})]),_:1})):u("",!0)]),_:1})])}}});const an=ae(xo,[["__scopeId","data-v-0d01659f"]]);export{an as default}; +import{d as ee,H as c,r as ge,e as o,f as _,j as d,k as t,w as n,A as I,x as P,q as R,Y as u,bf as a,y as B,c as oe,al as Ve,F as re,u as _e,$ as Te,a0 as ze,b as Re,h as $e,E as Ye}from"./@vue-a481fc63.js";import{u as ne}from"./vuex-44de225f.js";import{f as pe,t as Je,h as Ke,i as We,_ as ae,j as Ge,k as Qe,l as Xe,m as Ze,g as et,n as tt,o as st,p as ot,q as nt,r as at,s as lt,u as it,v as ut,w as ct,x as rt,y as _t,z as Ce}from"./index-fcb35ad4.js";import{Y as de,V as G}from"./IEnum-5453a777.js";import{T as Ue,e as me,f as Se,g as ve,h as Le,I as pt,i as dt,j as mt,k as vt,l as ht,m as ft,n as gt,o as yt,p as kt,q as wt,r as bt,s as $t,t as xe,F as Ie,E as ie,u as ue,v as ce,w as Pe}from"./@vicons-7a4ef312.js";import{j as H,e as le,J as Oe,H as Ct,b as xt,K as It,o as ye,L as De,v as Pt,w as Tt,x as zt,y as Rt,z as Ut,B as St,M as Lt,O as Ot,i as Dt,P as At,a as Ae,F as Mt,I as Et,k as qt,G as Nt,f as Bt,g as jt}from"./naive-ui-d8de3dda.js";import{p as ke,_ as Me,a as Ft,b as Ht,c as Vt}from"./content-d73d8961.js";import{u as Ee,b as Yt}from"./vue-router-e5a2430e.js";import{_ as Jt}from"./post-skeleton-f060289d.js";import{l as Kt}from"./lodash-e0b37ac3.js";import{_ as Wt}from"./whisper-150920d0.js";import{c as Gt}from"./copy-to-clipboard-4ef7d3eb.js";import{_ as Qt}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{W as Xt}from"./v3-infinite-loading-2c58ec2f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";const Zt={class:"reply-item"},es={class:"header-wrap"},ts={class:"username"},ss={class:"reply-name"},os={class:"timestamp"},ns={class:"base-wrap"},as={class:"content"},ls={class:"reply-switch"},is={class:"time-item"},us={class:"actions"},cs={class:"upvote-count"},rs=["onClick"],_s={class:"upvote-count"},ps={key:2,class:"action-item"},ds=["onClick"],ms=ee({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(E,{emit:q}){const i=E,m=ne(),v=c(i.reply.is_thumbs_up==de.YES),k=c(i.reply.is_thumbs_down==de.YES),w=c(i.reply.thumbs_up_count),U=()=>{Je({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{v.value=!v.value,v.value?(w.value++,k.value=!1):w.value--}).catch(h=>{console.log(h)})},r=()=>{Ke({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{k.value=!k.value,k.value&&v.value&&(w.value--,v.value=!1)}).catch(h=>{console.log(h)})},S=()=>{q("focusReply",i.reply)},T=()=>{We({id:i.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{q("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const O=ge("router-link"),p=H,C=le,D=Oe,b=Ct;return o(),_("div",Zt,[d("div",es,[d("div",ts,[t(O,{class:"user-link",to:{name:"user",query:{s:i.reply.user.username}}},{default:n(()=>[I(P(i.reply.user.username),1)]),_:1},8,["to"]),d("span",ss,P(i.reply.at_user_id>0?"回复":":"),1),i.reply.at_user_id>0?(o(),R(O,{key:0,class:"user-link",to:{name:"user",query:{s:i.reply.at_user.username}}},{default:n(()=>[I(P(i.reply.at_user.username),1)]),_:1},8,["to"])):u("",!0)]),d("div",os,[I(P(i.reply.ip_loc)+" ",1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===i.reply.user.id?(o(),R(D,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(C,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(p,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),d("div",ns,[d("div",as,[t(b,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[I(P(i.reply.content),1)]),_:1})]),d("div",ls,[d("span",is,P(a(pe)(i.reply.created_on)),1),d("div",us,[a(m).state.userLogined?u("",!0):(o(),_("div",{key:0,class:"action-item",onClick:$[0]||($[0]=B(()=>{},["stop"]))},[t(p,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",cs,P(w.value),1)])),a(m).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(U,["stop"])},[t(p,{size:"medium"},{default:n(()=>[v.value?u("",!0):(o(),R(a(me),{key:0})),v.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",_s,P(w.value>0?w.value:"赞"),1)],8,rs)):u("",!0),a(m).state.userLogined?u("",!0):(o(),_("div",ps,[t(p,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(m).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(r,["stop"])},[t(p,{size:"medium"},{default:n(()=>[k.value?u("",!0):(o(),R(a(ve),{key:0})),k.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,ds)):u("",!0),a(m).state.userLogined?(o(),_("span",{key:4,class:"show opacity-item reply-btn",onClick:S}," 回复 ")):u("",!0)])])])])}}});const vs=ae(ms,[["__scopeId","data-v-187a4ed3"]]),hs={class:"reply-compose-wrap"},fs={class:"reply-switch"},gs={class:"time-item"},ys={class:"actions"},ks={key:0,class:"action-item"},ws={class:"upvote-count"},bs=["onClick"],$s={class:"upvote-count"},Cs={key:2,class:"action-item"},xs=["onClick"],Is={key:0,class:"reply-input-wrap"},Ps=ee({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(E,{expose:q,emit:i}){const m=E,v=ne(),k=c(),w=c(!1),U=c(""),r=c(!1),S=+"300",T=c(m.comment.is_thumbs_up==de.YES),h=c(m.comment.is_thumbs_down==de.YES),$=c(m.comment.thumbs_up_count),O=()=>{Ge({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(b=>{console.log(b)})},p=()=>{Qe({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(b=>{console.log(b)})},C=b=>{w.value=b,b?setTimeout(()=>{var A;(A=k.value)==null||A.focus()},10):(r.value=!1,U.value="",i("reset"))},D=()=>{r.value=!0,Xe({comment_id:m.comment.id,at_user_id:m.atUserid,content:U.value}).then(b=>{C(!1),window.$message.success("评论成功"),i("reload")}).catch(b=>{r.value=!1})};return q({switchReply:C}),(b,A)=>{const s=H,g=xt,F=le,z=It;return o(),_("div",hs,[d("div",fs,[d("span",gs,P(a(pe)(b.comment.created_on)),1),d("div",ys,[a(v).state.userLogined?u("",!0):(o(),_("div",ks,[t(s,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",ws,P($.value),1)])),a(v).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(O,["stop"])},[t(s,{size:"medium"},{default:n(()=>[T.value?u("",!0):(o(),R(a(me),{key:0})),T.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",$s,P($.value>0?$.value:"赞"),1)],8,bs)):u("",!0),a(v).state.userLogined?u("",!0):(o(),_("div",Cs,[t(s,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(v).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(p,["stop"])},[t(s,{size:"medium"},{default:n(()=>[h.value?u("",!0):(o(),R(a(ve),{key:0})),h.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,xs)):u("",!0),a(v).state.userLogined&&!w.value?(o(),_("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=L=>C(!0))}," 回复 ")):u("",!0),a(v).state.userLogined&&w.value?(o(),_("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=L=>C(!1))}," 取消 ")):u("",!0)])]),w.value?(o(),_("div",Is,[t(z,null,{default:n(()=>[t(g,{ref_key:"inputInstRef",ref:k,size:"small",placeholder:m.atUsername?"@"+m.atUsername:"请输入回复内容..",maxlength:a(S),value:U.value,"onUpdate:value":A[2]||(A[2]=L=>U.value=L),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(F,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:D},{default:n(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):u("",!0)])}}});const Ts=ae(Ps,[["__scopeId","data-v-f9af7a93"]]),zs={class:"comment-item"},Rs={class:"nickname-wrap"},Us={class:"username-wrap"},Ss={class:"opt-wrap"},Ls={class:"timestamp"},Os=["innerHTML"],Ds={class:"reply-wrap"},As=ee({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m=ne(),v=Ee(),k=c(0),w=c(""),U=c(),r=oe(()=>{let p=Object.assign({texts:[],imgs:[]},i.comment);return p.contents.map(C=>{(+C.type==1||+C.type==2)&&p.texts.push(C),+C.type==3&&p.imgs.push(C)}),p}),S=(p,C)=>{let D=p.target;if(D.dataset.detail){const b=D.dataset.detail.split(":");b.length===2&&(m.commit("refresh"),b[0]==="tag"?window.$message.warning("评论内的无效话题"):v.push({name:"user",query:{s:b[1]}}))}},T=p=>{var C,D;k.value=p.user_id,w.value=((C=p.user)==null?void 0:C.username)||"",(D=U.value)==null||D.switchReply(!0)},h=()=>{q("reload")},$=()=>{k.value=0,w.value=""},O=()=>{Ze({id:r.value.id}).then(p=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(p=>{})};return(p,C)=>{const D=ye,b=ge("router-link"),A=H,s=le,g=Oe,F=Me,z=Ts,L=vs,J=De;return o(),_("div",zs,[t(J,{"content-indented":""},Ve({avatar:n(()=>[t(D,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",Rs,[t(b,{onClick:C[0]||(C[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:r.value.user.username}}},{default:n(()=>[I(P(r.value.user.nickname),1)]),_:1},8,["to"])]),d("span",Us," @"+P(r.value.user.username),1)]),"header-extra":n(()=>[d("div",Ss,[d("span",Ls,P(r.value.ip_loc),1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===r.value.user.id?(o(),R(g,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:O},{trigger:n(()=>[t(s,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),R(F,{key:0,imgs:r.value.imgs},null,8,["imgs"])):u("",!0),t(z,{ref_key:"replyComposeRef",ref:U,comment:r.value,"at-userid":k.value,"at-username":w.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),d("div",Ds,[(o(!0),_(re,null,_e(r.value.replies,j=>(o(),R(L,{key:j.id,reply:j,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),_(re,null,_e(r.value.texts,j=>(o(),_("span",{key:j.id,class:"comment-text",onClick:C[1]||(C[1]=B(V=>S(V,r.value.id),["stop"])),innerHTML:a(ke)(j.content).content},null,8,Os))),128))]),key:"0"}:void 0]),1024)])}}});const Ms=ae(As,[["__scopeId","data-v-36dac8c8"]]),Es=E=>(Te("data-v-d9073453"),E=E(),ze(),E),qs={key:0,class:"compose-wrap"},Ns={class:"compose-line"},Bs={class:"compose-user"},js={class:"compose-line compose-options"},Fs={class:"attachment"},Hs={class:"submit-wrap"},Vs={class:"attachment-list-wrap"},Ys={key:1,class:"compose-wrap"},Js=Es(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ks={key:0,class:"login-only-wrap"},Ws={key:1,class:"login-wrap"},Gs=ee({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(E,{emit:q}){const i=E,m=ne(),v=c([]),k=c(!1),w=c(!1),U=c(!1),r=c(""),S=c(),T=c("public/image"),h=c([]),$=c([]),O=c("true".toLowerCase()==="true"),p=+"300",C="/v1/attachment",D=oe(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),b=Kt.debounce(f=>{et({k:f}).then(y=>{let x=[];y.suggest.map(e=>{x.push({label:e,value:e})}),v.value=x,w.value=!1}).catch(y=>{w.value=!1})},200),A=(f,y)=>{w.value||(w.value=!0,y==="@"&&b(f))},s=f=>{f.length>p?r.value=f.substring(0,p):r.value=f},g=f=>{T.value=f},F=f=>{for(let l=0;l30&&(f[l].name=x.substring(0,18)+"..."+x.substring(x.length-9)+"."+e)}h.value=f},z=async f=>{var y,x;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((y=f.file.file)==null?void 0:y.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((x=f.file.file)==null?void 0:x.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},L=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);e.code===0&&T.value==="public/image"&&$.value.push({id:f.id,content:e.data.content})}catch{window.$message.error("上传失败")}},J=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);if(e.code!==0){let l=e.msg||"上传失败";e.details&&e.details.length>0&&e.details.map(M=>{l+=":"+M}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},j=({file:f})=>{let y=$.value.findIndex(x=>x.id===f.id);y>-1&&$.value.splice(y,1)},V=()=>{k.value=!0},Q=()=>{var f;k.value=!1,(f=S.value)==null||f.clear(),h.value=[],r.value="",$.value=[]},K=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=ke(r.value);const y=[];let x=100;y.push({content:r.value,type:2,sort:x}),$.value.map(e=>{x++,y.push({content:e.content,type:3,sort:x})}),U.value=!0,tt({contents:y,post_id:i.postId,users:Array.from(new Set(f))}).then(e=>{window.$message.success("发布成功"),U.value=!1,q("post-success"),Q()}).catch(e=>{U.value=!1})},Y=f=>{m.commit("triggerAuth",!0),m.commit("triggerAuthKey",f)};return(f,y)=>{const x=ye,e=Pt,l=H,M=le,X=Tt,te=zt,he=Rt,fe=Ut,W=St;return o(),_("div",null,[a(m).state.userInfo.id>0?(o(),_("div",qs,[d("div",Ns,[d("div",Bs,[t(x,{round:"",size:30,src:a(m).state.userInfo.avatar},null,8,["src"])]),t(e,{type:"textarea",size:"large",autosize:"",bordered:!1,options:v.value,prefix:["@"],loading:w.value,value:r.value,disabled:i.lock===1,"onUpdate:value":s,onSearch:A,onFocus:V,placeholder:i.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),k.value?(o(),R(W,{key:0,ref_key:"uploadRef",ref:S,abstract:"","list-type":"image",multiple:!0,max:9,action:C,headers:{Authorization:D.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:z,onFinish:L,onError:J,onRemove:j,"onUpdate:fileList":F},{default:n(()=>[d("div",js,[d("div",Fs,[t(X,{abstract:""},{default:n(({handleClick:Z})=>[t(M,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{g("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(l,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(pt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(he,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(te,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(p)*100},null,8,["percentage"])]),default:n(()=>[I(" "+P(r.value.length)+" / "+P(a(p)),1)]),_:1})]),d("div",Hs,[t(M,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:Q},{default:n(()=>[I(" 取消 ")]),_:1}),t(M,{loading:U.value,onClick:K,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",Vs,[t(fe)])]),_:1},8,["headers","data","file-list"])):u("",!0)])):(o(),_("div",Ys,[Js,O.value?u("",!0):(o(),_("div",Ks,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1})])),O.value?(o(),_("div",Ws,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1}),t(M,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=Z=>Y("signup"))},{default:n(()=>[I(" 注册 ")]),_:1})])):u("",!0)]))])}}});const Qs=ae(Gs,[["__scopeId","data-v-d9073453"]]),Xs={class:"username-wrap"},Zs={class:"options"},eo={key:0},to=["innerHTML"],so={class:"timestamp"},oo={key:0},no={key:1},ao={class:"opts-wrap"},lo=["onClick"],io={class:"opt-item"},uo=["onClick"],co=["onClick"],ro=ee({__name:"post-detail",props:{post:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m="true".toLowerCase()==="true",v=ne(),k=Ee(),w=c(!1),U=c(!1),r=c(!1),S=c(!1),T=c(!1),h=c(!1),$=c(!1),O=c(!1),p=c(G.PUBLIC),C=c(!1),D=c({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),b=e=>{D.value=e,C.value=!0},A=()=>{C.value=!1},s=oe({get:()=>{let e=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},i.post);return e.contents.map(l=>{(+l.type==1||+l.type==2)&&e.texts.push(l),+l.type==3&&e.imgs.push(l),+l.type==4&&e.videos.push(l),+l.type==6&&e.links.push(l),+l.type==7&&e.attachments.push(l),+l.type==8&&e.charge_attachments.push(l)}),e},set:e=>{i.post.upvote_count=e.upvote_count,i.post.comment_count=e.comment_count,i.post.collection_count=e.collection_count,i.post.is_essence=e.is_essence}}),g=e=>()=>$e(H,null,{default:()=>$e(e)}),F=oe(()=>{var M;let e=[];if(!v.state.userInfo.is_admin&&v.state.userInfo.id!=i.post.user.id)return e.push({label:"私信",key:"whisper",icon:g(kt)}),e;e.push({label:"删除",key:"delete",icon:g(wt)}),s.value.is_lock===0?e.push({label:"锁定",key:"lock",icon:g(bt)}):e.push({label:"解锁",key:"unlock",icon:g($t)}),v.state.userInfo.is_admin&&(s.value.is_top===0?e.push({label:"置顶",key:"stick",icon:g(xe)}):e.push({label:"取消置顶",key:"unstick",icon:g(xe)})),s.value.is_essence===0?e.push({label:"设为亮点",key:"highlight",icon:g(Ie)}):e.push({label:"取消亮点",key:"unhighlight",icon:g(Ie)});let l;return s.value.visibility===G.PUBLIC?l={label:"公开",key:"vpublic",icon:g(ie),children:[{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:s.value.visibility===G.PRIVATE?l={label:"私密",key:"vprivate",icon:g(ue),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:m&&s.value.visibility===G.FRIEND?l={label:"好友可见",key:"vfriend",icon:g(Pe),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:l={label:"关注可见",key:"vfollowing",icon:g(ce),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)}]},m&&s.value.visibility!==G.FRIEND&&((M=l.children)==null||M.push({label:"好友可见",key:"vfriend",icon:g(Pe)})),e.push(l),e}),z=e=>{k.push({name:"post",query:{id:e}})},L=(e,l)=>{if(e.target.dataset.detail){const M=e.target.dataset.detail.split(":");if(M.length===2){v.commit("refresh"),M[0]==="tag"?k.push({name:"home",query:{q:M[1],t:"tag"}}):k.push({name:"user",query:{s:M[1]}});return}}z(l)},J=e=>{switch(e){case"whisper":b(i.post.user);break;case"delete":r.value=!0;break;case"lock":case"unlock":S.value=!0;break;case"stick":case"unstick":T.value=!0;break;case"highlight":case"unhighlight":h.value=!0;break;case"vpublic":p.value=0,$.value=!0;break;case"vprivate":p.value=1,$.value=!0;break;case"vfriend":p.value=2,$.value=!0;break;case"vfollowing":p.value=3,$.value=!0;break}},j=()=>{nt({id:s.value.id}).then(e=>{window.$message.success("删除成功"),k.replace("/"),setTimeout(()=>{v.commit("refresh")},50)}).catch(e=>{O.value=!1})},V=()=>{at({id:s.value.id}).then(e=>{q("reload"),e.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(e=>{O.value=!1})},Q=()=>{lt({id:s.value.id}).then(e=>{q("reload"),e.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(e=>{O.value=!1})},K=()=>{it({id:s.value.id}).then(e=>{s.value={...s.value,is_essence:e.highlight_status},e.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(e=>{O.value=!1})},Y=()=>{let e=p.value;e==3&&(e=0),ut({id:s.value.id,visibility:e}).then(l=>{q("reload"),window.$message.success("修改可见性成功")}).catch(l=>{O.value=!1})},f=()=>{ct({id:s.value.id}).then(e=>{w.value=e.status,e.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(e=>{console.log(e)})},y=()=>{rt({id:s.value.id}).then(e=>{U.value=e.status,e.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(e=>{console.log(e)})},x=()=>{Gt(`${window.location.origin}/#/post?id=${s.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板")};return Re(()=>{v.state.userInfo.id>0&&(st({id:s.value.id}).then(e=>{w.value=e.status}).catch(e=>{console.log(e)}),ot({id:s.value.id}).then(e=>{U.value=e.status}).catch(e=>{console.log(e)}))}),(e,l)=>{const M=ye,X=ge("router-link"),te=Lt,he=le,fe=Ot,W=Dt,Z=Wt,we=Ft,qe=Me,Ne=Ht,Be=Vt,be=At,je=Ae,Fe=De;return o(),_("div",{class:"detail-item",onClick:l[7]||(l[7]=N=>z(s.value.id))},[t(Fe,null,{avatar:n(()=>[t(M,{round:"",size:30,src:s.value.user.avatar},null,8,["src"])]),header:n(()=>[t(X,{onClick:l[0]||(l[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:s.value.user.username}}},{default:n(()=>[I(P(s.value.user.nickname),1)]),_:1},8,["to"]),d("span",Xs," @"+P(s.value.user.username),1),s.value.is_top?(o(),R(te,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[I(" 置顶 ")]),_:1})):u("",!0),s.value.visibility==a(G).PRIVATE?(o(),R(te,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[I(" 私密 ")]),_:1})):u("",!0),s.value.visibility==a(G).FRIEND?(o(),R(te,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[I(" 好友可见 ")]),_:1})):u("",!0)]),"header-extra":n(()=>[d("div",Zs,[t(fe,{placement:"bottom-end",trigger:"click",size:"small",options:F.value,onSelect:J},{default:n(()=>[t(he,{quaternary:"",circle:""},{icon:n(()=>[t(a(H),null,{default:n(()=>[t(a(dt))]),_:1})]),_:1})]),_:1},8,["options"])]),t(W,{show:r.value,"onUpdate:show":l[1]||(l[1]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show"]),t(W,{show:S.value,"onUpdate:show":l[2]||(l[2]=N=>S.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),t(W,{show:T.value,"onUpdate:show":l[3]||(l[3]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"]),t(W,{show:h.value,"onUpdate:show":l[4]||(l[4]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(s.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),t(W,{show:$.value,"onUpdate:show":l[5]||(l[5]=N=>$.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(p.value==0?"公开":p.value==1?"私密":p.value==2?"好友可见":"关注可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(Z,{show:C.value,user:D.value,onSuccess:A},null,8,["show","user"])]),footer:n(()=>[t(we,{attachments:s.value.attachments},null,8,["attachments"]),t(we,{attachments:s.value.charge_attachments,price:s.value.attachment_price},null,8,["attachments","price"]),t(qe,{imgs:s.value.imgs},null,8,["imgs"]),t(Ne,{videos:s.value.videos,full:!0},null,8,["videos"]),t(Be,{links:s.value.links},null,8,["links"]),d("div",so,[I(" 发布于 "+P(a(pe)(s.value.created_on))+" ",1),s.value.ip_loc?(o(),_("span",oo,[t(be,{vertical:""}),I(" "+P(s.value.ip_loc),1)])):u("",!0),!a(v).state.collapsedLeft&&s.value.created_on!=s.value.latest_replied_on?(o(),_("span",no,[t(be,{vertical:""}),I(" 最后回复 "+P(a(pe)(s.value.latest_replied_on)),1)])):u("",!0)])]),action:n(()=>[d("div",ao,[t(je,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(f,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?u("",!0):(o(),R(a(mt),{key:0})),w.value?(o(),R(a(vt),{key:1,color:"red"})):u("",!0)]),_:1}),I(" "+P(s.value.upvote_count),1)],8,lo),d("div",io,[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(ht))]),_:1}),I(" "+P(s.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(y,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[U.value?u("",!0):(o(),R(a(ft),{key:0})),U.value?(o(),R(a(gt),{key:1,color:"#ff7600"})):u("",!0)]),_:1}),I(" "+P(s.value.collection_count),1)],8,uo),d("div",{class:"opt-item hover",onClick:B(x,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(yt))]),_:1}),I(" "+P(s.value.share_count),1)],8,co)]),_:1})])]),default:n(()=>[s.value.texts.length>0?(o(),_("div",eo,[(o(!0),_(re,null,_e(s.value.texts,N=>(o(),_("span",{key:N.id,class:"post-text",onClick:l[6]||(l[6]=B(He=>L(He,s.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,to))),128))])):u("",!0)]),_:1})])}}});const _o=E=>(Te("data-v-0d01659f"),E=E(),ze(),E),po={key:0,class:"detail-wrap"},mo={key:1,class:"empty-wrap"},vo={key:0,class:"comment-opts-wrap"},ho=_o(()=>d("span",{class:"comment-title-item"},"评论",-1)),fo={key:2},go={key:0,class:"skeleton-wrap"},yo={key:1},ko={key:0,class:"empty-wrap"},wo={key:0,class:"load-more-spinner"},bo={key:1,class:"load-more-spinner"},$o={key:2,class:"load-more-spinner"},Co={key:3,class:"load-more-spinner"},se=20,xo=ee({__name:"Post",setup(E){const q=Yt(),i=c({}),m=c(!1),v=c(!1),k=c([]),w=oe(()=>+q.query.id),U=c("default"),r=c(!0);let S={loading(){},loaded(){},complete(){},error(){}};const T=z=>{U.value=z,z==="default"&&(r.value=!0),g(S)},h=()=>{i.value={id:0},m.value=!0,_t({id:w.value}).then(z=>{m.value=!1,i.value=z,g(S)}).catch(z=>{m.value=!1})};let $=1;const O=c(!1),p=c([]),C=z=>{O.value||Ce({id:i.value.id,sort_strategy:"default",page:$,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&($===1?p.value=L.list:p.value.push(...L.list),k.value=p.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})};let D=1,b=c(!1);const A=c([]),s=z=>{b.value||Ce({id:i.value.id,sort_strategy:"newest",page:D,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&(D===1?A.value=L.list:A.value.push(...L.list),k.value=A.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})},g=z=>{w.value<1||(k.value.length===0&&(v.value=!0),U.value==="default"?(k.value=p.value,C(z)):(k.value=A.value,s(z)),v.value=!1)},F=()=>{$=1,O.value=!1,p.value=[],D=1,b.value=!1,A.value=[],g(S)};return Re(()=>{h()}),Ye(w,()=>{w.value>0&&q.name==="post"&&h()}),(z,L)=>{const J=Qt,j=ro,V=Et,Q=qt,K=Nt,Y=Bt,f=jt,y=Qs,x=Jt,e=Ms,l=Ae,M=Mt;return o(),_("div",null,[t(J,{title:"泡泡详情",back:!0}),t(M,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(K,null,{default:n(()=>[t(Q,{show:m.value},{default:n(()=>[i.value.id>1?(o(),_("div",po,[t(j,{post:i.value,onReload:h},null,8,["post"])])):(o(),_("div",mo,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),i.value.id>0?(o(),_("div",vo,[t(f,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[ho]),default:n(()=>[t(Y,{name:"default",tab:"默认"}),t(Y,{name:"newest",tab:"最新"})]),_:1})])):u("",!0),i.value.id>0?(o(),R(K,{key:1},{default:n(()=>[t(y,{lock:i.value.is_lock,"post-id":i.value.id,onPostSuccess:F},null,8,["lock","post-id"])]),_:1})):u("",!0),i.value.id>0?(o(),_("div",fo,[v.value?(o(),_("div",go,[t(x,{num:5})])):(o(),_("div",yo,[k.value.length===0?(o(),_("div",ko,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):u("",!0),(o(!0),_(re,null,_e(k.value,X=>(o(),R(K,{key:X.id},{default:n(()=>[t(e,{comment:X,onReload:F},null,8,["comment"])]),_:2},1024))),128))]))])):u("",!0),k.value.length>=se?(o(),R(l,{key:3,justify:"center"},{default:n(()=>[t(a(Xt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:g},{spinner:n(()=>[r.value&&O.value?(o(),_("span",wo)):u("",!0),!r.value&&a(b)?(o(),_("span",bo)):u("",!0),r.value&&!O.value?(o(),_("span",$o,"加载评论")):u("",!0),!r.value&&!a(b)?(o(),_("span",Co,"加载评论")):u("",!0)]),_:1})]),_:1})):u("",!0)]),_:1})])}}});const an=ae(xo,[["__scopeId","data-v-0d01659f"]]);export{an as default}; diff --git a/web/dist/assets/Profile-79842d31.js b/web/dist/assets/Profile-9492f6bb.js similarity index 95% rename from web/dist/assets/Profile-79842d31.js rename to web/dist/assets/Profile-9492f6bb.js index 7bb0b197..070f0bbd 100644 --- a/web/dist/assets/Profile-79842d31.js +++ b/web/dist/assets/Profile-9492f6bb.js @@ -1 +1 @@ -import{_ as fe}from"./whisper-a4b81d0e.js";import{_ as he,a as ge}from"./post-item.vue_vue_type_style_index_0_lang-d54eb310.js";import{_ as ke}from"./post-skeleton-f8428500.js";import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{d as we,H as n,b as be,E as Pe,r as Ie,f as o,k as u,bf as _,q as d,w as c,Y as m,e,j as f,x as I,A as E,y as ae,F as y,u as w}from"./@vue-a481fc63.js";import{u as Te}from"./vuex-44de225f.js";import{b as Me}from"./vue-router-e5a2430e.js";import{e as x,F as ze,_ as qe}from"./index-c7635d00.js";import{W as xe}from"./v3-infinite-loading-2c58ec2f.js";import{F as Se,a as $e,o as Ce,M as Le,f as Be,g as Fe,I as Ne,k as Ve,G as De}from"./naive-ui-d8de3dda.js";import"./content-34f8522f.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"profile-baseinfo"},We={class:"avatar"},je={class:"base-info"},Ee={class:"username"},He={class:"userinfo"},Re={class:"info-item"},Ae={class:"info-item"},Ge={class:"userinfo"},Ye={class:"info-item"},Je={class:"info-item"},Ke={key:0,class:"skeleton-wrap"},Oe={key:1},Qe={key:0,class:"empty-wrap"},Xe={key:1},Ze={key:0},ea={key:1},aa={key:2},ta={key:3},sa={key:4},la={key:2},oa={key:0},na={key:1},ua={key:2},ia={key:3},ra={key:4},ca={class:"load-more-wrap"},va={class:"load-more-spinner"},_a=we({__name:"Profile",setup(ma){const i=Te(),T=Me(),v=n(!1),b=n(!1),s=n([]),S=n([]),$=n([]),C=n([]),L=n([]),B=n([]),p=n("post"),H=n(+T.query.p||1),R=n(1),A=n(1),G=n(1),Y=n(1),t=n(+T.query.p||1),h=n(20),r=n(0),J=n(0),K=n(0),O=n(0),Q=n(0),X=n(0),F=n(!1),Z=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),g=a=>{Z.value=a,F.value=!0},te=()=>{F.value=!1},N=()=>{switch(p.value){case"post":V();break;case"comment":D();break;case"highlight":U();break;case"media":W();break;case"star":j();break}},V=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"post",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),S.value=s.value,J.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},D=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"comment",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),$.value=s.value,K.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},U=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"highlight",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),C.value=s.value,O.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},W=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"media",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),L.value=s.value,Q.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},j=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"star",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),B.value=s.value,X.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},se=a=>{switch(p.value=a,p.value){case"post":s.value=S.value,t.value=H.value,r.value=J.value,V();break;case"comment":s.value=$.value,t.value=R.value,r.value=K.value,D();break;case"highlight":s.value=C.value,t.value=A.value,r.value=O.value,U();break;case"media":s.value=L.value,t.value=G.value,r.value=Q.value,W();break;case"star":s.value=B.value,t.value=Y.value,r.value=X.value,j();break}},le=()=>{switch(p.value){case"post":H.value=t.value,V();break;case"comment":R.value=t.value,D();break;case"highlight":A.value=t.value,U();break;case"media":G.value=t.value,W();break;case"star":Y.value=t.value,j();break}},oe=()=>{t.value{N()}),Pe(()=>({path:T.path,query:T.query,refresh:i.state.refresh}),(a,P)=>{if(a.refresh!==P.refresh){t.value=+T.query.p||1,setTimeout(()=>{N()},0);return}P.path!=="/post"&&a.path==="/profile"&&(t.value=+T.query.p||1,setTimeout(()=>{N()},0))}),(a,P)=>{const ne=ye,ue=Ce,ie=Le,ee=Ie("router-link"),M=Be,re=Fe,ce=ke,ve=Ne,z=he,k=De,q=ge,_e=fe,me=Se,pe=Ve,de=$e;return e(),o("div",null,[u(ne,{title:"主页"}),_(i).state.userInfo.id>0?(e(),d(me,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:c(()=>[f("div",Ue,[f("div",We,[u(ue,{size:72,src:_(i).state.userInfo.avatar},null,8,["src"])]),f("div",je,[f("div",Ee,[f("strong",null,I(_(i).state.userInfo.nickname),1),f("span",null," @"+I(_(i).state.userInfo.username),1),_(i).state.userInfo.is_admin?(e(),d(ie,{key:0,class:"top-tag",type:"error",size:"small",round:""},{default:c(()=>[E(" 管理员 ")]),_:1})):m("",!0)]),f("div",He,[f("span",Re,"UID. "+I(_(i).state.userInfo.id),1),f("span",Ae,I(_(ze)(_(i).state.userInfo.created_on))+" 加入",1)]),f("div",Ge,[f("span",Ye,[u(ee,{onClick:P[0]||(P[0]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"follows"}}},{default:c(()=>[E(" 关注  "+I(_(i).state.userInfo.follows),1)]),_:1},8,["to"])]),f("span",Je,[u(ee,{onClick:P[1]||(P[1]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"followings"}}},{default:c(()=>[E(" 粉丝  "+I(_(i).state.userInfo.followings),1)]),_:1},8,["to"])])])])]),u(re,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:c(()=>[u(M,{name:"post",tab:"泡泡"}),u(M,{name:"comment",tab:"评论"}),u(M,{name:"highlight",tab:"亮点"}),u(M,{name:"media",tab:"图文"}),u(M,{name:"star",tab:"喜欢"})]),_:1}),v.value&&s.value.length===0?(e(),o("div",Ke,[u(ce,{num:h.value},null,8,["num"])])):(e(),o("div",Oe,[s.value.length===0?(e(),o("div",Qe,[u(ve,{size:"large",description:"暂无数据"})])):m("",!0),_(i).state.desktopModelShow?(e(),o("div",Xe,[p.value==="post"?(e(),o("div",Ze,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",ea,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",aa,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ta,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",sa,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)])):(e(),o("div",la,[p.value==="post"?(e(),o("div",oa,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",na,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",ua,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ia,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",ra,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)]))])),u(_e,{show:F.value,user:Z.value,onSuccess:te},null,8,["show","user"])]),_:1})):m("",!0),r.value>0?(e(),d(de,{key:1,justify:"center"},{default:c(()=>[u(_(xe),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:P[2]||(P[2]=l=>oe())},{spinner:c(()=>[f("div",ca,[b.value?m("",!0):(e(),d(pe,{key:0,size:14})),f("span",va,I(b.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):m("",!0)])}}});const Ga=qe(_a,[["__scopeId","data-v-756dadd0"]]);export{Ga as default}; +import{_ as fe}from"./whisper-150920d0.js";import{_ as he,a as ge}from"./post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js";import{_ as ke}from"./post-skeleton-f060289d.js";import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{d as we,H as n,b as be,E as Pe,r as Ie,f as o,k as u,bf as _,q as d,w as c,Y as m,e,j as f,x as I,A as E,y as ae,F as y,u as w}from"./@vue-a481fc63.js";import{u as Te}from"./vuex-44de225f.js";import{b as Me}from"./vue-router-e5a2430e.js";import{e as x,F as ze,_ as qe}from"./index-fcb35ad4.js";import{W as xe}from"./v3-infinite-loading-2c58ec2f.js";import{F as Se,a as $e,o as Ce,M as Le,f as Be,g as Fe,I as Ne,k as Ve,G as De}from"./naive-ui-d8de3dda.js";import"./content-d73d8961.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"profile-baseinfo"},We={class:"avatar"},je={class:"base-info"},Ee={class:"username"},He={class:"userinfo"},Re={class:"info-item"},Ae={class:"info-item"},Ge={class:"userinfo"},Ye={class:"info-item"},Je={class:"info-item"},Ke={key:0,class:"skeleton-wrap"},Oe={key:1},Qe={key:0,class:"empty-wrap"},Xe={key:1},Ze={key:0},ea={key:1},aa={key:2},ta={key:3},sa={key:4},la={key:2},oa={key:0},na={key:1},ua={key:2},ia={key:3},ra={key:4},ca={class:"load-more-wrap"},va={class:"load-more-spinner"},_a=we({__name:"Profile",setup(ma){const i=Te(),T=Me(),v=n(!1),b=n(!1),s=n([]),S=n([]),$=n([]),C=n([]),L=n([]),B=n([]),p=n("post"),H=n(+T.query.p||1),R=n(1),A=n(1),G=n(1),Y=n(1),t=n(+T.query.p||1),h=n(20),r=n(0),J=n(0),K=n(0),O=n(0),Q=n(0),X=n(0),F=n(!1),Z=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),g=a=>{Z.value=a,F.value=!0},te=()=>{F.value=!1},N=()=>{switch(p.value){case"post":V();break;case"comment":D();break;case"highlight":U();break;case"media":W();break;case"star":j();break}},V=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"post",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),S.value=s.value,J.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},D=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"comment",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),$.value=s.value,K.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},U=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"highlight",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),C.value=s.value,O.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},W=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"media",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),L.value=s.value,Q.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},j=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"star",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),B.value=s.value,X.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},se=a=>{switch(p.value=a,p.value){case"post":s.value=S.value,t.value=H.value,r.value=J.value,V();break;case"comment":s.value=$.value,t.value=R.value,r.value=K.value,D();break;case"highlight":s.value=C.value,t.value=A.value,r.value=O.value,U();break;case"media":s.value=L.value,t.value=G.value,r.value=Q.value,W();break;case"star":s.value=B.value,t.value=Y.value,r.value=X.value,j();break}},le=()=>{switch(p.value){case"post":H.value=t.value,V();break;case"comment":R.value=t.value,D();break;case"highlight":A.value=t.value,U();break;case"media":G.value=t.value,W();break;case"star":Y.value=t.value,j();break}},oe=()=>{t.value{N()}),Pe(()=>({path:T.path,query:T.query,refresh:i.state.refresh}),(a,P)=>{if(a.refresh!==P.refresh){t.value=+T.query.p||1,setTimeout(()=>{N()},0);return}P.path!=="/post"&&a.path==="/profile"&&(t.value=+T.query.p||1,setTimeout(()=>{N()},0))}),(a,P)=>{const ne=ye,ue=Ce,ie=Le,ee=Ie("router-link"),M=Be,re=Fe,ce=ke,ve=Ne,z=he,k=De,q=ge,_e=fe,me=Se,pe=Ve,de=$e;return e(),o("div",null,[u(ne,{title:"主页"}),_(i).state.userInfo.id>0?(e(),d(me,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:c(()=>[f("div",Ue,[f("div",We,[u(ue,{size:72,src:_(i).state.userInfo.avatar},null,8,["src"])]),f("div",je,[f("div",Ee,[f("strong",null,I(_(i).state.userInfo.nickname),1),f("span",null," @"+I(_(i).state.userInfo.username),1),_(i).state.userInfo.is_admin?(e(),d(ie,{key:0,class:"top-tag",type:"error",size:"small",round:""},{default:c(()=>[E(" 管理员 ")]),_:1})):m("",!0)]),f("div",He,[f("span",Re,"UID. "+I(_(i).state.userInfo.id),1),f("span",Ae,I(_(ze)(_(i).state.userInfo.created_on))+" 加入",1)]),f("div",Ge,[f("span",Ye,[u(ee,{onClick:P[0]||(P[0]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"follows"}}},{default:c(()=>[E(" 关注  "+I(_(i).state.userInfo.follows),1)]),_:1},8,["to"])]),f("span",Je,[u(ee,{onClick:P[1]||(P[1]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"followings"}}},{default:c(()=>[E(" 粉丝  "+I(_(i).state.userInfo.followings),1)]),_:1},8,["to"])])])])]),u(re,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:c(()=>[u(M,{name:"post",tab:"泡泡"}),u(M,{name:"comment",tab:"评论"}),u(M,{name:"highlight",tab:"亮点"}),u(M,{name:"media",tab:"图文"}),u(M,{name:"star",tab:"喜欢"})]),_:1}),v.value&&s.value.length===0?(e(),o("div",Ke,[u(ce,{num:h.value},null,8,["num"])])):(e(),o("div",Oe,[s.value.length===0?(e(),o("div",Qe,[u(ve,{size:"large",description:"暂无数据"})])):m("",!0),_(i).state.desktopModelShow?(e(),o("div",Xe,[p.value==="post"?(e(),o("div",Ze,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",ea,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",aa,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ta,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",sa,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)])):(e(),o("div",la,[p.value==="post"?(e(),o("div",oa,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",na,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",ua,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ia,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",ra,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)]))])),u(_e,{show:F.value,user:Z.value,onSuccess:te},null,8,["show","user"])]),_:1})):m("",!0),r.value>0?(e(),d(de,{key:1,justify:"center"},{default:c(()=>[u(_(xe),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:P[2]||(P[2]=l=>oe())},{spinner:c(()=>[f("div",ca,[b.value?m("",!0):(e(),d(pe,{key:0,size:14})),f("span",va,I(b.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):m("",!0)])}}});const Ga=qe(_a,[["__scopeId","data-v-756dadd0"]]);export{Ga as default}; diff --git a/web/dist/assets/Setting-af3630fe.js b/web/dist/assets/Setting-04697376.js similarity index 98% rename from web/dist/assets/Setting-af3630fe.js rename to web/dist/assets/Setting-04697376.js index f06ec4cd..eb5cc7c8 100644 --- a/web/dist/assets/Setting-af3630fe.js +++ b/web/dist/assets/Setting-04697376.js @@ -1 +1 @@ -import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{d as ye,H as d,R as Q,b as ke,f as g,k as t,w as s,q as b,Y as _,e as r,j as m,bf as u,A as p,x as R,O as be,D as Ce,Z as q,y as A,$ as Ie,a0 as $e}from"./@vue-a481fc63.js";import{u as Pe}from"./vuex-44de225f.js";import{a0 as X,a1 as Se,a2 as Ue,a3 as Re,a4 as qe,a5 as Ae,a6 as Be,_ as Ne}from"./index-c7635d00.js";import{Y as ze}from"./@vicons-7a4ef312.js";import{h as Ke,o as xe,e as De,B as Fe,b as je,j as Oe,S as Te,$ as Ve,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-d8de3dda.js";import"./vue-router-e5a2430e.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const j=B=>(Ie("data-v-a681720e"),B=B(),$e(),B),Ye={class:"base-line avatar"},Ge={class:"base-line"},He=j(()=>m("span",{class:"base-label"},"昵称",-1)),Je={key:0},Ze={class:"base-line"},Qe=j(()=>m("span",{class:"base-label"},"用户名",-1)),Xe={key:0},et={key:1},tt=j(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=j(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},pt={class:"captcha-img-wrap"},ct={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(B){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),N=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),z=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),S=d(!1),U=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),H=d(),J=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return N.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):N.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&N.value==="public/avatar"&&Se({avatar:f.data.content}).then(c=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(c=>{console.log(c)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=J.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=H.value)==null||e.validate(v=>{v||(x.value=!0,Ue({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(z.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{z.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{z.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&T()}))})},O=()=>{X().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},T=()=>{X().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},pe=()=>{Ae({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},ce=()=>{if(!(I.value>0&&U.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Be({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{U.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,U.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&O(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),O(),T()}),(n,e)=>{const v=we,f=xe,c=De,D=Fe,h=je,ge=Oe,F=Ke,Z=Te,w=Ve,he=Ee,V=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:N.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(c,{size:"small"},{default:s(()=>[p("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[He,C.value?_("",!0):(r(),g("div",Je,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:pe,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(c,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(ze))]),_:1})]),_:1})):_("",!0)]),m("div",Ze,[Qe,p(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Xe,[p(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[p(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Z,{title:"手机绑定提示",type:"warning"},{default:s(()=>[p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:O},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(c,{type:"primary",ghost:"",disabled:U.value,loading:P.value,onClick:ce},{default:s(()=>[p(R(I.value>0&&U.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",lt,[t(c,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ue},{default:s(()=>[p(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[p(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[p(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Z,{title:"激活码激活提示",type:"warning"},{default:s(()=>[p(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",pt,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",ct,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:T},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",mt,[t(c,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[p(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[p(" 您已设置密码 "),S.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[p(" 重置密码 ")]),_:1})),S.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:H,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:J,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",ft,[t(c,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[p(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=Ne(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; +import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{d as ye,H as d,R as Q,b as ke,f as g,k as t,w as s,q as b,Y as _,e as r,j as m,bf as u,A as p,x as R,O as be,D as Ce,Z as q,y as A,$ as Ie,a0 as $e}from"./@vue-a481fc63.js";import{u as Pe}from"./vuex-44de225f.js";import{a0 as X,a1 as Se,a2 as Ue,a3 as Re,a4 as qe,a5 as Ae,a6 as Be,_ as Ne}from"./index-fcb35ad4.js";import{Y as ze}from"./@vicons-7a4ef312.js";import{h as Ke,o as xe,e as De,B as Fe,b as je,j as Oe,S as Te,$ as Ve,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-d8de3dda.js";import"./vue-router-e5a2430e.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const j=B=>(Ie("data-v-a681720e"),B=B(),$e(),B),Ye={class:"base-line avatar"},Ge={class:"base-line"},He=j(()=>m("span",{class:"base-label"},"昵称",-1)),Je={key:0},Ze={class:"base-line"},Qe=j(()=>m("span",{class:"base-label"},"用户名",-1)),Xe={key:0},et={key:1},tt=j(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=j(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},pt={class:"captcha-img-wrap"},ct={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(B){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),N=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),z=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),S=d(!1),U=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),H=d(),J=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return N.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):N.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&N.value==="public/avatar"&&Se({avatar:f.data.content}).then(c=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(c=>{console.log(c)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=J.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=H.value)==null||e.validate(v=>{v||(x.value=!0,Ue({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(z.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{z.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{z.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&T()}))})},O=()=>{X().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},T=()=>{X().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},pe=()=>{Ae({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},ce=()=>{if(!(I.value>0&&U.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Be({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{U.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,U.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&O(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),O(),T()}),(n,e)=>{const v=we,f=xe,c=De,D=Fe,h=je,ge=Oe,F=Ke,Z=Te,w=Ve,he=Ee,V=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:N.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(c,{size:"small"},{default:s(()=>[p("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[He,C.value?_("",!0):(r(),g("div",Je,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:pe,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(c,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(ze))]),_:1})]),_:1})):_("",!0)]),m("div",Ze,[Qe,p(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Xe,[p(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[p(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Z,{title:"手机绑定提示",type:"warning"},{default:s(()=>[p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:O},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(c,{type:"primary",ghost:"",disabled:U.value,loading:P.value,onClick:ce},{default:s(()=>[p(R(I.value>0&&U.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",lt,[t(c,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ue},{default:s(()=>[p(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[p(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[p(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Z,{title:"激活码激活提示",type:"warning"},{default:s(()=>[p(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",pt,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",ct,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:T},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",mt,[t(c,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[p(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[p(" 您已设置密码 "),S.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[p(" 重置密码 ")]),_:1})),S.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:H,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:J,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",ft,[t(c,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[p(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=Ne(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Topic-b95723bc.js b/web/dist/assets/Topic-8586b7d5.js similarity index 97% rename from web/dist/assets/Topic-b95723bc.js rename to web/dist/assets/Topic-8586b7d5.js index 28c84950..30fab9dc 100644 --- a/web/dist/assets/Topic-b95723bc.js +++ b/web/dist/assets/Topic-8586b7d5.js @@ -1 +1 @@ -import{A as $,B as M,C as O,D as x,_ as z}from"./index-c7635d00.js";import{x as D}from"./@vicons-7a4ef312.js";import{d as F,H as i,c as A,b as q,r as U,e as c,f as _,k as n,w as s,q as b,A as B,x as f,Y as u,bf as h,E as j,al as H,F as Y,u as G}from"./@vue-a481fc63.js";import{o as J,M as C,j as K,e as P,O as Q,L as R,F as W,f as X,g as Z,a as ee,k as oe}from"./naive-ui-d8de3dda.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{u as ne}from"./vuex-44de225f.js";import"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=F({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=A(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":O({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":M({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return q(()=>{r.value=!1}),(e,o)=>{const w=U("router-link"),g=J,k=C,a=K,d=P,v=Q,p=R;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[B(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(D))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=F({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);j(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=A({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,x({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return q(()=>{g()}),(a,d)=>{const v=te,p=X,L=C,V=Z,N=ie,S=ee,E=oe,I=W;return c(),_("div",null,[n(v,{title:"话题"}),n(I,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(V,{type:"line",animated:"","onUpdate:value":k},H({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(L,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[B(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(E,{show:l.value},{default:s(()=>[n(S,null,{default:s(()=>[(c(!0),_(Y,null,G(r.value,y=>(c(),b(N,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Se=z(_e,[["__scopeId","data-v-1fb31ecf"]]);export{Se as default}; +import{A as $,B as M,C as O,D as x,_ as z}from"./index-fcb35ad4.js";import{x as D}from"./@vicons-7a4ef312.js";import{d as F,H as i,c as A,b as q,r as U,e as c,f as _,k as n,w as s,q as b,A as B,x as f,Y as u,bf as h,E as j,al as H,F as Y,u as G}from"./@vue-a481fc63.js";import{o as J,M as C,j as K,e as P,O as Q,L as R,F as W,f as X,g as Z,a as ee,k as oe}from"./naive-ui-d8de3dda.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as ne}from"./vuex-44de225f.js";import"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=F({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=A(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":O({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":M({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return q(()=>{r.value=!1}),(e,o)=>{const w=U("router-link"),g=J,k=C,a=K,d=P,v=Q,p=R;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[B(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(D))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=F({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);j(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=A({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,x({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return q(()=>{g()}),(a,d)=>{const v=te,p=X,L=C,V=Z,N=ie,S=ee,E=oe,I=W;return c(),_("div",null,[n(v,{title:"话题"}),n(I,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(V,{type:"line",animated:"","onUpdate:value":k},H({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(L,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[B(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(E,{show:l.value},{default:s(()=>[n(S,null,{default:s(()=>[(c(!0),_(Y,null,G(r.value,y=>(c(),b(N,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Se=z(_e,[["__scopeId","data-v-1fb31ecf"]]);export{Se as default}; diff --git a/web/dist/assets/User-bcd9f3b4.js b/web/dist/assets/User-e3580113.js similarity index 97% rename from web/dist/assets/User-bcd9f3b4.js rename to web/dist/assets/User-e3580113.js index 1459faa7..58b2b1d5 100644 --- a/web/dist/assets/User-bcd9f3b4.js +++ b/web/dist/assets/User-e3580113.js @@ -1 +1 @@ -import{_ as Re,a as He}from"./post-item.vue_vue_type_style_index_0_lang-d54eb310.js";import{_ as Ne}from"./post-skeleton-f8428500.js";import{_ as Ve}from"./whisper-a4b81d0e.js";import{_ as je}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{d as pe,H as i,e as s,q as m,w as r,j as f,k as t,A as U,x,R as Ge,c as Ee,b as Je,E as Ke,r as Ye,f as u,Y as d,bf as k,y as ce,F as $,u as T,h as _e}from"./@vue-a481fc63.js";import{u as Qe}from"./vuex-44de225f.js";import{b as Xe}from"./vue-router-e5a2430e.js";import{G as Ze,_ as me,H as ea,F as aa,e as V,I as sa,J as ta,K as la,L as na}from"./index-c7635d00.js";import{R as oa,H as ua,S as ia,b as ra,e as fe,i as ca,T as _a,F as va,a as da,j as ve,o as pa,M as ma,O as fa,k as ha,f as ga,g as wa,I as ka,G as ya}from"./naive-ui-d8de3dda.js";import{W as ba}from"./v3-infinite-loading-2c58ec2f.js";import{i as Pa,p as $a,y as de,z as Ta,v as xa,D as za,G as Ua}from"./@vicons-7a4ef312.js";import"./content-34f8522f.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Fa={class:"whisper-wrap"},Ia={class:"whisper-line"},qa={class:"whisper-line send-wrap"},Ca=pe({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(ue,{emit:O}){const y=ue,g=i(""),F=i(!1),c=()=>{O("success")},h=()=>{F.value=!0,Ze({user_id:y.user.id,greetings:g.value}).then(a=>{window.$message.success("发送成功"),F.value=!1,g.value="",c()}).catch(a=>{F.value=!1})};return(a,v)=>{const L=oa,A=ua,l=ia,I=ra,q=fe,C=ca;return s(),m(C,{show:a.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:r(()=>[f("div",Fa,[t(l,{"show-icon":!1},{default:r(()=>[U(" 发送添加朋友申请给: "),t(A,{style:{"max-width":"100%"}},{default:r(()=>[t(L,{type:"success"},{default:r(()=>[U(x(a.user.nickname)+"@"+x(a.user.username),1)]),_:1})]),_:1})]),_:1}),f("div",Ia,[t(I,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:g.value,"onUpdate:value":v[0]||(v[0]=M=>g.value=M),maxlength:"120","show-count":""},null,8,["value"])]),f("div",qa,[t(q,{strong:"",secondary:"",type:"primary",loading:F.value,onClick:h},{default:r(()=>[U(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ma=me(Ca,[["__scopeId","data-v-60be56a2"]]),Sa={key:0,class:"profile-baseinfo"},Wa={class:"avatar"},La={class:"base-info"},Oa={class:"username"},Aa={class:"userinfo"},Ba={class:"info-item"},Da={class:"info-item"},Ra={class:"userinfo"},Ha={class:"info-item"},Na={class:"info-item"},Va={key:0,class:"user-opts"},ja={key:0,class:"skeleton-wrap"},Ga={key:1},Ea={key:0,class:"empty-wrap"},Ja={key:1},Ka={key:0},Ya={key:1},Qa={key:2},Xa={key:3},Za={key:4},es={key:2},as={key:0},ss={key:1},ts={key:2},ls={key:3},ns={key:4},os={class:"load-more-wrap"},us={class:"load-more-spinner"},is=pe({__name:"User",setup(ue){const O=_a(),y=Qe(),g=Xe(),F="true".toLowerCase()==="true",c=i(!1),h=i(!1),a=Ge({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),v=i(!1),L=i(!1),A=i(!1),l=i([]),I=i([]),q=i([]),C=i([]),M=i([]),B=i([]),S=i(g.query.s||""),n=i(+g.query.p||1),p=i("post"),G=i(+g.query.p||1),E=i(1),J=i(1),K=i(1),Y=i(1),w=i(20),_=i(0),Q=i(0),X=i(0),Z=i(0),ee=i(0),ae=i(0),b=e=>{a.id=e.id,a.username=e.username,a.nickname=e.nickname,a.avatar=e.avatar,L.value=!0},he=()=>{h.value=!1,l.value=[],I.value=[],q.value=[],C.value=[],M.value=[],B.value=[],p.value="post",n.value=1,G.value=1,E.value=1,J.value=1,K.value=1,Y.value=1,_.value=0,Q.value=0,X.value=0,Z.value=0,ee.value=0,ae.value=0},ge=()=>{switch(p.value){case"post":j();break;case"comment":se();break;case"highlight":te();break;case"media":le();break;case"star":ne();break}},j=()=>{c.value=!0,V({username:S.value,style:"post",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),I.value=l.value,Q.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},se=()=>{c.value=!0,V({username:S.value,style:"comment",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),q.value=l.value,X.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},te=()=>{c.value=!0,V({username:S.value,style:"highlight",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),C.value=l.value,Z.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},le=()=>{c.value=!0,V({username:S.value,style:"media",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),M.value=l.value,ee.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},ne=()=>{c.value=!0,V({username:S.value,style:"star",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),B.value=l.value,ae.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},we=e=>{switch(p.value=e,p.value){case"post":l.value=I.value,n.value=G.value,_.value=Q.value,j();break;case"comment":l.value=q.value,n.value=E.value,_.value=X.value,se();break;case"highlight":l.value=C.value,n.value=J.value,_.value=Z.value,te();break;case"media":l.value=M.value,n.value=K.value,_.value=ee.value,le();break;case"star":l.value=B.value,n.value=Y.value,_.value=ae.value,ne();break}},D=()=>{v.value=!0,ea({username:S.value}).then(e=>{v.value=!1,a.id=e.id,a.avatar=e.avatar,a.username=e.username,a.nickname=e.nickname,a.is_admin=e.is_admin,a.is_friend=e.is_friend,a.created_on=e.created_on,a.is_following=e.is_following,a.follows=e.follows,a.followings=e.followings,a.status=e.status,ge()}).catch(e=>{v.value=!1,console.log(e)})},ke=()=>{switch(p.value){case"post":G.value=n.value,j();break;case"comment":E.value=n.value,se();break;case"highlight":J.value=n.value,te();break;case"media":K.value=n.value,le();break;case"star":Y.value=n.value,ne();break}},ye=()=>{L.value=!0},be=()=>{A.value=!0},Pe=()=>{L.value=!1},$e=()=>{A.value=!1},W=e=>()=>_e(ve,null,{default:()=>_e(e)}),Te=Ee(()=>{let e=[{label:"私信",key:"whisper",icon:W($a)}];return y.state.userInfo.is_admin&&(a.status===1?e.push({label:"禁言",key:"banned",icon:W(de)}):e.push({label:"解封",key:"deblocking",icon:W(de)})),a.is_following?e.push({label:"取消关注",key:"unfollow",icon:W(Ta)}):e.push({label:"关注",key:"follow",icon:W(xa)}),F&&(a.is_friend?e.push({label:"删除好友",key:"delete",icon:W(za)}):e.push({label:"添加朋友",key:"requesting",icon:W(Ua)})),e}),xe=e=>{switch(e){case"whisper":ye();break;case"delete":ze();break;case"requesting":be();break;case"follow":case"unfollow":Ue();break;case"banned":case"deblocking":Fe();break}},ze=()=>{O.warning({title:"删除好友",content:"将好友 “"+a.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,sa({user_id:a.id}).then(e=>{v.value=!1,a.is_friend=!1,j()}).catch(e=>{v.value=!1,console.log(e)})}})},Ue=()=>{O.success({title:"提示",content:"确定"+(a.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,a.is_following?ta({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("取消关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)}):la({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Fe=()=>{O.warning({title:"警告",content:"确定对该用户进行"+(a.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,na({id:a.id,status:a.status===1?2:1}).then(e=>{v.value=!1,a.status===1?window.$message.success("禁言成功"):window.$message.success("解封成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Ie=()=>{n.value<_.value||_.value==0?(h.value=!1,n.value++,ke()):h.value=!0};return Je(()=>{D()}),Ke(()=>({path:g.path,query:g.query}),(e,z)=>{z.path==="/u"&&e.path==="/u"&&(S.value=g.query.s||"",he(),D())}),(e,z)=>{const qe=je,Ce=pa,oe=ma,ie=Ye("router-link"),Me=fe,Se=fa,We=Ve,re=ha,R=ga,Le=wa,Oe=Ne,Ae=ka,H=Re,P=ya,N=He,Be=va,De=da;return s(),u("div",null,[t(qe,{title:"用户详情"}),t(Be,{class:"main-content-wrap profile-wrap",bordered:""},{default:r(()=>[t(re,{show:v.value},{default:r(()=>[a.id>0?(s(),u("div",Sa,[f("div",Wa,[t(Ce,{size:72,src:a.avatar},null,8,["src"])]),f("div",La,[f("div",Oa,[f("strong",null,x(a.nickname),1),f("span",null," @"+x(a.username),1),F&&k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_friend?(s(),m(oe,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:r(()=>[U(" 好友 ")]),_:1})):d("",!0),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_following?(s(),m(oe,{key:1,class:"top-tag",type:"success",size:"small",round:""},{default:r(()=>[U(" 已关注 ")]),_:1})):d("",!0),a.is_admin?(s(),m(oe,{key:2,class:"top-tag",type:"error",size:"small",round:""},{default:r(()=>[U(" 管理员 ")]),_:1})):d("",!0)]),f("div",Aa,[f("span",Ba,"UID. "+x(a.id),1),f("span",Da,x(k(aa)(a.created_on))+" 加入",1)]),f("div",Ra,[f("span",Ha,[t(ie,{onClick:z[0]||(z[0]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"follows"}}},{default:r(()=>[U(" 关注  "+x(a.follows),1)]),_:1},8,["to"])]),f("span",Na,[t(ie,{onClick:z[1]||(z[1]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"followings"}}},{default:r(()=>[U(" 粉丝  "+x(a.followings),1)]),_:1},8,["to"])])])]),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username?(s(),u("div",Va,[t(Se,{placement:"bottom-end",trigger:"click",size:"small",options:Te.value,onSelect:xe},{default:r(()=>[t(Me,{quaternary:"",circle:""},{icon:r(()=>[t(k(ve),null,{default:r(()=>[t(k(Pa))]),_:1})]),_:1})]),_:1},8,["options"])])):d("",!0)])):d("",!0),t(We,{show:L.value,user:a,onSuccess:Pe},null,8,["show","user"]),t(Ma,{show:A.value,user:a,onSuccess:$e},null,8,["show","user"])]),_:1},8,["show"]),t(Le,{class:"profile-tabs-wrap",type:"line",animated:"",value:p.value,"onUpdate:value":we},{default:r(()=>[t(R,{name:"post",tab:"泡泡"}),t(R,{name:"comment",tab:"评论"}),t(R,{name:"highlight",tab:"亮点"}),t(R,{name:"media",tab:"图文"}),t(R,{name:"star",tab:"喜欢"})]),_:1},8,["value"]),c.value&&l.value.length===0?(s(),u("div",ja,[t(Oe,{num:w.value},null,8,["num"])])):(s(),u("div",Ga,[l.value.length===0?(s(),u("div",Ea,[t(Ae,{size:"large",description:"暂无数据"})])):d("",!0),k(y).state.desktopModelShow?(s(),u("div",Ja,[p.value==="post"?(s(),u("div",Ka,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",Ya,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",Qa,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",Xa,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",Za,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)])):(s(),u("div",es,[p.value==="post"?(s(),u("div",as,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",ss,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",ts,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",ls,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",ns,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)]))]))]),_:1}),_.value>0?(s(),m(De,{key:0,justify:"center"},{default:r(()=>[t(k(ba),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:z[2]||(z[2]=o=>Ie())},{spinner:r(()=>[f("div",os,[h.value?d("",!0):(s(),m(re,{key:0,size:14})),f("span",us,x(h.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):d("",!0)])}}});const Rs=me(is,[["__scopeId","data-v-ebc19734"]]);export{Rs as default}; +import{_ as Re,a as He}from"./post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js";import{_ as Ne}from"./post-skeleton-f060289d.js";import{_ as Ve}from"./whisper-150920d0.js";import{_ as je}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{d as pe,H as i,e as s,q as m,w as r,j as f,k as t,A as U,x,R as Ge,c as Ee,b as Je,E as Ke,r as Ye,f as u,Y as d,bf as k,y as ce,F as $,u as T,h as _e}from"./@vue-a481fc63.js";import{u as Qe}from"./vuex-44de225f.js";import{b as Xe}from"./vue-router-e5a2430e.js";import{G as Ze,_ as me,H as ea,F as aa,e as V,I as sa,J as ta,K as la,L as na}from"./index-fcb35ad4.js";import{R as oa,H as ua,S as ia,b as ra,e as fe,i as ca,T as _a,F as va,a as da,j as ve,o as pa,M as ma,O as fa,k as ha,f as ga,g as wa,I as ka,G as ya}from"./naive-ui-d8de3dda.js";import{W as ba}from"./v3-infinite-loading-2c58ec2f.js";import{i as Pa,p as $a,y as de,z as Ta,v as xa,D as za,G as Ua}from"./@vicons-7a4ef312.js";import"./content-d73d8961.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Fa={class:"whisper-wrap"},Ia={class:"whisper-line"},qa={class:"whisper-line send-wrap"},Ca=pe({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(ue,{emit:O}){const y=ue,g=i(""),F=i(!1),c=()=>{O("success")},h=()=>{F.value=!0,Ze({user_id:y.user.id,greetings:g.value}).then(a=>{window.$message.success("发送成功"),F.value=!1,g.value="",c()}).catch(a=>{F.value=!1})};return(a,v)=>{const L=oa,A=ua,l=ia,I=ra,q=fe,C=ca;return s(),m(C,{show:a.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:r(()=>[f("div",Fa,[t(l,{"show-icon":!1},{default:r(()=>[U(" 发送添加朋友申请给: "),t(A,{style:{"max-width":"100%"}},{default:r(()=>[t(L,{type:"success"},{default:r(()=>[U(x(a.user.nickname)+"@"+x(a.user.username),1)]),_:1})]),_:1})]),_:1}),f("div",Ia,[t(I,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:g.value,"onUpdate:value":v[0]||(v[0]=M=>g.value=M),maxlength:"120","show-count":""},null,8,["value"])]),f("div",qa,[t(q,{strong:"",secondary:"",type:"primary",loading:F.value,onClick:h},{default:r(()=>[U(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ma=me(Ca,[["__scopeId","data-v-60be56a2"]]),Sa={key:0,class:"profile-baseinfo"},Wa={class:"avatar"},La={class:"base-info"},Oa={class:"username"},Aa={class:"userinfo"},Ba={class:"info-item"},Da={class:"info-item"},Ra={class:"userinfo"},Ha={class:"info-item"},Na={class:"info-item"},Va={key:0,class:"user-opts"},ja={key:0,class:"skeleton-wrap"},Ga={key:1},Ea={key:0,class:"empty-wrap"},Ja={key:1},Ka={key:0},Ya={key:1},Qa={key:2},Xa={key:3},Za={key:4},es={key:2},as={key:0},ss={key:1},ts={key:2},ls={key:3},ns={key:4},os={class:"load-more-wrap"},us={class:"load-more-spinner"},is=pe({__name:"User",setup(ue){const O=_a(),y=Qe(),g=Xe(),F="true".toLowerCase()==="true",c=i(!1),h=i(!1),a=Ge({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),v=i(!1),L=i(!1),A=i(!1),l=i([]),I=i([]),q=i([]),C=i([]),M=i([]),B=i([]),S=i(g.query.s||""),n=i(+g.query.p||1),p=i("post"),G=i(+g.query.p||1),E=i(1),J=i(1),K=i(1),Y=i(1),w=i(20),_=i(0),Q=i(0),X=i(0),Z=i(0),ee=i(0),ae=i(0),b=e=>{a.id=e.id,a.username=e.username,a.nickname=e.nickname,a.avatar=e.avatar,L.value=!0},he=()=>{h.value=!1,l.value=[],I.value=[],q.value=[],C.value=[],M.value=[],B.value=[],p.value="post",n.value=1,G.value=1,E.value=1,J.value=1,K.value=1,Y.value=1,_.value=0,Q.value=0,X.value=0,Z.value=0,ee.value=0,ae.value=0},ge=()=>{switch(p.value){case"post":j();break;case"comment":se();break;case"highlight":te();break;case"media":le();break;case"star":ne();break}},j=()=>{c.value=!0,V({username:S.value,style:"post",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),I.value=l.value,Q.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},se=()=>{c.value=!0,V({username:S.value,style:"comment",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),q.value=l.value,X.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},te=()=>{c.value=!0,V({username:S.value,style:"highlight",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),C.value=l.value,Z.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},le=()=>{c.value=!0,V({username:S.value,style:"media",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),M.value=l.value,ee.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},ne=()=>{c.value=!0,V({username:S.value,style:"star",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),B.value=l.value,ae.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},we=e=>{switch(p.value=e,p.value){case"post":l.value=I.value,n.value=G.value,_.value=Q.value,j();break;case"comment":l.value=q.value,n.value=E.value,_.value=X.value,se();break;case"highlight":l.value=C.value,n.value=J.value,_.value=Z.value,te();break;case"media":l.value=M.value,n.value=K.value,_.value=ee.value,le();break;case"star":l.value=B.value,n.value=Y.value,_.value=ae.value,ne();break}},D=()=>{v.value=!0,ea({username:S.value}).then(e=>{v.value=!1,a.id=e.id,a.avatar=e.avatar,a.username=e.username,a.nickname=e.nickname,a.is_admin=e.is_admin,a.is_friend=e.is_friend,a.created_on=e.created_on,a.is_following=e.is_following,a.follows=e.follows,a.followings=e.followings,a.status=e.status,ge()}).catch(e=>{v.value=!1,console.log(e)})},ke=()=>{switch(p.value){case"post":G.value=n.value,j();break;case"comment":E.value=n.value,se();break;case"highlight":J.value=n.value,te();break;case"media":K.value=n.value,le();break;case"star":Y.value=n.value,ne();break}},ye=()=>{L.value=!0},be=()=>{A.value=!0},Pe=()=>{L.value=!1},$e=()=>{A.value=!1},W=e=>()=>_e(ve,null,{default:()=>_e(e)}),Te=Ee(()=>{let e=[{label:"私信",key:"whisper",icon:W($a)}];return y.state.userInfo.is_admin&&(a.status===1?e.push({label:"禁言",key:"banned",icon:W(de)}):e.push({label:"解封",key:"deblocking",icon:W(de)})),a.is_following?e.push({label:"取消关注",key:"unfollow",icon:W(Ta)}):e.push({label:"关注",key:"follow",icon:W(xa)}),F&&(a.is_friend?e.push({label:"删除好友",key:"delete",icon:W(za)}):e.push({label:"添加朋友",key:"requesting",icon:W(Ua)})),e}),xe=e=>{switch(e){case"whisper":ye();break;case"delete":ze();break;case"requesting":be();break;case"follow":case"unfollow":Ue();break;case"banned":case"deblocking":Fe();break}},ze=()=>{O.warning({title:"删除好友",content:"将好友 “"+a.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,sa({user_id:a.id}).then(e=>{v.value=!1,a.is_friend=!1,j()}).catch(e=>{v.value=!1,console.log(e)})}})},Ue=()=>{O.success({title:"提示",content:"确定"+(a.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,a.is_following?ta({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("取消关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)}):la({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Fe=()=>{O.warning({title:"警告",content:"确定对该用户进行"+(a.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,na({id:a.id,status:a.status===1?2:1}).then(e=>{v.value=!1,a.status===1?window.$message.success("禁言成功"):window.$message.success("解封成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Ie=()=>{n.value<_.value||_.value==0?(h.value=!1,n.value++,ke()):h.value=!0};return Je(()=>{D()}),Ke(()=>({path:g.path,query:g.query}),(e,z)=>{z.path==="/u"&&e.path==="/u"&&(S.value=g.query.s||"",he(),D())}),(e,z)=>{const qe=je,Ce=pa,oe=ma,ie=Ye("router-link"),Me=fe,Se=fa,We=Ve,re=ha,R=ga,Le=wa,Oe=Ne,Ae=ka,H=Re,P=ya,N=He,Be=va,De=da;return s(),u("div",null,[t(qe,{title:"用户详情"}),t(Be,{class:"main-content-wrap profile-wrap",bordered:""},{default:r(()=>[t(re,{show:v.value},{default:r(()=>[a.id>0?(s(),u("div",Sa,[f("div",Wa,[t(Ce,{size:72,src:a.avatar},null,8,["src"])]),f("div",La,[f("div",Oa,[f("strong",null,x(a.nickname),1),f("span",null," @"+x(a.username),1),F&&k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_friend?(s(),m(oe,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:r(()=>[U(" 好友 ")]),_:1})):d("",!0),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_following?(s(),m(oe,{key:1,class:"top-tag",type:"success",size:"small",round:""},{default:r(()=>[U(" 已关注 ")]),_:1})):d("",!0),a.is_admin?(s(),m(oe,{key:2,class:"top-tag",type:"error",size:"small",round:""},{default:r(()=>[U(" 管理员 ")]),_:1})):d("",!0)]),f("div",Aa,[f("span",Ba,"UID. "+x(a.id),1),f("span",Da,x(k(aa)(a.created_on))+" 加入",1)]),f("div",Ra,[f("span",Ha,[t(ie,{onClick:z[0]||(z[0]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"follows"}}},{default:r(()=>[U(" 关注  "+x(a.follows),1)]),_:1},8,["to"])]),f("span",Na,[t(ie,{onClick:z[1]||(z[1]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"followings"}}},{default:r(()=>[U(" 粉丝  "+x(a.followings),1)]),_:1},8,["to"])])])]),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username?(s(),u("div",Va,[t(Se,{placement:"bottom-end",trigger:"click",size:"small",options:Te.value,onSelect:xe},{default:r(()=>[t(Me,{quaternary:"",circle:""},{icon:r(()=>[t(k(ve),null,{default:r(()=>[t(k(Pa))]),_:1})]),_:1})]),_:1},8,["options"])])):d("",!0)])):d("",!0),t(We,{show:L.value,user:a,onSuccess:Pe},null,8,["show","user"]),t(Ma,{show:A.value,user:a,onSuccess:$e},null,8,["show","user"])]),_:1},8,["show"]),t(Le,{class:"profile-tabs-wrap",type:"line",animated:"",value:p.value,"onUpdate:value":we},{default:r(()=>[t(R,{name:"post",tab:"泡泡"}),t(R,{name:"comment",tab:"评论"}),t(R,{name:"highlight",tab:"亮点"}),t(R,{name:"media",tab:"图文"}),t(R,{name:"star",tab:"喜欢"})]),_:1},8,["value"]),c.value&&l.value.length===0?(s(),u("div",ja,[t(Oe,{num:w.value},null,8,["num"])])):(s(),u("div",Ga,[l.value.length===0?(s(),u("div",Ea,[t(Ae,{size:"large",description:"暂无数据"})])):d("",!0),k(y).state.desktopModelShow?(s(),u("div",Ja,[p.value==="post"?(s(),u("div",Ka,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",Ya,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",Qa,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",Xa,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",Za,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)])):(s(),u("div",es,[p.value==="post"?(s(),u("div",as,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",ss,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",ts,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",ls,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",ns,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)]))]))]),_:1}),_.value>0?(s(),m(De,{key:0,justify:"center"},{default:r(()=>[t(k(ba),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:z[2]||(z[2]=o=>Ie())},{spinner:r(()=>[f("div",os,[h.value?d("",!0):(s(),m(re,{key:0,size:14})),f("span",us,x(h.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):d("",!0)])}}});const Rs=me(is,[["__scopeId","data-v-ebc19734"]]);export{Rs as default}; diff --git a/web/dist/assets/Wallet-22a26ca6.js b/web/dist/assets/Wallet-135fd43e.js similarity index 95% rename from web/dist/assets/Wallet-22a26ca6.js rename to web/dist/assets/Wallet-135fd43e.js index 49a73368..98e9b167 100644 --- a/web/dist/assets/Wallet-22a26ca6.js +++ b/web/dist/assets/Wallet-135fd43e.js @@ -1 +1 @@ -import{_ as G}from"./post-skeleton-f8428500.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-f1df2083.js";import{d as K,H as c,b as J,f as _,k as e,w as o,e as a,bf as y,Y as w,j as n,A as k,F as q,u as z,O as ee,D as te,x as r,q as N,l as oe,y as ne,$ as ae,a0 as se}from"./@vue-a481fc63.js";import{u as le}from"./vuex-44de225f.js";import{b as ce}from"./vue-router-e5a2430e.js";import{b as ie}from"./qrcode-9719fc56.js";import{X as _e,Y as re,Z as ue,$ as pe,E as de,_ as me}from"./index-c7635d00.js";import{X as ge}from"./@vicons-7a4ef312.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,Q as be,I as xe,j as Ce,l as Ie,h as Se,G as Ae}from"./naive-ui-d8de3dda.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const B=m=>(ae("data-v-870bd246"),m=m(),se(),m),Re={class:"balance-wrap"},$e={class:"balance-line"},qe={class:"balance-opts"},ze={key:0,class:"pagination-wrap"},Ne={key:0,class:"skeleton-wrap"},Be={key:1},Ee={key:0,class:"empty-wrap"},Fe={class:"bill-line"},Oe={key:0,class:"amount-options"},Pe={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},We=B(()=>n("canvas",{id:"qrcode-container"},null,-1)),De={class:"pay-tips"},Le={class:"pay-sub-tips"},Ue=B(()=>n("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ve=K({__name:"Wallet",setup(m){const i=le(),E=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+E.query.p||1),C=c(20),I=c(0),F=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),A=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},O=s=>{x.value=s,A()},R=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),A()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},P=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",R())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},W=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{R()}),(s,l)=>{const S=H,d=fe,D=ye,f=we,$=ke,L=be,U=G,V=xe,M=Ae,Y=ve,j=Ce,Q=Ie,X=Se,Z=he;return a(),_("div",null,[e(S,{title:"钱包"}),e(Y,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(a(),_("div",ze,[e(L,{page:x.value,"onUpdate:page":O,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[n("div",Re,[n("div",$e,[e(D,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),n("div",qe,[e($,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:P},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:W},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(a(),_("div",Ne,[e(U,{num:C.value},null,8,["num"])])):(a(),_("div",Be,[b.value.length===0?(a(),_("div",Ee,[e(V,{size:"large",description:"暂无数据"})])):w("",!0),(a(!0),_(q,null,z(b.value,t=>(a(),N(M,{key:t.id},{default:o(()=>[n("div",Fe,[n("div",null,"NO."+r(t.id),1),n("div",null,r(t.reason),1),n("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),n("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(Z,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(X,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(a(),_("div",Oe,[e($,{align:"baseline"},{default:o(()=>[(a(!0),_(q,null,z(F.value,t=>(a(),N(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ne(Me=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(a(),_("div",Pe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(n("div",Te,[We,n("div",De," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),n("div",Le,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ue])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const ft=me(Ve,[["__scopeId","data-v-870bd246"]]);export{ft as default}; +import{_ as G}from"./post-skeleton-f060289d.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{d as K,H as c,b as J,f as _,k as e,w as o,e as a,bf as y,Y as w,j as n,A as k,F as q,u as z,O as ee,D as te,x as r,q as N,l as oe,y as ne,$ as ae,a0 as se}from"./@vue-a481fc63.js";import{u as le}from"./vuex-44de225f.js";import{b as ce}from"./vue-router-e5a2430e.js";import{b as ie}from"./qrcode-9719fc56.js";import{X as _e,Y as re,Z as ue,$ as pe,E as de,_ as me}from"./index-fcb35ad4.js";import{X as ge}from"./@vicons-7a4ef312.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,Q as be,I as xe,j as Ce,l as Ie,h as Se,G as Ae}from"./naive-ui-d8de3dda.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const B=m=>(ae("data-v-870bd246"),m=m(),se(),m),Re={class:"balance-wrap"},$e={class:"balance-line"},qe={class:"balance-opts"},ze={key:0,class:"pagination-wrap"},Ne={key:0,class:"skeleton-wrap"},Be={key:1},Ee={key:0,class:"empty-wrap"},Fe={class:"bill-line"},Oe={key:0,class:"amount-options"},Pe={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},We=B(()=>n("canvas",{id:"qrcode-container"},null,-1)),De={class:"pay-tips"},Le={class:"pay-sub-tips"},Ue=B(()=>n("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ve=K({__name:"Wallet",setup(m){const i=le(),E=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+E.query.p||1),C=c(20),I=c(0),F=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),A=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},O=s=>{x.value=s,A()},R=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),A()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},P=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",R())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},W=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{R()}),(s,l)=>{const S=H,d=fe,D=ye,f=we,$=ke,L=be,U=G,V=xe,M=Ae,Y=ve,j=Ce,Q=Ie,X=Se,Z=he;return a(),_("div",null,[e(S,{title:"钱包"}),e(Y,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(a(),_("div",ze,[e(L,{page:x.value,"onUpdate:page":O,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[n("div",Re,[n("div",$e,[e(D,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),n("div",qe,[e($,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:P},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:W},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(a(),_("div",Ne,[e(U,{num:C.value},null,8,["num"])])):(a(),_("div",Be,[b.value.length===0?(a(),_("div",Ee,[e(V,{size:"large",description:"暂无数据"})])):w("",!0),(a(!0),_(q,null,z(b.value,t=>(a(),N(M,{key:t.id},{default:o(()=>[n("div",Fe,[n("div",null,"NO."+r(t.id),1),n("div",null,r(t.reason),1),n("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),n("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(Z,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(X,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(a(),_("div",Oe,[e($,{align:"baseline"},{default:o(()=>[(a(!0),_(q,null,z(F.value,t=>(a(),N(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ne(Me=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(a(),_("div",Pe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(n("div",Te,[We,n("div",De," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),n("div",Le,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ue])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const ft=me(Ve,[["__scopeId","data-v-870bd246"]]);export{ft as default}; diff --git a/web/dist/assets/content-34f8522f.js b/web/dist/assets/content-d73d8961.js similarity index 98% rename from web/dist/assets/content-34f8522f.js rename to web/dist/assets/content-d73d8961.js index 84bffbac..60a99108 100644 --- a/web/dist/assets/content-34f8522f.js +++ b/web/dist/assets/content-d73d8961.js @@ -1 +1 @@ -import{d as h,e,f as r,F as a,u as m,k as s,w as o,bf as c,j as C,y as k,x as I,q as d,Y as g,H as j,A as N,h as b}from"./@vue-a481fc63.js";import{R as V,U as T}from"./@vicons-7a4ef312.js";import{j as $,V as A,W as B,m as U,X as z,e as F,i as L}from"./naive-ui-d8de3dda.js";import{_ as D,S as R,T as M}from"./index-c7635d00.js";import{e as O}from"./paopao-video-player-2fe58954.js";const P={class:"link-wrap"},S={class:"link-txt-wrap"},q=["href"],H={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",P,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(V))]),_:1}),C("div",S,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",H,I(n.content),1)],8,q)])]))),128))])}}});const ot=D(W,[["__scopeId","data-v-36eef76b"]]),X={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=A,n=B;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(O),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=U,_=A,f=B,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},G=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),R({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{M({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=F,i=L;return e(),r("div",Z,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(T))]),_:1})]),default:o(()=>[N(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=D(G,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; +import{d as h,e,f as r,F as a,u as m,k as s,w as o,bf as c,j as C,y as k,x as I,q as d,Y as g,H as j,A as N,h as b}from"./@vue-a481fc63.js";import{R as V,U as T}from"./@vicons-7a4ef312.js";import{j as $,V as A,W as B,m as U,X as z,e as F,i as L}from"./naive-ui-d8de3dda.js";import{_ as D,S as R,T as M}from"./index-fcb35ad4.js";import{e as O}from"./paopao-video-player-2fe58954.js";const P={class:"link-wrap"},S={class:"link-txt-wrap"},q=["href"],H={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",P,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(V))]),_:1}),C("div",S,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",H,I(n.content),1)],8,q)])]))),128))])}}});const ot=D(W,[["__scopeId","data-v-36eef76b"]]),X={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=A,n=B;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(O),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=U,_=A,f=B,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},G=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),R({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{M({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=F,i=L;return e(),r("div",Z,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(T))]),_:1})]),default:o(()=>[N(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=D(G,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; diff --git a/web/dist/assets/index-c7635d00.js b/web/dist/assets/index-fcb35ad4.js similarity index 90% rename from web/dist/assets/index-c7635d00.js rename to web/dist/assets/index-fcb35ad4.js index 66173a3b..ce405550 100644 --- a/web/dist/assets/index-c7635d00.js +++ b/web/dist/assets/index-fcb35ad4.js @@ -1 +1 @@ -import{d as Y,H as k,R as oe,b as Z,e as w,q as K,w as a,j as y,k as s,f as E,A as U,Z as q,y as N,Y as M,bf as f,c as J,E as Q,r as me,F as se,u as ne,x as A,h as P,a5 as Pe,s as re,l as Oe,ag as Le}from"./@vue-a481fc63.js";import{c as Te,a as Ae,u as pe,b as Ee}from"./vue-router-e5a2430e.js";import{c as Ie,u as B}from"./vuex-44de225f.js";import{a as Re}from"./axios-4a70c6fc.js";import{_ as Ce,N as $e,a as _e,b as he,c as Me,d as Se,e as ge,f as Ue,g as De,h as fe,i as xe,j as W,k as qe,u as Ne,l as Ke,m as Fe,n as Ve,o as ze,p as He,q as We,r as Ye,s as Be,t as je}from"./naive-ui-d8de3dda.js";import{h as D}from"./moment-2ab8298d.js";import{S as Ge,M as Qe,L as Ze,C as Je,B as Xe,P as et,W as tt,a as ot,H as ae,b as le,c as ue}from"./@vicons-7a4ef312.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))c(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function r(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function c(i){if(i.ep)return;i.ep=!0;const n=r(i);fetch(i.href,n)}})();const st="modulepreload",nt=function(e){return"/"+e},ie={},T=function(t,r,c){if(!r||r.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(r.map(n=>{if(n=nt(n),n in ie)return;ie[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!c)for(let b=i.length-1;b>=0;b--){const _=i[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":st,m||(v.as="script",v.crossOrigin=""),v.href=n,document.head.appendChild(v),m)return new Promise((b,_)=>{v.addEventListener("load",b),v.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},rt=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>T(()=>import("./Home-5c5e61eb.js"),["assets/Home-5c5e61eb.js","assets/whisper-a4b81d0e.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js","assets/content-34f8522f.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/IEnum-5453a777.js","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/@opentiny-d73a2d67.js","assets/vue-1e3b54ec.js","assets/xss-a5544f63.js","assets/cssfilter-af71ba68.js","assets/@opentiny-0f942bd4.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Home-63775b21.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"泡泡详情"},component:()=>T(()=>import("./Post-c25a0d58.js"),["assets/Post-c25a0d58.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/IEnum-5453a777.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-34f8522f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vue-router-e5a2430e.js","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/@babel-725317a4.js","assets/whisper-a4b81d0e.js","assets/whisper-61451957.css","assets/copy-to-clipboard-4ef7d3eb.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Post-1ac7281c.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>T(()=>import("./Topic-b95723bc.js"),["assets/Topic-b95723bc.js","assets/@vicons-7a4ef312.js","assets/@vue-a481fc63.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Topic-384e019e.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>T(()=>import("./Anouncement-80f0b2c2.js"),["assets/Anouncement-80f0b2c2.js","assets/post-skeleton-f8428500.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>T(()=>import("./Profile-79842d31.js"),["assets/Profile-79842d31.js","assets/whisper-a4b81d0e.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js","assets/content-34f8522f.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Profile-3ffb7be9.css","assets/vfonts-7afd136d.css"])},{path:"/u",name:"user",meta:{title:"用户详情"},component:()=>T(()=>import("./User-bcd9f3b4.js"),["assets/User-bcd9f3b4.js","assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js","assets/content-34f8522f.js","assets/@vue-a481fc63.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/whisper-a4b81d0e.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/User-b21ba7c9.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>T(()=>import("./Messages-d38466e3.js"),["assets/Messages-d38466e3.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-a4b81d0e.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Messages-3c6066fb.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>T(()=>import("./Collection-942eb9b3.js"),["assets/Collection-942eb9b3.js","assets/whisper-a4b81d0e.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js","assets/content-34f8522f.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Collection-5c3a44e2.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>T(()=>import("./Contacts-e743465d.js"),["assets/Contacts-e743465d.js","assets/whisper-a4b81d0e.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/@vicons-7a4ef312.js","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Contacts-7fa3e0d6.css","assets/vfonts-7afd136d.css"])},{path:"/following",name:"following",meta:{title:"关注"},component:()=>T(()=>import("./Following-7bf27bed.js"),["assets/Following-7bf27bed.js","assets/whisper-a4b81d0e.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/post-skeleton-f8428500.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Following-6aa7d36c.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>T(()=>import("./Wallet-22a26ca6.js"),["assets/Wallet-22a26ca6.js","assets/post-skeleton-f8428500.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>T(()=>import("./Setting-af3630fe.js"),["assets/Setting-af3630fe.js","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>T(()=>import("./404-a356d59e.js"),["assets/404-a356d59e.js","assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],ve=Te({history:Ae(),routes:rt});ve.beforeEach((e,t,r)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,r()});const at=Ie({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:"",created_on:0,follows:0,followings:0,is_admin:!1}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:"",created_on:0,follows:0,followings:0,is_admin:!1},e.userLogined=!1}},actions:{},modules:{}}),X=Re.create({baseURL:"",timeout:3e4});X.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));X.interceptors.response.use(e=>{const{data:t={},code:r=0}=(e==null?void 0:e.data)||{};if(+r==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var r;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((r=t==null?void 0:t.data)==null?void 0:r.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return X(e)}const ce=e=>o({method:"post",url:"/v1/auth/login",data:e}),lt=e=>o({method:"post",url:"/v1/auth/register",data:e}),G=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),ut={class:"auth-wrap"},it={key:0},ct=Y({__name:"auth",setup(e){const t=k("true".toLowerCase()==="true"),r=B(),c=k(!1),i=k(),n=oe({username:"",password:""}),m=k(),d=oe({username:"",password:"",repassword:""}),S={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},v=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=i.value)==null||u.validate(I=>{I||(c.value=!0,ce({username:n.username,password:n.password}).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("登录成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),r.commit("refresh"),n.username="",n.password=""}).catch(h=>{c.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(I=>{I||(c.value=!0,lt({username:d.username,password:d.password}).then(h=>ce({username:d.username,password:d.password})).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("注册成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(h=>{c.value=!1}))})};return Z(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?G(_).then(u=>{r.commit("updateUserinfo",u),r.commit("triggerAuth",!1)}).catch(u=>{r.commit("userLogout")}):r.commit("userLogout")}),(_,u)=>{const I=Ce,h=$e,R=_e,C=he,O=Me,x=Se,l=ge,L=Ue,F=De,H=fe,V=xe;return w(),K(V,{show:f(r).state.authModalShow,"onUpdate:show":u[7]||(u[7]=p=>f(r).state.authModalShow=p),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[y("div",ut,[s(H,{bordered:!1},{default:a(()=>[t.value?M("",!0):(w(),E("div",it,[s(R,{justify:"center"},{default:a(()=>[s(h,null,{default:a(()=>[s(I,{type:"success"},{default:a(()=>[U("账号登录")]),_:1})]),_:1})]),_:1}),s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[0]||(u[0]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])])),t.value?(w(),K(F,{key:1,"default-value":f(r).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(L,{name:"signin",tab:"登录"},{default:a(()=>[s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[2]||(u[2]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(L,{name:"signup",tab:"注册"},{default:a(()=>[s(x,{ref_key:"registerRef",ref:m,model:d,rules:S},{default:a(()=>[s(O,{label:"用户名",path:"username"},{default:a(()=>[s(C,{value:d.username,"onUpdate:value":u[4]||(u[4]=p=>d.username=p),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=p=>d.password=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"重复密码",path:"repassword"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=p=>d.repassword=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:b},{default:a(()=>[U(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const we=(e,t)=>{const r=e.__vccOpts||e;for(const[c,i]of t)r[c]=i;return r},dt=we(ct,[["__scopeId","data-v-053dfa44"]]),io=e=>o({method:"get",url:"/v1/posts",params:e}),mt=e=>o({method:"get",url:"/v1/tags",params:e}),co=e=>o({method:"get",url:"/v1/post",params:e}),mo=e=>o({method:"get",url:"/v1/post/star",params:e}),po=e=>o({method:"post",url:"/v1/post/star",data:e}),_o=e=>o({method:"get",url:"/v1/post/collection",params:e}),ho=e=>o({method:"post",url:"/v1/post/collection",data:e}),go=e=>o({method:"get",url:"/v1/post/comments",params:e}),fo=e=>o({method:"get",url:"/v1/user/contacts",params:e}),vo=e=>o({method:"post",url:"/v1/post",data:e}),wo=e=>o({method:"delete",url:"/v1/post",data:e}),yo=e=>o({method:"post",url:"/v1/post/lock",data:e}),bo=e=>o({method:"post",url:"/v1/post/stick",data:e}),ko=e=>o({method:"post",url:"/v1/post/highlight",data:e}),Po=e=>o({method:"post",url:"/v1/post/visibility",data:e}),Oo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),Lo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),To=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),Ao=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),Eo=e=>o({method:"post",url:"/v1/post/comment",data:e}),Io=e=>o({method:"delete",url:"/v1/post/comment",data:e}),Ro=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),Co=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),$o=e=>o({method:"post",url:"/v1/topic/stick",data:e}),Mo=e=>o({method:"post",url:"/v1/topic/follow",data:e}),So=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),Uo=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Do=e=>o({method:"post",url:"/v1/captcha",data:e}),xo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),qo=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),No=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ko=e=>o({method:"post",url:"/v1/user/follow",data:e}),Fo=e=>o({method:"post",url:"/v1/user/unfollow",data:e}),Vo=e=>o({method:"get",url:"/v1/user/follows",params:e}),zo=e=>o({method:"get",url:"/v1/user/followings",params:e}),Ho=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Wo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Yo=e=>o({method:"post",url:"/v1/user/phone",data:e}),Bo=e=>o({method:"post",url:"/v1/user/activate",data:e}),jo=e=>o({method:"post",url:"/v1/user/password",data:e}),Go=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Qo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),de=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Zo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Jo=e=>o({method:"post",url:"/v1/user/message/read",data:e}),Xo=e=>o({method:"get",url:"/v1/user/collections",params:e}),es=e=>o({method:"get",url:"/v1/user/profile",params:e}),ts=e=>o({method:"get",url:"/v1/user/posts",params:e}),os=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),ss=e=>o({method:"post",url:"/v1/user/recharge",data:e}),ns=e=>o({method:"get",url:"/v1/user/recharge",params:e}),rs=e=>o({method:"get",url:"/v1/suggest/users",params:e}),as=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),ls=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),us=e=>o({method:"get",url:"/v1/attachment",params:e}),is=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),pt=()=>o({method:"get",url:"/v1/admin/site/status"});D.locale("zh-cn");const _t=e=>D.unix(e).fromNow(),cs=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()},ds=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD"):t.fromNow()},ms=e=>D.unix(e).utc(!0).format("YYYY年MM月"),ht={key:0,class:"rightbar-wrap"},gt={class:"search-wrap"},ft={class:"post-num"},vt={class:"post-num"},wt={class:"copyright"},yt=["href"],bt=["href"],kt={class:"site-info-item"},Pt=Y({__name:"rightbar",setup(e){const t=k([]),r=k([]),c=k(!1),i=k(""),n=B(),m=pe(),d=k(0),S=k(0),v=k(0),b=k(0),_=k(null),u="2023 paopao.info",I="Roc's Me",h="",R="泡泡(PaoPao)开源社区",C="https://www.paopao.info",O=+"6",x=+"12",l=()=>{pt().then(g=>{d.value=g.register_user_count,S.value=g.online_user_count,v.value=g.history_max_online,b.value=g.server_up_time}).catch(g=>{}),p.disconnect()},L=()=>{c.value=!0,mt({type:"hot_extral",num:x,extral_num:O}).then(g=>{t.value=g.topics,r.value=g.extral_topics??[],V.value=!0,c.value=!1}).catch(g=>{c.value=!1})},F=g=>g>=1e3?(g/1e3).toFixed(1)+"k":g,H=()=>{m.push({name:"home",query:{q:i.value}})},V=J({get:()=>n.state.userLogined&&r.value.length!==0,set:g=>{}});Q(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(g,z)=>{(g.refreshTopicFollow!==z.refreshTopicFollow||g.userLogined)&&L(),n.state.userInfo.is_admin&&l()});const p=new IntersectionObserver(g=>{g.forEach(z=>{z.isIntersecting&&l()})},{root:null,rootMargin:"0px",threshold:1});return Z(()=>{_.value&&p.observe(_.value),L()}),(g,z)=>{const ye=W,be=he,ee=me("router-link"),te=qe,j=fe,ke=_e;return f(n).state.collapsedRight?M("",!0):(w(),E("div",ht,[y("div",gt,[s(be,{round:"",clearable:"",placeholder:"搜一搜...",value:i.value,"onUpdate:value":z[0]||(z[0]=$=>i.value=$),onKeyup:q(N(H,["prevent"]),["enter"])},{prefix:a(()=>[s(ye,{component:f(Ge)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),V.value?(w(),K(j,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(r.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",ft,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(j,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(t.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",vt,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(j,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[y("div",wt,"© "+A(f(u)),1),y("div",null,[s(ke,null,{default:a(()=>[y("a",{href:f(h),target:"_blank",class:"hash-link"},A(f(I)),9,yt),y("a",{href:f(C),target:"_blank",class:"hash-link"},A(f(R)),9,bt)]),_:1})])]),_:1}),f(n).state.userInfo.is_admin?(w(),E("div",{key:1,class:"site-info",ref_key:"userInfoElement",ref:_},[y("span",kt,A(d.value)+" 注册用户,"+A(S.value)+" 人在线,最高在线 "+A(v.value)+" 人,站点上线于 "+A(f(_t)(b.value)),1)],512)):M("",!0)]))}}});const Ot=we(Pt,[["__scopeId","data-v-0a6cd0b6"]]),Lt="/assets/logo-52afee68.png",Tt={class:"sidebar-wrap"},At={class:"logo-wrap"},Et={key:0,class:"user-wrap"},It={class:"user-info"},Rt={class:"nickname"},Ct={class:"nickname-txt"},$t={class:"username"},Mt={class:"user-mini-wrap"},St={key:1,class:"user-wrap"},Ut={key:0,class:"login-only-wrap"},Dt={key:1,class:"login-wrap"},xt=Y({__name:"sidebar",setup(e){const t=B(),r=Ee(),c=pe(),i=k(!1),n=k(r.name||""),m=k(),d="true".toLowerCase()==="true",S="false".toLowerCase()==="true",v="false".toLocaleLowerCase()==="true",b=k("true".toLowerCase()==="true"),_=+"5000";Q(r,()=>{n.value=r.name}),Q(t.state,()=>{t.state.userInfo.id>0?m.value||(de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)}),m.value=setInterval(()=>{de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)})},_)):m.value&&clearInterval(m.value)}),Z(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const u=J(()=>{const l=[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}];return S&&l.push({label:"公告",key:"anouncement",icon:()=>P(Qe),href:"/anouncement"}),l.push({label:"主页",key:"profile",icon:()=>P(Ze),href:"/profile"}),l.push({label:"消息",key:"messages",icon:()=>P(Je),href:"/messages"}),l.push({label:"收藏",key:"collection",icon:()=>P(Xe),href:"/collection"}),d&&l.push({label:"好友",key:"contacts",icon:()=>P(et),href:"/contacts"}),v&&l.push({label:"钱包",key:"wallet",icon:()=>P(tt),href:"/wallet"}),l.push({label:"设置",key:"setting",icon:()=>P(ot),href:"/setting"}),t.state.userInfo.id>0?l:[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}]}),I=l=>"href"in l?P("div",{},l.label):l.label,h=l=>l.key==="messages"?P(Ke,{dot:!0,show:i.value,processing:!0},{default:()=>P(W,{color:l.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:l.icon})}):P(W,null,{default:l.icon}),R=(l,L={})=>{n.value=l,c.push({name:l,query:{t:new Date().getTime()}})},C=()=>{r.path==="/"&&t.commit("refresh"),R("home")},O=l=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",l)},x=()=>{t.commit("userLogout"),t.commit("refresh"),C()};return window.$store=t,window.$message=Ne(),(l,L)=>{const F=Fe,H=Ve,V=ze,p=ge;return w(),E("div",Tt,[y("div",At,[s(F,{class:"logo-img",width:"36",src:f(Lt),"preview-disabled":!0,onClick:C},null,8,["src"])]),s(H,{accordion:!0,"icon-size":24,options:u.value,"render-label":I,"render-icon":h,value:n.value,"onUpdate:value":R},null,8,["options","value"]),f(t).state.userInfo.id>0?(w(),E("div",Et,[s(V,{class:"user-avatar",round:"",size:34,src:f(t).state.userInfo.avatar},null,8,["src"]),y("div",It,[y("div",Rt,[y("span",Ct,A(f(t).state.userInfo.nickname),1),s(p,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:x},{icon:a(()=>[s(f(W),null,{default:a(()=>[s(f(ue))]),_:1})]),_:1})]),y("div",$t,"@"+A(f(t).state.userInfo.username),1)]),y("div",Mt,[s(p,{class:"logout",quaternary:"",circle:"",onClick:x},{icon:a(()=>[s(f(W),{size:24},{default:a(()=>[s(f(ue))]),_:1})]),_:1})])])):(w(),E("div",St,[b.value?M("",!0):(w(),E("div",Ut,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[0]||(L[0]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1})])),b.value?(w(),E("div",Dt,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[1]||(L[1]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1}),s(p,{strong:"",secondary:"",round:"",type:"info",onClick:L[2]||(L[2]=g=>O("signup"))},{default:a(()=>[U(" 注册 ")]),_:1})])):M("",!0)]))])}}});const qt={"has-sider":"",class:"main-wrap",position:"static"},Nt={key:0},Kt={class:"content-wrap"},Ft=Y({__name:"App",setup(e){const t=B(),r=J(()=>t.state.theme==="dark"?We:null);return(c,i)=>{const n=xt,m=me("router-view"),d=Ot,S=dt,v=Ye,b=Be,_=je,u=He;return w(),K(u,{theme:r.value},{default:a(()=>[s(b,null,{default:a(()=>[s(v,null,{default:a(()=>{var I;return[y("div",{class:Oe(["app-container",{dark:((I=r.value)==null?void 0:I.name)==="dark",mobile:!f(t).state.desktopModelShow}])},[y("div",qt,[f(t).state.desktopModelShow?(w(),E("div",Nt,[s(n)])):M("",!0),y("div",Kt,[s(m,{class:"app-wrap"},{default:a(({Component:h})=>[(w(),K(Pe,null,[c.$route.meta.keepAlive?(w(),K(re(h),{key:0})):M("",!0)],1024)),c.$route.meta.keepAlive?M("",!0):(w(),K(re(h),{key:0}))]),_:1})]),s(d)]),s(S)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});Le(Ft).use(ve).use(at).mount("#app");export{ns as $,$o as A,So as B,Mo as C,mt as D,_t as E,ms as F,qo as G,es as H,Wo as I,Fo as J,Ko as K,is as L,No as M,Ho as N,Jo as O,Zo as P,Xo as Q,ds as R,ls as S,us as T,Vo as U,zo as V,xo as W,G as X,os as Y,ss as Z,we as _,as as a,Uo as a0,Qo as a1,jo as a2,Yo as a3,Bo as a4,Go as a5,Do as a6,xt as a7,fo as b,vo as c,io as d,ts as e,cs as f,rs as g,Ao as h,Co as i,Oo as j,Lo as k,Ro as l,Io as m,Eo as n,mo as o,_o as p,wo as q,yo as r,bo as s,To as t,ko as u,Po as v,po as w,ho as x,co as y,go as z}; +import{d as Y,H as k,R as oe,b as Z,e as w,q as K,w as a,j as y,k as s,f as E,A as U,Z as q,y as N,Y as M,bf as f,c as J,E as Q,r as me,F as se,u as ne,x as A,h as P,a5 as Pe,s as re,l as Oe,ag as Le}from"./@vue-a481fc63.js";import{c as Te,a as Ae,u as pe,b as Ee}from"./vue-router-e5a2430e.js";import{c as Ie,u as B}from"./vuex-44de225f.js";import{a as Re}from"./axios-4a70c6fc.js";import{_ as Ce,N as $e,a as _e,b as he,c as Me,d as Se,e as ge,f as Ue,g as De,h as fe,i as xe,j as W,k as qe,u as Ne,l as Ke,m as Fe,n as Ve,o as ze,p as He,q as We,r as Ye,s as Be,t as je}from"./naive-ui-d8de3dda.js";import{h as D}from"./moment-2ab8298d.js";import{S as Ge,M as Qe,L as Ze,C as Je,B as Xe,P as et,W as tt,a as ot,H as ae,b as le,c as ue}from"./@vicons-7a4ef312.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))c(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function r(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function c(i){if(i.ep)return;i.ep=!0;const n=r(i);fetch(i.href,n)}})();const st="modulepreload",nt=function(e){return"/"+e},ie={},T=function(t,r,c){if(!r||r.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(r.map(n=>{if(n=nt(n),n in ie)return;ie[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!c)for(let b=i.length-1;b>=0;b--){const _=i[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":st,m||(v.as="script",v.crossOrigin=""),v.href=n,document.head.appendChild(v),m)return new Promise((b,_)=>{v.addEventListener("load",b),v.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},rt=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>T(()=>import("./Home-9f453b75.js"),["assets/Home-9f453b75.js","assets/whisper-150920d0.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js","assets/content-d73d8961.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/IEnum-5453a777.js","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/@opentiny-d73a2d67.js","assets/vue-1e3b54ec.js","assets/xss-a5544f63.js","assets/cssfilter-af71ba68.js","assets/@opentiny-0f942bd4.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Home-63775b21.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"泡泡详情"},component:()=>T(()=>import("./Post-e2d22a4a.js"),["assets/Post-e2d22a4a.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/IEnum-5453a777.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-d73d8961.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vue-router-e5a2430e.js","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/@babel-725317a4.js","assets/whisper-150920d0.js","assets/whisper-61451957.css","assets/copy-to-clipboard-4ef7d3eb.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Post-1ac7281c.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>T(()=>import("./Topic-8586b7d5.js"),["assets/Topic-8586b7d5.js","assets/@vicons-7a4ef312.js","assets/@vue-a481fc63.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Topic-384e019e.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>T(()=>import("./Anouncement-a5b70f32.js"),["assets/Anouncement-a5b70f32.js","assets/post-skeleton-f060289d.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>T(()=>import("./Profile-9492f6bb.js"),["assets/Profile-9492f6bb.js","assets/whisper-150920d0.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js","assets/content-d73d8961.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Profile-3ffb7be9.css","assets/vfonts-7afd136d.css"])},{path:"/u",name:"user",meta:{title:"用户详情"},component:()=>T(()=>import("./User-e3580113.js"),["assets/User-e3580113.js","assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js","assets/content-d73d8961.js","assets/@vue-a481fc63.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/whisper-150920d0.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/User-b21ba7c9.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>T(()=>import("./Messages-8b750f63.js"),["assets/Messages-8b750f63.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-150920d0.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Messages-3c6066fb.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>T(()=>import("./Collection-38566728.js"),["assets/Collection-38566728.js","assets/whisper-150920d0.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js","assets/content-d73d8961.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Collection-5c3a44e2.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>T(()=>import("./Contacts-789b01f1.js"),["assets/Contacts-789b01f1.js","assets/whisper-150920d0.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/@vicons-7a4ef312.js","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Contacts-7fa3e0d6.css","assets/vfonts-7afd136d.css"])},{path:"/following",name:"following",meta:{title:"关注"},component:()=>T(()=>import("./Following-e831211b.js"),["assets/Following-e831211b.js","assets/whisper-150920d0.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Following-6aa7d36c.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>T(()=>import("./Wallet-135fd43e.js"),["assets/Wallet-135fd43e.js","assets/post-skeleton-f060289d.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>T(()=>import("./Setting-04697376.js"),["assets/Setting-04697376.js","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>T(()=>import("./404-e1bbb486.js"),["assets/404-e1bbb486.js","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],ve=Te({history:Ae(),routes:rt});ve.beforeEach((e,t,r)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,r()});const at=Ie({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:"",created_on:0,follows:0,followings:0,is_admin:!1}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:"",created_on:0,follows:0,followings:0,is_admin:!1},e.userLogined=!1}},actions:{},modules:{}}),X=Re.create({baseURL:"",timeout:3e4});X.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));X.interceptors.response.use(e=>{const{data:t={},code:r=0}=(e==null?void 0:e.data)||{};if(+r==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var r;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((r=t==null?void 0:t.data)==null?void 0:r.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return X(e)}const ce=e=>o({method:"post",url:"/v1/auth/login",data:e}),lt=e=>o({method:"post",url:"/v1/auth/register",data:e}),G=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),ut={class:"auth-wrap"},it={key:0},ct=Y({__name:"auth",setup(e){const t=k("true".toLowerCase()==="true"),r=B(),c=k(!1),i=k(),n=oe({username:"",password:""}),m=k(),d=oe({username:"",password:"",repassword:""}),S={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},v=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=i.value)==null||u.validate(I=>{I||(c.value=!0,ce({username:n.username,password:n.password}).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("登录成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),r.commit("refresh"),n.username="",n.password=""}).catch(h=>{c.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(I=>{I||(c.value=!0,lt({username:d.username,password:d.password}).then(h=>ce({username:d.username,password:d.password})).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("注册成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(h=>{c.value=!1}))})};return Z(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?G(_).then(u=>{r.commit("updateUserinfo",u),r.commit("triggerAuth",!1)}).catch(u=>{r.commit("userLogout")}):r.commit("userLogout")}),(_,u)=>{const I=Ce,h=$e,R=_e,C=he,O=Me,x=Se,l=ge,L=Ue,F=De,H=fe,V=xe;return w(),K(V,{show:f(r).state.authModalShow,"onUpdate:show":u[7]||(u[7]=p=>f(r).state.authModalShow=p),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[y("div",ut,[s(H,{bordered:!1},{default:a(()=>[t.value?M("",!0):(w(),E("div",it,[s(R,{justify:"center"},{default:a(()=>[s(h,null,{default:a(()=>[s(I,{type:"success"},{default:a(()=>[U("账号登录")]),_:1})]),_:1})]),_:1}),s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[0]||(u[0]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])])),t.value?(w(),K(F,{key:1,"default-value":f(r).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(L,{name:"signin",tab:"登录"},{default:a(()=>[s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[2]||(u[2]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(L,{name:"signup",tab:"注册"},{default:a(()=>[s(x,{ref_key:"registerRef",ref:m,model:d,rules:S},{default:a(()=>[s(O,{label:"用户名",path:"username"},{default:a(()=>[s(C,{value:d.username,"onUpdate:value":u[4]||(u[4]=p=>d.username=p),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=p=>d.password=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"重复密码",path:"repassword"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=p=>d.repassword=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:b},{default:a(()=>[U(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const we=(e,t)=>{const r=e.__vccOpts||e;for(const[c,i]of t)r[c]=i;return r},dt=we(ct,[["__scopeId","data-v-053dfa44"]]),io=e=>o({method:"get",url:"/v1/posts",params:e}),mt=e=>o({method:"get",url:"/v1/tags",params:e}),co=e=>o({method:"get",url:"/v1/post",params:e}),mo=e=>o({method:"get",url:"/v1/post/star",params:e}),po=e=>o({method:"post",url:"/v1/post/star",data:e}),_o=e=>o({method:"get",url:"/v1/post/collection",params:e}),ho=e=>o({method:"post",url:"/v1/post/collection",data:e}),go=e=>o({method:"get",url:"/v1/post/comments",params:e}),fo=e=>o({method:"get",url:"/v1/user/contacts",params:e}),vo=e=>o({method:"post",url:"/v1/post",data:e}),wo=e=>o({method:"delete",url:"/v1/post",data:e}),yo=e=>o({method:"post",url:"/v1/post/lock",data:e}),bo=e=>o({method:"post",url:"/v1/post/stick",data:e}),ko=e=>o({method:"post",url:"/v1/post/highlight",data:e}),Po=e=>o({method:"post",url:"/v1/post/visibility",data:e}),Oo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),Lo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),To=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),Ao=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),Eo=e=>o({method:"post",url:"/v1/post/comment",data:e}),Io=e=>o({method:"delete",url:"/v1/post/comment",data:e}),Ro=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),Co=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),$o=e=>o({method:"post",url:"/v1/topic/stick",data:e}),Mo=e=>o({method:"post",url:"/v1/topic/follow",data:e}),So=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),Uo=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Do=e=>o({method:"post",url:"/v1/captcha",data:e}),xo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),qo=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),No=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ko=e=>o({method:"post",url:"/v1/user/follow",data:e}),Fo=e=>o({method:"post",url:"/v1/user/unfollow",data:e}),Vo=e=>o({method:"get",url:"/v1/user/follows",params:e}),zo=e=>o({method:"get",url:"/v1/user/followings",params:e}),Ho=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Wo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Yo=e=>o({method:"post",url:"/v1/user/phone",data:e}),Bo=e=>o({method:"post",url:"/v1/user/activate",data:e}),jo=e=>o({method:"post",url:"/v1/user/password",data:e}),Go=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Qo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),de=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Zo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Jo=e=>o({method:"post",url:"/v1/user/message/read",data:e}),Xo=e=>o({method:"get",url:"/v1/user/collections",params:e}),es=e=>o({method:"get",url:"/v1/user/profile",params:e}),ts=e=>o({method:"get",url:"/v1/user/posts",params:e}),os=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),ss=e=>o({method:"post",url:"/v1/user/recharge",data:e}),ns=e=>o({method:"get",url:"/v1/user/recharge",params:e}),rs=e=>o({method:"get",url:"/v1/suggest/users",params:e}),as=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),ls=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),us=e=>o({method:"get",url:"/v1/attachment",params:e}),is=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),pt=()=>o({method:"get",url:"/v1/admin/site/status"});D.locale("zh-cn");const _t=e=>D.unix(e).fromNow(),cs=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()},ds=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD"):t.fromNow()},ms=e=>D.unix(e).utc(!0).format("YYYY年MM月"),ht={key:0,class:"rightbar-wrap"},gt={class:"search-wrap"},ft={class:"post-num"},vt={class:"post-num"},wt={class:"copyright"},yt=["href"],bt=["href"],kt={class:"site-info-item"},Pt=Y({__name:"rightbar",setup(e){const t=k([]),r=k([]),c=k(!1),i=k(""),n=B(),m=pe(),d=k(0),S=k(0),v=k(0),b=k(0),_=k(null),u="2023 paopao.info",I="Roc's Me",h="",R="泡泡(PaoPao)开源社区",C="https://www.paopao.info",O=+"6",x=+"12",l=()=>{pt().then(g=>{d.value=g.register_user_count,S.value=g.online_user_count,v.value=g.history_max_online,b.value=g.server_up_time}).catch(g=>{}),p.disconnect()},L=()=>{c.value=!0,mt({type:"hot_extral",num:x,extral_num:O}).then(g=>{t.value=g.topics,r.value=g.extral_topics??[],V.value=!0,c.value=!1}).catch(g=>{c.value=!1})},F=g=>g>=1e3?(g/1e3).toFixed(1)+"k":g,H=()=>{m.push({name:"home",query:{q:i.value}})},V=J({get:()=>n.state.userLogined&&r.value.length!==0,set:g=>{}});Q(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(g,z)=>{(g.refreshTopicFollow!==z.refreshTopicFollow||g.userLogined)&&L(),n.state.userInfo.is_admin&&l()});const p=new IntersectionObserver(g=>{g.forEach(z=>{z.isIntersecting&&l()})},{root:null,rootMargin:"0px",threshold:1});return Z(()=>{_.value&&p.observe(_.value),L()}),(g,z)=>{const ye=W,be=he,ee=me("router-link"),te=qe,j=fe,ke=_e;return f(n).state.collapsedRight?M("",!0):(w(),E("div",ht,[y("div",gt,[s(be,{round:"",clearable:"",placeholder:"搜一搜...",value:i.value,"onUpdate:value":z[0]||(z[0]=$=>i.value=$),onKeyup:q(N(H,["prevent"]),["enter"])},{prefix:a(()=>[s(ye,{component:f(Ge)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),V.value?(w(),K(j,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(r.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",ft,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(j,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(t.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",vt,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(j,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[y("div",wt,"© "+A(f(u)),1),y("div",null,[s(ke,null,{default:a(()=>[y("a",{href:f(h),target:"_blank",class:"hash-link"},A(f(I)),9,yt),y("a",{href:f(C),target:"_blank",class:"hash-link"},A(f(R)),9,bt)]),_:1})])]),_:1}),f(n).state.userInfo.is_admin?(w(),E("div",{key:1,class:"site-info",ref_key:"userInfoElement",ref:_},[y("span",kt,A(d.value)+" 注册用户,"+A(S.value)+" 人在线,最高在线 "+A(v.value)+" 人,站点上线于 "+A(f(_t)(b.value)),1)],512)):M("",!0)]))}}});const Ot=we(Pt,[["__scopeId","data-v-0a6cd0b6"]]),Lt="/assets/logo-52afee68.png",Tt={class:"sidebar-wrap"},At={class:"logo-wrap"},Et={key:0,class:"user-wrap"},It={class:"user-info"},Rt={class:"nickname"},Ct={class:"nickname-txt"},$t={class:"username"},Mt={class:"user-mini-wrap"},St={key:1,class:"user-wrap"},Ut={key:0,class:"login-only-wrap"},Dt={key:1,class:"login-wrap"},xt=Y({__name:"sidebar",setup(e){const t=B(),r=Ee(),c=pe(),i=k(!1),n=k(r.name||""),m=k(),d="true".toLowerCase()==="true",S="false".toLowerCase()==="true",v="false".toLocaleLowerCase()==="true",b=k("true".toLowerCase()==="true"),_=+"5000";Q(r,()=>{n.value=r.name}),Q(t.state,()=>{t.state.userInfo.id>0?m.value||(de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)}),m.value=setInterval(()=>{de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)})},_)):m.value&&clearInterval(m.value)}),Z(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const u=J(()=>{const l=[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}];return S&&l.push({label:"公告",key:"anouncement",icon:()=>P(Qe),href:"/anouncement"}),l.push({label:"主页",key:"profile",icon:()=>P(Ze),href:"/profile"}),l.push({label:"消息",key:"messages",icon:()=>P(Je),href:"/messages"}),l.push({label:"收藏",key:"collection",icon:()=>P(Xe),href:"/collection"}),d&&l.push({label:"好友",key:"contacts",icon:()=>P(et),href:"/contacts"}),v&&l.push({label:"钱包",key:"wallet",icon:()=>P(tt),href:"/wallet"}),l.push({label:"设置",key:"setting",icon:()=>P(ot),href:"/setting"}),t.state.userInfo.id>0?l:[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}]}),I=l=>"href"in l?P("div",{},l.label):l.label,h=l=>l.key==="messages"?P(Ke,{dot:!0,show:i.value,processing:!0},{default:()=>P(W,{color:l.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:l.icon})}):P(W,null,{default:l.icon}),R=(l,L={})=>{n.value=l,c.push({name:l,query:{t:new Date().getTime()}})},C=()=>{r.path==="/"&&t.commit("refresh"),R("home")},O=l=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",l)},x=()=>{t.commit("userLogout"),t.commit("refresh"),C()};return window.$store=t,window.$message=Ne(),(l,L)=>{const F=Fe,H=Ve,V=ze,p=ge;return w(),E("div",Tt,[y("div",At,[s(F,{class:"logo-img",width:"36",src:f(Lt),"preview-disabled":!0,onClick:C},null,8,["src"])]),s(H,{accordion:!0,"icon-size":24,options:u.value,"render-label":I,"render-icon":h,value:n.value,"onUpdate:value":R},null,8,["options","value"]),f(t).state.userInfo.id>0?(w(),E("div",Et,[s(V,{class:"user-avatar",round:"",size:34,src:f(t).state.userInfo.avatar},null,8,["src"]),y("div",It,[y("div",Rt,[y("span",Ct,A(f(t).state.userInfo.nickname),1),s(p,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:x},{icon:a(()=>[s(f(W),null,{default:a(()=>[s(f(ue))]),_:1})]),_:1})]),y("div",$t,"@"+A(f(t).state.userInfo.username),1)]),y("div",Mt,[s(p,{class:"logout",quaternary:"",circle:"",onClick:x},{icon:a(()=>[s(f(W),{size:24},{default:a(()=>[s(f(ue))]),_:1})]),_:1})])])):(w(),E("div",St,[b.value?M("",!0):(w(),E("div",Ut,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[0]||(L[0]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1})])),b.value?(w(),E("div",Dt,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[1]||(L[1]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1}),s(p,{strong:"",secondary:"",round:"",type:"info",onClick:L[2]||(L[2]=g=>O("signup"))},{default:a(()=>[U(" 注册 ")]),_:1})])):M("",!0)]))])}}});const qt={"has-sider":"",class:"main-wrap",position:"static"},Nt={key:0},Kt={class:"content-wrap"},Ft=Y({__name:"App",setup(e){const t=B(),r=J(()=>t.state.theme==="dark"?We:null);return(c,i)=>{const n=xt,m=me("router-view"),d=Ot,S=dt,v=Ye,b=Be,_=je,u=He;return w(),K(u,{theme:r.value},{default:a(()=>[s(b,null,{default:a(()=>[s(v,null,{default:a(()=>{var I;return[y("div",{class:Oe(["app-container",{dark:((I=r.value)==null?void 0:I.name)==="dark",mobile:!f(t).state.desktopModelShow}])},[y("div",qt,[f(t).state.desktopModelShow?(w(),E("div",Nt,[s(n)])):M("",!0),y("div",Kt,[s(m,{class:"app-wrap"},{default:a(({Component:h})=>[(w(),K(Pe,null,[c.$route.meta.keepAlive?(w(),K(re(h),{key:0})):M("",!0)],1024)),c.$route.meta.keepAlive?M("",!0):(w(),K(re(h),{key:0}))]),_:1})]),s(d)]),s(S)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});Le(Ft).use(ve).use(at).mount("#app");export{ns as $,$o as A,So as B,Mo as C,mt as D,_t as E,ms as F,qo as G,es as H,Wo as I,Fo as J,Ko as K,is as L,No as M,Ho as N,Jo as O,Zo as P,Xo as Q,ds as R,ls as S,us as T,Vo as U,zo as V,xo as W,G as X,os as Y,ss as Z,we as _,as as a,Uo as a0,Qo as a1,jo as a2,Yo as a3,Bo as a4,Go as a5,Do as a6,xt as a7,fo as b,vo as c,io as d,ts as e,cs as f,rs as g,Ao as h,Co as i,Oo as j,Lo as k,Ro as l,Io as m,Eo as n,mo as o,_o as p,wo as q,yo as r,bo as s,To as t,ko as u,Po as v,po as w,ho as x,co as y,go as z}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js similarity index 96% rename from web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js rename to web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js index 3ce68257..2d5049da 100644 --- a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-f1df2083.js +++ b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js @@ -1 +1 @@ -import{a7 as A}from"./index-c7635d00.js";import{u as B}from"./vuex-44de225f.js";import{u as E}from"./vue-router-e5a2430e.js";import{j as z}from"./vooks-6d99783e.js";import{Z as C,_ as N,$ as P,a0 as D}from"./@vicons-7a4ef312.js";import{u as R,a3 as $,a4 as x,j as H,e as I,a5 as V,h as j}from"./naive-ui-d8de3dda.js";import{d as q,H as h,b as F,e as n,f,bf as a,k as e,w as t,Y as c,j as L,q as _,A as U,x as Y,F as Z}from"./@vue-a481fc63.js";const G={key:0},J={class:"navbar"},ae=q({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(w){const i=w,o=B(),m=E(),l=h(!1),g=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),o.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),o.commit("triggerTheme","light"))},k=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return F(()=>{localStorage.getItem("PAOPAO_THEME")||u(z()==="dark"),o.state.desktopModelShow||(window.$store=o,window.$message=R())}),(s,d)=>{const b=A,y=$,M=x,r=H,p=I,O=V,S=j;return n(),f(Z,null,[a(o).state.drawerModelShow?(n(),f("div",G,[e(M,{show:l.value,"onUpdate:show":d[0]||(d[0]=T=>l.value=T),width:212,placement:g.value,resizable:""},{default:t(()=>[e(y,null,{default:t(()=>[e(b)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(S,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[L("div",J,[a(o).state.drawerModelShow&&!s.back?(n(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(C))]),_:1})]),_:1})):c("",!0),s.back?(n(),_(p,{key:1,class:"back-btn",onClick:k,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(N))]),_:1})]),_:1})):c("",!0),U(" "+Y(i.title)+" ",1),i.theme?(n(),_(O,{key:2,value:a(o).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:a(P)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:a(D)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{ae as _}; +import{a7 as A}from"./index-fcb35ad4.js";import{u as B}from"./vuex-44de225f.js";import{u as E}from"./vue-router-e5a2430e.js";import{j as z}from"./vooks-6d99783e.js";import{Z as C,_ as N,$ as P,a0 as D}from"./@vicons-7a4ef312.js";import{u as R,a3 as $,a4 as x,j as H,e as I,a5 as V,h as j}from"./naive-ui-d8de3dda.js";import{d as q,H as h,b as F,e as n,f,bf as a,k as e,w as t,Y as c,j as L,q as _,A as U,x as Y,F as Z}from"./@vue-a481fc63.js";const G={key:0},J={class:"navbar"},ae=q({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(w){const i=w,o=B(),m=E(),l=h(!1),g=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),o.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),o.commit("triggerTheme","light"))},k=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return F(()=>{localStorage.getItem("PAOPAO_THEME")||u(z()==="dark"),o.state.desktopModelShow||(window.$store=o,window.$message=R())}),(s,d)=>{const b=A,y=$,M=x,r=H,p=I,O=V,S=j;return n(),f(Z,null,[a(o).state.drawerModelShow?(n(),f("div",G,[e(M,{show:l.value,"onUpdate:show":d[0]||(d[0]=T=>l.value=T),width:212,placement:g.value,resizable:""},{default:t(()=>[e(y,null,{default:t(()=>[e(b)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(S,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[L("div",J,[a(o).state.drawerModelShow&&!s.back?(n(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(C))]),_:1})]),_:1})):c("",!0),s.back?(n(),_(p,{key:1,class:"back-btn",onClick:k,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(N))]),_:1})]),_:1})):c("",!0),U(" "+Y(i.title)+" ",1),i.theme?(n(),_(O,{key:2,value:a(o).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:a(P)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:a(D)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{ae as _}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js similarity index 98% rename from web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js rename to web/dist/assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js index 3121c7b9..eeff6abd 100644 --- a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d54eb310.js +++ b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js @@ -1 +1 @@ -import{p as R,a as V,_ as E,b as Y,c as G}from"./content-34f8522f.js";import{d as J,c as x,r as K,e as a,f,k as n,al as Q,w as o,j as i,F as U,u as W,y as m,bf as l,A as r,x as p,q as u,Y as c,h as C}from"./@vue-a481fc63.js";import{u as X}from"./vuex-44de225f.js";import{u as Z}from"./vue-router-e5a2430e.js";import{R as ee,w as te,x as se}from"./index-c7635d00.js";import{c as oe}from"./copy-to-clipboard-4ef7d3eb.js";import{i as ne,j as ae,l as le,m as ie,p as ue,o as ce}from"./@vicons-7a4ef312.js";import{j as v,o as re,M as pe,e as _e,O as me,a as ve,L as de}from"./naive-ui-d8de3dda.js";const he={class:"post-item"},ge={class:"nickname-wrap"},ke={class:"username-wrap"},ye={class:"timestamp-mobile"},fe={class:"item-header-extra"},we=["innerHTML"],be=["onClick"],xe=["onClick"],Ne=J({__name:"mobile-post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",he,[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",ge,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",ke," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0),i("div",null,[i("span",ye,p(l(ee)(e.value.created_on))+" "+p(e.value.ip_loc),1)])]),"header-extra":o(()=>[i("div",fe,[n(D,{placement:"bottom-end",trigger:"click",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,be),i("div",{class:"opt-item",onClick:s[3]||(s[3]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,xe)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[i("div",{onClick:s[2]||(s[2]=h=>k(e.value.id))},[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,we))),128))])]),key:"0"}:void 0]),1024)])}}});const Ce={class:"nickname-wrap"},$e={class:"username-wrap"},ze={class:"item-header-extra"},Te={class:"timestamp"},qe=["innerHTML"],Pe=["onClick"],Le=["onClick"],Ae=J({__name:"post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",{class:"post-item",onClick:s[3]||(s[3]=h=>k(e.value.id))},[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",Ce,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",$e," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":o(()=>[i("div",ze,[i("span",Te,p(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+p(l(ee)(e.value.created_on)),1),n(D,{placement:"bottom-end",trigger:"hover",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item hover",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,Pe),i("div",{class:"opt-item hover",onClick:s[2]||(s[2]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item hover",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,Le)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text hover",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,qe))),128))]),key:"0"}:void 0]),1024)])}}});export{Ae as _,Ne as a}; +import{p as R,a as V,_ as E,b as Y,c as G}from"./content-d73d8961.js";import{d as J,c as x,r as K,e as a,f,k as n,al as Q,w as o,j as i,F as U,u as W,y as m,bf as l,A as r,x as p,q as u,Y as c,h as C}from"./@vue-a481fc63.js";import{u as X}from"./vuex-44de225f.js";import{u as Z}from"./vue-router-e5a2430e.js";import{R as ee,w as te,x as se}from"./index-fcb35ad4.js";import{c as oe}from"./copy-to-clipboard-4ef7d3eb.js";import{i as ne,j as ae,l as le,m as ie,p as ue,o as ce}from"./@vicons-7a4ef312.js";import{j as v,o as re,M as pe,e as _e,O as me,a as ve,L as de}from"./naive-ui-d8de3dda.js";const he={class:"post-item"},ge={class:"nickname-wrap"},ke={class:"username-wrap"},ye={class:"timestamp-mobile"},fe={class:"item-header-extra"},we=["innerHTML"],be=["onClick"],xe=["onClick"],Ne=J({__name:"mobile-post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",he,[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",ge,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",ke," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0),i("div",null,[i("span",ye,p(l(ee)(e.value.created_on))+" "+p(e.value.ip_loc),1)])]),"header-extra":o(()=>[i("div",fe,[n(D,{placement:"bottom-end",trigger:"click",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,be),i("div",{class:"opt-item",onClick:s[3]||(s[3]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,xe)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[i("div",{onClick:s[2]||(s[2]=h=>k(e.value.id))},[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,we))),128))])]),key:"0"}:void 0]),1024)])}}});const Ce={class:"nickname-wrap"},$e={class:"username-wrap"},ze={class:"item-header-extra"},Te={class:"timestamp"},qe=["innerHTML"],Pe=["onClick"],Le=["onClick"],Ae=J({__name:"post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",{class:"post-item",onClick:s[3]||(s[3]=h=>k(e.value.id))},[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",Ce,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",$e," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":o(()=>[i("div",ze,[i("span",Te,p(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+p(l(ee)(e.value.created_on)),1),n(D,{placement:"bottom-end",trigger:"hover",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item hover",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,Pe),i("div",{class:"opt-item hover",onClick:s[2]||(s[2]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item hover",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,Le)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text hover",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,qe))),128))]),key:"0"}:void 0]),1024)])}}});export{Ae as _,Ne as a}; diff --git a/web/dist/assets/post-skeleton-f8428500.js b/web/dist/assets/post-skeleton-f060289d.js similarity index 88% rename from web/dist/assets/post-skeleton-f8428500.js rename to web/dist/assets/post-skeleton-f060289d.js index 4bba5e57..e10891dd 100644 --- a/web/dist/assets/post-skeleton-f8428500.js +++ b/web/dist/assets/post-skeleton-f060289d.js @@ -1 +1 @@ -import{U as r}from"./naive-ui-d8de3dda.js";import{d as c,e as s,f as n,u as p,j as o,k as t,F as l}from"./@vue-a481fc63.js";import{_ as i}from"./index-c7635d00.js";const m={class:"user"},u={class:"content"},d=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",u,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(d,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; +import{U as r}from"./naive-ui-d8de3dda.js";import{d as c,e as s,f as n,u as p,j as o,k as t,F as l}from"./@vue-a481fc63.js";import{_ as i}from"./index-fcb35ad4.js";const m={class:"user"},u={class:"content"},d=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",u,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(d,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/assets/whisper-a4b81d0e.js b/web/dist/assets/whisper-150920d0.js similarity index 95% rename from web/dist/assets/whisper-a4b81d0e.js rename to web/dist/assets/whisper-150920d0.js index faeaf63e..5fb8f548 100644 --- a/web/dist/assets/whisper-a4b81d0e.js +++ b/web/dist/assets/whisper-150920d0.js @@ -1 +1 @@ -import{W as b,_ as k}from"./index-c7635d00.js";import{R as B,H as C,S as N,b as R,e as U,i as V}from"./naive-ui-d8de3dda.js";import{d as W,H as p,e as $,q as z,w as s,j as a,k as n,A as _,x as i}from"./@vue-a481fc63.js";const H={class:"whisper-wrap"},S={class:"whisper-line"},j={class:"whisper-line send-wrap"},q=W({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(r,{emit:u}){const d=r,o=p(""),t=p(!1),c=()=>{u("success")},m=()=>{t.value=!0,b({user_id:d.user.id,content:o.value}).then(e=>{window.$message.success("发送成功"),t.value=!1,o.value="",c()}).catch(e=>{t.value=!1})};return(e,l)=>{const h=B,w=C,f=N,v=R,g=U,y=V;return $(),z(y,{show:e.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:s(()=>[a("div",H,[n(f,{"show-icon":!1},{default:s(()=>[_(" 即将发送私信给: "),n(w,{style:{"max-width":"100%"}},{default:s(()=>[n(h,{type:"success"},{default:s(()=>[_(i(e.user.nickname)+"@"+i(e.user.username),1)]),_:1})]),_:1})]),_:1}),a("div",S,[n(v,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":l[0]||(l[0]=x=>o.value=x),maxlength:"200","show-count":""},null,8,["value"])]),a("div",j,[n(g,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:m},{default:s(()=>[_(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const M=k(q,[["__scopeId","data-v-0cbfe47c"]]);export{M as _}; +import{W as b,_ as k}from"./index-fcb35ad4.js";import{R as B,H as C,S as N,b as R,e as U,i as V}from"./naive-ui-d8de3dda.js";import{d as W,H as p,e as $,q as z,w as s,j as a,k as n,A as _,x as i}from"./@vue-a481fc63.js";const H={class:"whisper-wrap"},S={class:"whisper-line"},j={class:"whisper-line send-wrap"},q=W({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(r,{emit:u}){const d=r,o=p(""),t=p(!1),c=()=>{u("success")},m=()=>{t.value=!0,b({user_id:d.user.id,content:o.value}).then(e=>{window.$message.success("发送成功"),t.value=!1,o.value="",c()}).catch(e=>{t.value=!1})};return(e,l)=>{const h=B,w=C,f=N,v=R,g=U,y=V;return $(),z(y,{show:e.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:s(()=>[a("div",H,[n(f,{"show-icon":!1},{default:s(()=>[_(" 即将发送私信给: "),n(w,{style:{"max-width":"100%"}},{default:s(()=>[n(h,{type:"success"},{default:s(()=>[_(i(e.user.nickname)+"@"+i(e.user.username),1)]),_:1})]),_:1})]),_:1}),a("div",S,[n(v,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":l[0]||(l[0]=x=>o.value=x),maxlength:"200","show-count":""},null,8,["value"])]),a("div",j,[n(g,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:m},{default:s(()=>[_(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const M=k(q,[["__scopeId","data-v-0cbfe47c"]]);export{M as _}; diff --git a/web/dist/index.html b/web/dist/index.html index 0f81744d..4d1e2e78 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -8,7 +8,7 @@ 泡泡 - + diff --git a/web/src/components/compose.vue b/web/src/components/compose.vue index 820bc8da..e26bde78 100644 --- a/web/src/components/compose.vue +++ b/web/src/components/compose.vue @@ -594,17 +594,12 @@ const submitPost = () => { } submitting.value = true; - // TODO: 临时过渡,暂时将Following等价于Public - let fixedVisit = visitType.value; - if (fixedVisit == VisibilityEnum.Following) { - fixedVisit = VisibilityEnum.PUBLIC - } createPost({ contents, tags: Array.from(new Set(tags)), users: Array.from(new Set(users)), attachment_price: +attachmentPrice.value * 100, - visibility: fixedVisit + visibility: visitType.value }) .then((res) => { window.$message.success('发布成功'); From 82f6b269ef6b60d1b713dd1cd1357983917aa4ca Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sun, 17 Sep 2023 16:57:22 +0800 Subject: [PATCH 11/26] update RADME.md --- README.md | 4 ++-- features-status.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index a38e0ad3..39874ff9 100644 --- a/README.md +++ b/README.md @@ -364,8 +364,8 @@ release/paopao serve --no-default-features --features sqlite3,localoss,loggerfil |`OSS:TempDir` | 对象存储 | 内测 |基于对象存储系统的对象拷贝/移动特性实现 先创建临时对象再持久化的功能| |`Redis` | 缓存 | 稳定 | Redis缓存功能 | |`SimpleCacheIndex` | 缓存 | Deprecated | 提供简单的 广场推文列表 的缓存功能 | -|`BigCacheIndex` | 缓存 | 稳定(推荐) | 使用[BigCache](https://github.com/allegro/bigcache)缓存 广场推文列表,缓存每个用户每一页,简单做到千人千面 | -|`RedisCacheIndex` | 缓存 | 内测(推荐) | 使用Redis缓存 广场推文列表,缓存每个用户每一页,简单做到千人千面 | +|`BigCacheIndex` | 缓存 | Deprecated | 使用[BigCache](https://github.com/allegro/bigcache)缓存 广场推文列表,缓存每个用户每一页,简单做到千人千面 | +|`RedisCacheIndex` | 缓存 | Deprecated | 使用Redis缓存 广场推文列表,缓存每个用户每一页,简单做到千人千面 | |`Zinc` | 搜索 | 稳定(推荐) | 基于[Zinc](https://github.com/zinclabs/zinc)搜索引擎提供推文搜索服务 | |`Meili` | 搜索 | 稳定(推荐) | 基于[Meilisearch](https://github.com/meilisearch/meilisearch)搜索引擎提供推文搜索服务 | |`Bleve` | 搜索 | WIP | 基于[Bleve](https://github.com/blevesearch/bleve)搜索引擎提供推文搜索服务 | diff --git a/features-status.md b/features-status.md index c6cf5aa0..b2781944 100644 --- a/features-status.md +++ b/features-status.md @@ -101,11 +101,11 @@ * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 -* `BigCacheIndex` 使用[BigCache](https://github.com/allegro/bigcache)缓存 广场推文列表,缓存每个用户每一页,简单做到千人千面(推荐使用); +* `BigCacheIndex` 使用[BigCache](https://github.com/allegro/bigcache)缓存 广场推文列表,缓存每个用户每一页,简单做到千人千面(目前状态: Deprecated); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 -* `RedisCacheIndex` 使用Redis缓存 广场推文列表,缓存每个用户每一页,简单做到千人千面(目前状态: 推荐使用); +* `RedisCacheIndex` 使用Redis缓存 广场推文列表,缓存每个用户每一页,简单做到千人千面(目前状态: Deprecated); * [ ] 提按文档 * [x] 接口定义 * [x] 业务逻辑实现 From 53a4aef5f4d9d4c120c1507921c53a5314e37fde Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sun, 17 Sep 2023 21:49:10 +0800 Subject: [PATCH 12/26] make Newest/Hots/Following tweets in index page work well --- CHANGELOG.md | 45 +++++- internal/conf/cache.go | 2 +- internal/conf/db.go | 1 + internal/conf/setting.go | 1 + internal/core/cs/tweets.go | 32 ++-- internal/core/ms/tweets.go | 8 +- internal/core/search.go | 3 +- internal/core/tweets.go | 6 +- internal/dao/jinzhu/dbr/post.go | 29 +++- internal/dao/jinzhu/gorm.go | 2 + internal/dao/jinzhu/tweets.go | 140 ++++++++++++++++-- internal/model/web/loose.go | 2 +- internal/model/web/priv.go | 39 ++++- internal/servants/base/base.go | 9 +- internal/servants/web/events.go | 24 +++ internal/servants/web/loose.go | 27 +++- internal/servants/web/priv.go | 10 +- internal/servants/web/pub.go | 2 + internal/servants/web/utils.go | 7 + .../{404-e1bbb486.js => 404-d844c63e.js} | 2 +- ...nt-a5b70f32.js => Anouncement-9133d100.js} | 2 +- ...ion-38566728.js => Collection-2ba2fc81.js} | 2 +- ...tacts-789b01f1.js => Contacts-e25841ce.js} | 2 +- ...wing-e831211b.js => Following-0d52a2ca.js} | 2 +- .../{Home-9f453b75.js => Home-0382696a.js} | 2 +- .../{Home-63775b21.css => Home-2a6423f9.css} | 2 +- ...sages-8b750f63.js => Messages-c3fa26d0.js} | 2 +- .../{Post-1ac7281c.css => Post-3a79fbc3.css} | 2 +- .../{Post-e2d22a4a.js => Post-b40cc86e.js} | 2 +- ...rofile-9492f6bb.js => Profile-e00fa856.js} | 2 +- ...etting-04697376.js => Setting-22e8a111.js} | 2 +- .../{Topic-8586b7d5.js => Topic-5e96d43f.js} | 2 +- .../{User-e3580113.js => User-a35461e8.js} | 2 +- ...{Wallet-135fd43e.js => Wallet-a477a3e7.js} | 2 +- ...ontent-d73d8961.js => content-2d41ca0a.js} | 2 +- .../{index-fcb35ad4.js => index-5faa66a7.js} | 2 +- ...e_vue_type_style_index_0_lang-0888b762.js} | 2 +- ...e_vue_type_style_index_0_lang-d5631a43.js} | 2 +- ...-f060289d.js => post-skeleton-47a1ebec.js} | 2 +- ...hisper-150920d0.js => whisper-d959da10.js} | 2 +- web/dist/index.html | 2 +- web/src/components/post-detail.vue | 9 +- web/src/types/NetParams.d.ts | 1 + web/src/views/Home.vue | 23 ++- web/src/views/Post.vue | 1 - 45 files changed, 358 insertions(+), 109 deletions(-) rename web/dist/assets/{404-e1bbb486.js => 404-d844c63e.js} (85%) rename web/dist/assets/{Anouncement-a5b70f32.js => Anouncement-9133d100.js} (91%) rename web/dist/assets/{Collection-38566728.js => Collection-2ba2fc81.js} (84%) rename web/dist/assets/{Contacts-789b01f1.js => Contacts-e25841ce.js} (92%) rename web/dist/assets/{Following-e831211b.js => Following-0d52a2ca.js} (95%) rename web/dist/assets/{Home-9f453b75.js => Home-0382696a.js} (64%) rename web/dist/assets/{Home-63775b21.css => Home-2a6423f9.css} (62%) rename web/dist/assets/{Messages-8b750f63.js => Messages-c3fa26d0.js} (97%) rename web/dist/assets/{Post-1ac7281c.css => Post-3a79fbc3.css} (94%) rename web/dist/assets/{Post-e2d22a4a.js => Post-b40cc86e.js} (67%) rename web/dist/assets/{Profile-9492f6bb.js => Profile-e00fa856.js} (95%) rename web/dist/assets/{Setting-04697376.js => Setting-22e8a111.js} (98%) rename web/dist/assets/{Topic-8586b7d5.js => Topic-5e96d43f.js} (97%) rename web/dist/assets/{User-e3580113.js => User-a35461e8.js} (97%) rename web/dist/assets/{Wallet-135fd43e.js => Wallet-a477a3e7.js} (95%) rename web/dist/assets/{content-d73d8961.js => content-2d41ca0a.js} (98%) rename web/dist/assets/{index-fcb35ad4.js => index-5faa66a7.js} (90%) rename web/dist/assets/{main-nav.vue_vue_type_style_index_0_lang-31fef671.js => main-nav.vue_vue_type_style_index_0_lang-0888b762.js} (96%) rename web/dist/assets/{post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js => post-item.vue_vue_type_style_index_0_lang-d5631a43.js} (98%) rename web/dist/assets/{post-skeleton-f060289d.js => post-skeleton-47a1ebec.js} (88%) rename web/dist/assets/{whisper-150920d0.js => whisper-d959da10.js} (95%) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8b64118..613d4288 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,7 +30,50 @@ All notable changes to paopao-ce are documented in this file. # 模块开启 VITE_ENABLE_FRIENDS_BAR=true ``` - + - add Newest/Hots/Following tweets support in friend bar feature. + mirgration database first(sql ddl file in `scripts/migration/**/*_home_timeline.up.sql`): + ```sql + CREATE TABLE `p_post_metric` ( + `id` bigint unsigned NOT NULL AUTO_INCREMENT, + `post_id` bigint unsigned NOT NULL, + `rank_score` bigint unsigned NOT NULL DEFAULT 0, + `incentive_score` int unsigned NOT NULL DEFAULT 0, + `decay_factor` int unsigned NOT NULL DEFAULT 0, + `motivation_factor` int unsigned NOT NULL DEFAULT 0, + `is_del` tinyint NOT NULL DEFAULT 0, -- 是否删除, 0否, 1是 + `created_on` bigint unsigned NOT NULL DEFAULT '0', + `modified_on` bigint unsigned NOT NULL DEFAULT '0', + `deleted_on` bigint unsigned NOT NULL DEFAULT '0', + PRIMARY KEY (`id`) USING BTREE, + KEY `idx_post_metric_post_id_rank_score` (`post_id`,`rank_score`) USING BTREE + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; + + INSERT INTO p_post_metric (post_id, rank_score, created_on) + SELECT id AS post_id, + comment_count + upvote_count*2 + collection_count*4 AS rank_score, + created_on + FROM p_post + WHERE is_del=0; + + -- 原来的可见性: 0公开 1私密 2好友可见 3关注可见 + -- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 + UPDATE p_post a + SET visibility = ( + SELECT + CASE visibility + WHEN 0 THEN 90 + WHEN 1 THEN 0 + WHEN 2 THEN 50 + WHEN 3 THEN 60 + ELSE 0 + END + FROM + p_post b + WHERE + a.ID = b.ID + ); + ```sql + ## 0.4.2 ### Fixed - fixed remove multi-objects no effects and occurs resource leak error when use Minio as OSS(Object Storage System).[#371](https://github.com/rocboss/paopao-ce/pull/371) [#372](https://github.com/rocboss/paopao-ce/pull/372) diff --git a/internal/conf/cache.go b/internal/conf/cache.go index 0e975c6b..0acc1be6 100644 --- a/internal/conf/cache.go +++ b/internal/conf/cache.go @@ -25,7 +25,7 @@ const ( PrefixOnlineUser = "paopao:onlineuser:" PrefixIdxTweetsNewest = "paopao:index:tweets:newest:" PrefixIdxTweetsHots = "paopao:index:tweets:hots:" - prefixIdxTweetsFollowing = "paopao:index:tweets:following:" + PrefixIdxTweetsFollowing = "paopao:index:tweets:following:" KeySiteStatus = "paopao:sitestatus" KeyHistoryMaxOnline = "history.max.online" ) diff --git a/internal/conf/db.go b/internal/conf/db.go index 092d3cbf..90df9bd5 100644 --- a/internal/conf/db.go +++ b/internal/conf/db.go @@ -30,6 +30,7 @@ const ( TableContactGroup = "contact_group" TableMessage = "message" TablePost = "post" + TablePostMetric = "post_metric" TablePostByComment = "post_by_comment" TablePostByMedia = "post_by_media" TablePostAttachmentBill = "post_attachment_bill" diff --git a/internal/conf/setting.go b/internal/conf/setting.go index d68f3085..64678feb 100644 --- a/internal/conf/setting.go +++ b/internal/conf/setting.go @@ -350,6 +350,7 @@ func (s *databaseConf) TableNames() (res TableNameMap) { TableContactGroup, TableMessage, TablePost, + TablePostMetric, TablePostByComment, TablePostByMedia, TablePostAttachmentBill, diff --git a/internal/core/cs/tweets.go b/internal/core/cs/tweets.go index c885b132..49aa7763 100644 --- a/internal/core/cs/tweets.go +++ b/internal/core/cs/tweets.go @@ -16,11 +16,10 @@ const ( TweetBlockChargeAttachment // 推文可见性 - TweetVisitPublic TweetVisibleType = iota - TweetVisitPrivate - TweetVisitFriend - TweetVisitFollowing - TweetVisitInvalid + TweetVisitPublic TweetVisibleType = 90 + TweetVisitPrivate TweetVisibleType = 0 + TweetVisitFriend TweetVisibleType = 50 + TweetVisitFollowing TweetVisibleType = 60 // 用户推文列表样式 StyleUserTweetsGuest uint8 = iota @@ -29,11 +28,6 @@ const ( StyleUserTweetsFriend StyleUserTweetsFollowing - // 广场推文列表样式 - StyleIndexTweetsSearch uint8 = iota - StyleIndexTweetsNewest - StyleIndexTweetsHots - // 附件类型 AttachmentTypeImage AttachmentType = iota + 1 AttachmentTypeVideo @@ -45,7 +39,7 @@ type ( // TODO: 优化一下类型为 uint8, 需要底层数据库同步修改 TweetBlockType int - // TweetVisibleType 推文可见性,0公开,1私密,2好友 + // TweetVisibleType 推文可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开', TweetVisibleType uint8 // AttachmentType 附件类型, 1图片, 2视频, 3其他 @@ -152,3 +146,19 @@ type NewTweetReq struct { Visibility TweetVisibleType `json:"visibility"` ClientIP string `json:"-" binding:"-"` } + +func (t TweetVisibleType) ToOutValue() (res uint8) { + switch t { + case TweetVisitPublic: + res = 0 + case TweetVisitPrivate: + res = 1 + case TweetVisitFriend: + res = 2 + case TweetVisitFollowing: + res = 3 + default: + res = 1 + } + return +} diff --git a/internal/core/ms/tweets.go b/internal/core/ms/tweets.go index eab6d85c..f0d4e1e6 100644 --- a/internal/core/ms/tweets.go +++ b/internal/core/ms/tweets.go @@ -25,10 +25,10 @@ const ( ) const ( - PostVisitPublic PostVisibleT = iota - PostVisitPrivate - PostVisitFriend - PostVisitInvalid + PostVisitPublic = dbr.PostVisitPublic + PostVisitPrivate = dbr.PostVisitPrivate + PostVisitFriend = dbr.PostVisitFriend + PostVisitFollowing = dbr.PostVisitFollowing ) type ( diff --git a/internal/core/search.go b/internal/core/search.go index 7a0df014..1cce77e0 100644 --- a/internal/core/search.go +++ b/internal/core/search.go @@ -19,11 +19,10 @@ const ( PostVisitPrivate = dbr.PostVisitPrivate PostVisitFriend = dbr.PostVisitFriend PostVisitFollowing = dbr.PostVisitFollowing - PostVisitInvalid = dbr.PostVisitInvalid ) type ( - // PostVisibleT 可访问类型,0公开,1私密,2好友 + // PostVisibleT 可访问类型,可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 PostVisibleT = dbr.PostVisibleT SearchType string diff --git a/internal/core/tweets.go b/internal/core/tweets.go index 734bf849..3c49136c 100644 --- a/internal/core/tweets.go +++ b/internal/core/tweets.go @@ -28,7 +28,9 @@ type TweetService interface { ListUserCommentTweets(user *cs.VistUser, limit int, offset int) ([]*ms.Post, int64, error) ListUserTweets(userId int64, style uint8, justEssence bool, limit, offset int) ([]*ms.Post, int64, error) ListFollowingTweets(userId int64, limit, offset int) ([]*ms.Post, int64, error) - ListIndexTweets(style uint8, limit, offset int) ([]*ms.Post, int64, error) + ListIndexNewestTweets(limit, offset int) ([]*ms.Post, int64, error) + ListIndexHotsTweets(limit, offset int) ([]*ms.Post, int64, error) + ListSyncSearchTweets(limit, offset int) ([]*ms.Post, int64, error) } // TweetManageService 推文管理服务,包括创建/删除/更新推文 @@ -38,7 +40,7 @@ type TweetManageService interface { LockPost(post *ms.Post) error StickPost(post *ms.Post) error HighlightPost(userId, postId int64) (int, error) - VisiblePost(post *ms.Post, visibility PostVisibleT) error + VisiblePost(post *ms.Post, visibility cs.TweetVisibleType) error UpdatePost(post *ms.Post) error CreatePostStar(postID, userID int64) (*ms.PostStar, error) DeletePostStar(p *ms.PostStar) error diff --git a/internal/dao/jinzhu/dbr/post.go b/internal/dao/jinzhu/dbr/post.go index fb28464a..76aa57c9 100644 --- a/internal/dao/jinzhu/dbr/post.go +++ b/internal/dao/jinzhu/dbr/post.go @@ -11,15 +11,14 @@ import ( "gorm.io/gorm" ) -// PostVisibleT 可访问类型,0公开,1私密,2好友 +// PostVisibleT 可访问类型,可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开', type PostVisibleT uint8 const ( - PostVisitPublic PostVisibleT = iota - PostVisitPrivate - PostVisitFriend - PostVisitFollowing - PostVisitInvalid + PostVisitPublic PostVisibleT = 90 + PostVisitPrivate PostVisibleT = 0 + PostVisitFriend PostVisibleT = 50 + PostVisitFollowing PostVisibleT = 60 ) type PostByMedia = Post @@ -65,6 +64,22 @@ type PostFormated struct { IPLoc string `json:"ip_loc"` } +func (t PostVisibleT) ToOutValue() (res uint8) { + switch t { + case PostVisitPublic: + res = 0 + case PostVisitPrivate: + res = 1 + case PostVisitFriend: + res = 2 + case PostVisitFollowing: + res = 3 + default: + res = 1 + } + return +} + func (p *Post) Format() *PostFormated { if p.Model != nil { tagsMap := map[string]int8{} @@ -212,8 +227,6 @@ func (p PostVisibleT) String() string { return "private" case PostVisitFriend: return "friend" - case PostVisitInvalid: - return "invalid" default: return "unknow" } diff --git a/internal/dao/jinzhu/gorm.go b/internal/dao/jinzhu/gorm.go index c5b0d4f6..7ba67927 100644 --- a/internal/dao/jinzhu/gorm.go +++ b/internal/dao/jinzhu/gorm.go @@ -22,6 +22,7 @@ var ( _contactGroup_ string _message_ string _post_ string + _post_metric_ string _post_by_comment_ string _post_by_media_ string _postAttachmentBill_ string @@ -48,6 +49,7 @@ func initTableName() { _contactGroup_ = m[conf.TableContactGroup] _message_ = m[conf.TableMessage] _post_ = m[conf.TablePost] + _post_metric_ = m[conf.TablePostMetric] _post_by_comment_ = m[conf.TablePostByComment] _post_by_media_ = m[conf.TablePostByMedia] _postAttachmentBill_ = m[conf.TablePostAttachmentBill] diff --git a/internal/dao/jinzhu/tweets.go b/internal/dao/jinzhu/tweets.go index 44f22177..b0db4b7e 100644 --- a/internal/dao/jinzhu/tweets.go +++ b/internal/dao/jinzhu/tweets.go @@ -5,6 +5,7 @@ package jinzhu import ( + "fmt" "strings" "time" @@ -214,7 +215,6 @@ func (s *tweetManageSrv) CreatePost(post *ms.Post) (*ms.Post, error) { func (s *tweetManageSrv) DeletePost(post *ms.Post) ([]string, error) { var mediaContents []string - postId := post.ID postContent := &dbr.PostContent{} err := s.db.Transaction( @@ -326,15 +326,15 @@ func (s *tweetManageSrv) HighlightPost(userId int64, postId int64) (res int, err return post.IsEssence, nil } -func (s *tweetManageSrv) VisiblePost(post *ms.Post, visibility core.PostVisibleT) (err error) { +func (s *tweetManageSrv) VisiblePost(post *ms.Post, visibility cs.TweetVisibleType) (err error) { oldVisibility := post.Visibility - post.Visibility = visibility + post.Visibility = ms.PostVisibleT(visibility) // TODO: 这个判断是否可以不要呢 - if oldVisibility == visibility { + if oldVisibility == ms.PostVisibleT(visibility) { return nil } // 私密推文 特殊处理 - if visibility == dbr.PostVisitPrivate { + if visibility == cs.TweetVisitPrivate { // 强制取消置顶 // TODO: 置顶推文用户是否有权设置成私密? 后续完善 post.IsTop = 0 @@ -350,7 +350,7 @@ func (s *tweetManageSrv) VisiblePost(post *ms.Post, visibility core.PostVisibleT if oldVisibility == dbr.PostVisitPrivate { // 从私密转为非私密才需要重新创建tag createTags(tx, post.UserID, tags) - } else if visibility == dbr.PostVisitPrivate { + } else if visibility == cs.TweetVisitPrivate { // 从非私密转为私密才需要删除tag deleteTags(tx, tags) } @@ -392,19 +392,129 @@ func (s *tweetSrv) GetPosts(conditions ms.ConditionsT, offset, limit int) ([]*ms return (&dbr.Post{}).List(s.db, conditions, offset, limit) } -func (s *tweetSrv) ListUserTweets(userId int64, style uint8, justEssence bool, limit, offset int) ([]*ms.Post, int64, error) { - // TODO - return nil, 0, debug.ErrNotImplemented +func (s *tweetSrv) ListUserTweets(userId int64, style uint8, justEssence bool, limit, offset int) (res []*ms.Post, total int64, err error) { + db := s.db.Table(_post_).Where("user_id = ?", userId) + switch style { + case cs.StyleUserTweetsAdmin: + fallthrough + case cs.StyleUserTweetsSelf: + db = db.Where("visibility >= ?", cs.TweetVisitPrivate) + case cs.StyleUserTweetsFriend: + db = db.Where("visibility >= ?", cs.TweetVisitFriend) + case cs.StyleUserTweetsFollowing: + db = db.Where("visibility >= ?", cs.TweetVisitFollowing) + case cs.StyleUserTweetsGuest: + fallthrough + default: + db = db.Where("visibility >= ?", cs.TweetVisitPublic) + } + if justEssence { + db = db.Where("is_essence=1") + } + if err = db.Count(&total).Error; err != nil { + return + } + if offset >= 0 && limit > 0 { + db = db.Offset(offset).Limit(limit) + } + if err = db.Order("is_top DESC, latest_replied_on DESC").Find(&res).Error; err != nil { + return + } + return } -func (s *tweetSrv) ListIndexTweets(style uint8, limit, offset int) ([]*ms.Post, int64, error) { - // TODO - return nil, 0, debug.ErrNotImplemented +func (s *tweetSrv) ListIndexNewestTweets(limit, offset int) (res []*ms.Post, total int64, err error) { + db := s.db.Table(_post_).Where("visibility >= ?", cs.TweetVisitPublic) + if err = db.Count(&total).Error; err != nil { + return + } + if offset >= 0 && limit > 0 { + db = db.Offset(offset).Limit(limit) + } + if err = db.Order("is_top DESC, latest_replied_on DESC").Find(&res).Error; err != nil { + return + } + return } -func (s *tweetSrv) ListFollowingTweets(userId int64, limit, offset int) ([]*ms.Post, int64, error) { - // TODO - return nil, 0, debug.ErrNotImplemented +func (s *tweetSrv) ListIndexHotsTweets(limit, offset int) (res []*ms.Post, total int64, err error) { + db := s.db.Table(_post_).Joins(fmt.Sprintf("JOIN %s metric ON %s.id=metric.post_id", _post_metric_, _post_)).Where("visibility >= ?", cs.TweetVisitPublic) + if err = db.Count(&total).Error; err != nil { + return + } + if offset >= 0 && limit > 0 { + db = db.Offset(offset).Limit(limit) + } + if err = db.Order("is_top DESC, metric.rank_score DESC, latest_replied_on DESC").Find(&res).Error; err != nil { + return + } + return +} + +func (s *tweetSrv) ListSyncSearchTweets(limit, offset int) (res []*ms.Post, total int64, err error) { + db := s.db.Table(_post_).Where("visibility >= ?", cs.TweetVisitFriend) + if err = db.Count(&total).Error; err != nil { + return + } + if offset >= 0 && limit > 0 { + db = db.Offset(offset).Limit(limit) + } + if err = db.Find(&res).Error; err != nil { + return + } + return +} + +func (s *tweetSrv) ListFollowingTweets(userId int64, limit, offset int) (res []*ms.Post, total int64, err error) { + beFriendIds, beFollowIds, xerr := s.getUserRelation(userId) + if xerr != nil { + return nil, 0, xerr + } + beFriendCount, beFollowCount := len(beFriendIds), len(beFollowIds) + db := s.db.Table(_post_) + //可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开', + switch { + case beFriendCount > 0 && beFollowCount > 0: + db = db.Where("user_id=? OR (visibility>=50 AND user_id IN(?)) OR (visibility>=60 AND user_id IN(?))", userId, beFriendIds, beFollowIds) + case beFriendCount > 0 && beFollowCount == 0: + db = db.Where("user_id=? OR (visibility>=50 AND user_id IN(?))", userId, beFriendIds) + case beFriendCount == 0 && beFollowCount > 0: + db = db.Where("user_id=? OR (visibility>=60 AND user_id IN(?))", userId, beFollowIds) + case beFriendCount == 0 && beFollowCount == 0: + db = db.Where("user_id = ?", userId) + } + if err = db.Count(&total).Error; err != nil { + return + } + if offset >= 0 && limit > 0 { + db = db.Offset(offset).Limit(limit) + } + if err = db.Find(&res).Error; err != nil { + return + } + return +} + +func (s *tweetSrv) getUserRelation(userId int64) (beFriendIds []int64, beFollowIds []int64, err error) { + if err = s.db.Table(_contact_).Where("friend_id=?", userId).Select("user_id").Find(&beFriendIds).Error; err != nil { + return + } + if err = s.db.Table(_following_).Where("user_id=?", userId).Select("follow_id").Find(&beFollowIds).Error; err != nil { + return + } + // 即是好友又是关注者,保留好友去除关注者 + for _, id := range beFriendIds { + for i := 0; i < len(beFollowIds); i++ { + // 找到item即删,数据库已经保证唯一性 + if beFollowIds[i] == id { + lastIdx := len(beFollowIds) - 1 + beFriendIds[i] = beFriendIds[lastIdx] + beFollowIds = beFollowIds[:lastIdx] + break + } + } + } + return } func (s *tweetSrv) GetPostCount(conditions ms.ConditionsT) (int64, error) { diff --git a/internal/model/web/loose.go b/internal/model/web/loose.go index cd6c1b5a..83d426ac 100644 --- a/internal/model/web/loose.go +++ b/internal/model/web/loose.go @@ -118,6 +118,6 @@ func (r *TimelineReq) Bind(c *gin.Context) mir.Error { User: user, } r.Page, r.PageSize = app.GetPageInfo(c) - r.Query, r.Type = c.Query("query"), "search" + r.Query, r.Type, r.Style = c.Query("query"), "search", c.Query("style") return nil } diff --git a/internal/model/web/priv.go b/internal/model/web/priv.go index 604311b1..93f38034 100644 --- a/internal/model/web/priv.go +++ b/internal/model/web/priv.go @@ -13,6 +13,7 @@ import ( "github.com/alimy/mir/v4" "github.com/gin-gonic/gin" "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" "github.com/rocboss/paopao-ce/internal/core/ms" "github.com/rocboss/paopao-ce/internal/model/joint" "github.com/rocboss/paopao-ce/internal/servants/base" @@ -20,6 +21,17 @@ import ( "github.com/rocboss/paopao-ce/pkg/xerror" ) +const ( + // 推文可见性 + TweetVisitPublic TweetVisibleType = iota + TweetVisitPrivate + TweetVisitFriend + TweetVisitFollowing + TweetVisitInvalid +) + +type TweetVisibleType cs.TweetVisibleType + type TweetCommentThumbsReq struct { SimpleInfo `json:"-" binding:"-"` TweetId int64 `json:"tweet_id" binding:"required"` @@ -45,7 +57,7 @@ type CreateTweetReq struct { Tags []string `json:"tags" binding:"required"` Users []string `json:"users" binding:"required"` AttachmentPrice int64 `json:"attachment_price"` - Visibility core.PostVisibleT `json:"visibility"` + Visibility TweetVisibleType `json:"visibility"` ClientIP string `json:"-" binding:"-"` } @@ -103,12 +115,12 @@ type HighlightTweetResp struct { type VisibleTweetReq struct { BaseInfo `json:"-" binding:"-"` - ID int64 `json:"id"` - Visibility core.PostVisibleT `json:"visibility"` + ID int64 `json:"id"` + Visibility TweetVisibleType `json:"visibility"` } type VisibleTweetResp struct { - Visibility core.PostVisibleT `json:"visibility"` + Visibility TweetVisibleType `json:"visibility"` } type CreateCommentReq struct { @@ -296,3 +308,22 @@ func (r *CreateTweetResp) Render(c *gin.Context) { Id: r.ID, }) } + +func (t TweetVisibleType) ToVisibleValue() (res cs.TweetVisibleType) { + // 原来的可见性: 0公开 1私密 2好友可见 3关注可见 + // 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 + switch t { + case TweetVisitPublic: + res = cs.TweetVisitPublic + case TweetVisitPrivate: + res = cs.TweetVisitPrivate + case TweetVisitFriend: + res = cs.TweetVisitFriend + case TweetVisitFollowing: + res = cs.TweetVisitFollowing + default: + // TODO: 默认私密 + res = cs.TweetVisitPrivate + } + return +} diff --git a/internal/servants/base/base.go b/internal/servants/base/base.go index cedebf3f..674c08de 100644 --- a/internal/servants/base/base.go +++ b/internal/servants/base/base.go @@ -208,13 +208,8 @@ func (s *DaoServant) pushAllPostToSearch() error { ctx := context.Background() if err := s.Redis.SetPushToSearchJob(ctx); err == nil { defer s.Redis.DelPushToSearchJob(ctx) - splitNum := 1000 - // conditions := ms.ConditionsT{ - // "visibility IN ?": []core.PostVisibleT{core.PostVisitPublic, core.PostVisitFriend}, - // } - // totalRows, _ := s.Ds.GetPostCount(conditions) - posts, totalRows, err := s.Ds.ListIndexTweets(cs.StyleIndexTweetsSearch, splitNum, 0) + posts, totalRows, err := s.Ds.ListSyncSearchTweets(splitNum, 0) if err != nil { return fmt.Errorf("get first page tweets push to search failed: %s", err) } @@ -240,7 +235,7 @@ func (s *DaoServant) pushAllPostToSearch() error { if i++; i >= nums { break } - if posts, _, err = s.Ds.ListIndexTweets(cs.StyleIndexTweetsSearch, splitNum, i*splitNum); err != nil { + if posts, _, err = s.Ds.ListSyncSearchTweets(splitNum, i*splitNum); err != nil { return fmt.Errorf("get tweets push to search failed: %s, limit[%d] offset[%d]", err, splitNum, i*splitNum) } } diff --git a/internal/servants/web/events.go b/internal/servants/web/events.go index f3879d5e..fb50e739 100644 --- a/internal/servants/web/events.go +++ b/internal/servants/web/events.go @@ -14,6 +14,7 @@ import ( "github.com/rocboss/paopao-ce/internal/events" "github.com/rocboss/paopao-ce/internal/model/joint" "github.com/rocboss/paopao-ce/internal/model/web" + "github.com/sirupsen/logrus" ) type cacheUnreadMsgEvent struct { @@ -30,6 +31,12 @@ type createMessageEvent struct { message *ms.Message } +type createTweetEvent struct { + event.UnimplementedEvent + tweet *ms.Post + ac core.AppCache +} + func onCacheUnreadMsgEvent(uid int64) { events.OnEvent(&cacheUnreadMsgEvent{ ds: _ds, @@ -46,6 +53,13 @@ func onCreateMessageEvent(data *ms.Message) { }) } +func onCreateTweetEvent(tweet *ms.Post) { + events.OnEvent(&createTweetEvent{ + ac: _ac, + tweet: tweet, + }) +} + func (e *cacheUnreadMsgEvent) Name() string { return "cacheUnreadMsgEvent" } @@ -86,3 +100,13 @@ func (e *createMessageEvent) Action() (err error) { } return } + +func (e *createTweetEvent) Name() string { + return "createTweetEvent" +} + +func (e *createTweetEvent) Action() (err error) { + // TODO: 过期缓存,重新计算rank等 + logrus.Debug("createTweetEvent post action running") + return +} diff --git a/internal/servants/web/loose.go b/internal/servants/web/loose.go index 2f5a2f5d..df74f50c 100644 --- a/internal/servants/web/loose.go +++ b/internal/servants/web/loose.go @@ -62,6 +62,8 @@ func (s *looseSrv) Timeline(req *web.TimelineReq) (*web.TimelineResp, mir.Error) logrus.Errorf("Ds.RevampPosts err: %s", err) return nil, web.ErrGetPostsFailed } + // TODO: 暂时处理,需要去掉这个步骤 + visbleTansform(posts) resp := joint.PageRespFrom(posts, req.Page, req.PageSize, res.Total) return &web.TimelineResp{ CachePageResp: joint.CachePageResp{ @@ -90,9 +92,9 @@ func (s *looseSrv) getIndexTweets(req *web.TimelineReq, limit int, offset int) ( return nil, web.ErrGetPostsNilUser } case web.StyleTweetsNewest: - posts, total, xerr = s.Ds.ListIndexTweets(cs.StyleIndexTweetsNewest, limit, offset) + posts, total, xerr = s.Ds.ListIndexNewestTweets(limit, offset) case web.StyleTweetsHots: - posts, total, xerr = s.Ds.ListIndexTweets(cs.StyleIndexTweetsHots, limit, offset) + posts, total, xerr = s.Ds.ListIndexHotsTweets(limit, offset) default: return nil, web.ErrGetPostsUnknowStyle } @@ -105,6 +107,8 @@ func (s *looseSrv) getIndexTweets(req *web.TimelineReq, limit int, offset int) ( logrus.Errorf("getIndexTweets in merge posts occurs error: %s", verr) return nil, web.ErrGetPostFailed } + // TODO: 暂时处理,需要去掉这个步骤 + visbleTansform(postsFormated) resp := joint.PageRespFrom(postsFormated, req.Page, req.PageSize, total) // 缓存处理 base.OnCacheRespEvent(s.ac, key, resp, s.idxTweetsExpire) @@ -203,6 +207,8 @@ func (s *looseSrv) getUserStarTweets(req *web.GetUserTweetsReq, user *cs.VistUse logrus.Errorf("Ds.MergePosts err: %s", err) return nil, web.ErrGetStarsFailed } + // TODO: 暂时处理,需要去掉这个步骤 + visbleTansform(postsFormated) resp := joint.PageRespFrom(postsFormated, req.Page, req.PageSize, totalRows) return &web.GetUserTweetsResp{ CachePageResp: joint.CachePageResp{ @@ -234,6 +240,8 @@ func (s *looseSrv) listUserTweets(req *web.GetUserTweetsReq, user *cs.VistUser) logrus.Errorf("s.listUserTweets err: %s", err) return nil, web.ErrGetPostsFailed } + // TODO: 暂时处理,需要去掉这个步骤 + visbleTansform(postFormated) resp := joint.PageRespFrom(postFormated, req.Page, req.PageSize, total) return &web.GetUserTweetsResp{ CachePageResp: joint.CachePageResp{ @@ -268,6 +276,8 @@ func (s *looseSrv) getUserPostTweets(req *web.GetUserTweetsReq, user *cs.VistUse logrus.Errorf("s.GetTweetList error[2]: %s", err) return nil, web.ErrGetPostsFailed } + // TODO: 暂时处理,需要去掉这个步骤 + visbleTansform(postsFormated) resp := joint.PageRespFrom(postsFormated, req.Page, req.PageSize, total) return &web.GetUserTweetsResp{ CachePageResp: joint.CachePageResp{ @@ -436,10 +446,15 @@ func (s *looseSrv) TweetComments(req *web.TweetCommentsReq) (*web.TweetCommentsR } func newLooseSrv(s *base.DaoServant, ac core.AppCache) api.Loose { + cs := conf.CacheSetting return &looseSrv{ - DaoServant: s, - ac: ac, - userTweetsExpire: conf.CacheSetting.UserTweetsExpire, - prefixUserTweets: conf.PrefixUserTweets, + DaoServant: s, + ac: ac, + userTweetsExpire: cs.UserTweetsExpire, + idxTweetsExpire: cs.IndexTweetsExpire, + prefixUserTweets: conf.PrefixUserTweets, + prefixIdxTweetsNewest: conf.PrefixIdxTweetsNewest, + prefixIdxTweetsHots: conf.PrefixIdxTweetsHots, + prefixIdxTweetsFollowing: conf.PrefixIdxTweetsFollowing, } } diff --git a/internal/servants/web/priv.go b/internal/servants/web/priv.go index 329bbe64..72e3db55 100644 --- a/internal/servants/web/priv.go +++ b/internal/servants/web/priv.go @@ -249,7 +249,7 @@ func (s *privSrv) CreateTweet(req *web.CreateTweetReq) (_ *web.CreateTweetResp, IP: req.ClientIP, IPLoc: utils.GetIPLoc(req.ClientIP), AttachmentPrice: req.AttachmentPrice, - Visibility: req.Visibility, + Visibility: ms.PostVisibleT(req.Visibility.ToVisibleValue()), } post, err = s.Ds.CreatePost(post) if err != nil { @@ -309,6 +309,8 @@ func (s *privSrv) CreateTweet(req *web.CreateTweetReq) (_ *web.CreateTweetResp, logrus.Infof("Ds.RevampPosts err: %s", err) return nil, web.ErrCreatePostFailed } + // 发推后处理 + onCreateTweetEvent(post) return (*web.CreateTweetResp)(formatedPosts[0]), nil } @@ -598,7 +600,7 @@ func (s *privSrv) StarTweet(req *web.StarTweetReq) (*web.StarTweetResp, mir.Erro } func (s *privSrv) VisibleTweet(req *web.VisibleTweetReq) (*web.VisibleTweetResp, mir.Error) { - if req.Visibility >= core.PostVisitInvalid { + if req.Visibility >= web.TweetVisitInvalid { return nil, xerror.InvalidParams } post, err := s.Ds.GetPostByID(req.ID) @@ -608,13 +610,13 @@ func (s *privSrv) VisibleTweet(req *web.VisibleTweetReq) (*web.VisibleTweetResp, if xerr := checkPermision(req.User, post.UserID); xerr != nil { return nil, xerr } - if err = s.Ds.VisiblePost(post, req.Visibility); err != nil { + if err = s.Ds.VisiblePost(post, req.Visibility.ToVisibleValue()); err != nil { logrus.Warnf("s.Ds.VisiblePost: %s", err) return nil, web.ErrVisblePostFailed } // 推送Search - post.Visibility = req.Visibility + post.Visibility = ms.PostVisibleT(req.Visibility.ToVisibleValue()) s.PushPostToSearch(post) return &web.VisibleTweetResp{ diff --git a/internal/servants/web/pub.go b/internal/servants/web/pub.go index f12f74ee..1aa2dc9a 100644 --- a/internal/servants/web/pub.go +++ b/internal/servants/web/pub.go @@ -65,6 +65,8 @@ func (s *pubSrv) TweetDetail(req *web.TweetDetailReq) (*web.TweetDetailResp, mir postFormated.Contents = append(postFormated.Contents, content.Format()) } } + // TODO: 暂时处理办法,后续需要优化去掉这个步骤 + postFormated.Visibility = ms.PostVisibleT(postFormated.Visibility.ToOutValue()) return (*web.TweetDetailResp)(postFormated), nil } diff --git a/internal/servants/web/utils.go b/internal/servants/web/utils.go index 0e2696e3..00bb3ca6 100644 --- a/internal/servants/web/utils.go +++ b/internal/servants/web/utils.go @@ -207,3 +207,10 @@ func checkPermision(user *ms.User, targetUserId int64) mir.Error { } return nil } + +// visbleTansform 可见性等价转换,暂时处理方式,后续需要去掉这个步骤 +func visbleTansform(list []*ms.PostFormated) { + for _, post := range list { + post.Visibility = ms.PostVisibleT(post.Visibility.ToOutValue()) + } +} diff --git a/web/dist/assets/404-e1bbb486.js b/web/dist/assets/404-d844c63e.js similarity index 85% rename from web/dist/assets/404-e1bbb486.js rename to web/dist/assets/404-d844c63e.js index 67709089..5600ff54 100644 --- a/web/dist/assets/404-e1bbb486.js +++ b/web/dist/assets/404-d844c63e.js @@ -1 +1 @@ -import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as i}from"./vue-router-e5a2430e.js";import{F as a,e as c,a2 as u}from"./naive-ui-d8de3dda.js";import{d as l,f as d,k as t,w as o,e as f,A as x}from"./@vue-a481fc63.js";import{_ as g}from"./index-fcb35ad4.js";import"./vuex-44de225f.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */const v=l({__name:"404",setup(h){const e=i(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=a;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const O=g(v,[["__scopeId","data-v-e62daa85"]]);export{O as default}; +import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as i}from"./vue-router-e5a2430e.js";import{F as a,e as c,a2 as u}from"./naive-ui-d8de3dda.js";import{d as l,f as d,k as t,w as o,e as f,A as x}from"./@vue-a481fc63.js";import{_ as g}from"./index-5faa66a7.js";import"./vuex-44de225f.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */const v=l({__name:"404",setup(h){const e=i(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=a;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const O=g(v,[["__scopeId","data-v-e62daa85"]]);export{O as default}; diff --git a/web/dist/assets/Anouncement-a5b70f32.js b/web/dist/assets/Anouncement-9133d100.js similarity index 91% rename from web/dist/assets/Anouncement-a5b70f32.js rename to web/dist/assets/Anouncement-9133d100.js index 12bc1d10..8a973884 100644 --- a/web/dist/assets/Anouncement-a5b70f32.js +++ b/web/dist/assets/Anouncement-9133d100.js @@ -1 +1 @@ -import{_ as F}from"./post-skeleton-f060289d.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as z}from"./vuex-44de225f.js";import{b as A}from"./vue-router-e5a2430e.js";import{E as R,_ as S}from"./index-fcb35ad4.js";import{F as V,Q as q,I as E,G as I}from"./naive-ui-d8de3dda.js";import{d as P,H as n,b as j,f as o,k as a,w as p,e as t,bf as u,Y as l,F as D,u as G,q as H,j as s,x as _,l as L}from"./@vue-a481fc63.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const M={key:0,class:"pagination-wrap"},O={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},Y=P({__name:"Anouncement",setup($){const d=z(),g=A(),v=n(!1),i=n([]),r=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{r.value=m};return j(()=>{}),(m,J)=>{const k=N,y=q,x=F,w=E,B=I,C=V;return t(),o("div",null,[a(k,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(t(),o("div",M,[a(y,{page:r.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(t(),o("div",O,[a(x,{num:f.value},null,8,["num"])])):(t(),o("div",Q,[i.value.length===0?(t(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(t(!0),o(D,null,G(i.value,e=>(t(),H(B,{key:e.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:L({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const ke=S(Y,[["__scopeId","data-v-d4d04859"]]);export{ke as default}; +import{_ as F}from"./post-skeleton-47a1ebec.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as z}from"./vuex-44de225f.js";import{b as A}from"./vue-router-e5a2430e.js";import{E as R,_ as S}from"./index-5faa66a7.js";import{F as V,Q as q,I as E,G as I}from"./naive-ui-d8de3dda.js";import{d as P,H as n,b as j,f as o,k as a,w as p,e as t,bf as u,Y as l,F as D,u as G,q as H,j as s,x as _,l as L}from"./@vue-a481fc63.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const M={key:0,class:"pagination-wrap"},O={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},Y=P({__name:"Anouncement",setup($){const d=z(),g=A(),v=n(!1),i=n([]),r=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{r.value=m};return j(()=>{}),(m,J)=>{const k=N,y=q,x=F,w=E,B=I,C=V;return t(),o("div",null,[a(k,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(t(),o("div",M,[a(y,{page:r.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(t(),o("div",O,[a(x,{num:f.value},null,8,["num"])])):(t(),o("div",Q,[i.value.length===0?(t(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(t(!0),o(D,null,G(i.value,e=>(t(),H(B,{key:e.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:L({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const ke=S(Y,[["__scopeId","data-v-d4d04859"]]);export{ke as default}; diff --git a/web/dist/assets/Collection-38566728.js b/web/dist/assets/Collection-2ba2fc81.js similarity index 84% rename from web/dist/assets/Collection-38566728.js rename to web/dist/assets/Collection-2ba2fc81.js index d583fcf3..6e55d7d4 100644 --- a/web/dist/assets/Collection-38566728.js +++ b/web/dist/assets/Collection-2ba2fc81.js @@ -1 +1 @@ -import{_ as I}from"./whisper-150920d0.js";import{_ as N,a as Q}from"./post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js";import{_ as V}from"./post-skeleton-f060289d.js";import{_ as W}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as E}from"./vuex-44de225f.js";import{b as G}from"./vue-router-e5a2430e.js";import{Q as H,_ as L}from"./index-fcb35ad4.js";import{d as T,H as s,b as U,f as o,k as n,w as u,bf as h,Y as w,e,F as k,u as y,q as C}from"./@vue-a481fc63.js";import{F as Y,Q as j,I as A,G as D}from"./naive-ui-d8de3dda.js";import"./content-d73d8961.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={key:0,class:"skeleton-wrap"},K={key:1},O={key:0,class:"empty-wrap"},X={key:1},Z={key:2},ee={key:0,class:"pagination-wrap"},oe=T({__name:"Collection",setup(te){const m=E(),S=G(),_=s(!1),i=s([]),l=s(+S.query.p||1),p=s(20),r=s(0),c=s(!1),d=s({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),f=t=>{d.value=t,c.value=!0},b=()=>{c.value=!1},v=()=>{_.value=!0,H({page:l.value,page_size:p.value}).then(t=>{_.value=!1,i.value=t.list,r.value=Math.ceil(t.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(t=>{_.value=!1})},x=t=>{l.value=t,v()};return U(()=>{v()}),(t,ne)=>{const $=W,z=V,B=A,F=N,g=D,M=Q,P=I,R=Y,q=j;return e(),o("div",null,[n($,{title:"收藏"}),n(R,{class:"main-content-wrap",bordered:""},{default:u(()=>[_.value?(e(),o("div",J,[n(z,{num:p.value},null,8,["num"])])):(e(),o("div",K,[i.value.length===0?(e(),o("div",O,[n(B,{size:"large",description:"暂无数据"})])):w("",!0),h(m).state.desktopModelShow?(e(),o("div",X,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(F,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))])):(e(),o("div",Z,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(M,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))]))])),n(P,{show:c.value,user:d.value,onSuccess:b},null,8,["show","user"])]),_:1}),r.value>0?(e(),o("div",ee,[n(q,{page:l.value,"onUpdate:page":x,"page-slot":h(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):w("",!0)])}}});const Ne=L(oe,[["__scopeId","data-v-760779af"]]);export{Ne as default}; +import{_ as I}from"./whisper-d959da10.js";import{_ as N,a as Q}from"./post-item.vue_vue_type_style_index_0_lang-d5631a43.js";import{_ as V}from"./post-skeleton-47a1ebec.js";import{_ as W}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as E}from"./vuex-44de225f.js";import{b as G}from"./vue-router-e5a2430e.js";import{Q as H,_ as L}from"./index-5faa66a7.js";import{d as T,H as s,b as U,f as o,k as n,w as u,bf as h,Y as w,e,F as k,u as y,q as C}from"./@vue-a481fc63.js";import{F as Y,Q as j,I as A,G as D}from"./naive-ui-d8de3dda.js";import"./content-2d41ca0a.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={key:0,class:"skeleton-wrap"},K={key:1},O={key:0,class:"empty-wrap"},X={key:1},Z={key:2},ee={key:0,class:"pagination-wrap"},oe=T({__name:"Collection",setup(te){const m=E(),S=G(),_=s(!1),i=s([]),l=s(+S.query.p||1),p=s(20),r=s(0),c=s(!1),d=s({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),f=t=>{d.value=t,c.value=!0},b=()=>{c.value=!1},v=()=>{_.value=!0,H({page:l.value,page_size:p.value}).then(t=>{_.value=!1,i.value=t.list,r.value=Math.ceil(t.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(t=>{_.value=!1})},x=t=>{l.value=t,v()};return U(()=>{v()}),(t,ne)=>{const $=W,z=V,B=A,F=N,g=D,M=Q,P=I,R=Y,q=j;return e(),o("div",null,[n($,{title:"收藏"}),n(R,{class:"main-content-wrap",bordered:""},{default:u(()=>[_.value?(e(),o("div",J,[n(z,{num:p.value},null,8,["num"])])):(e(),o("div",K,[i.value.length===0?(e(),o("div",O,[n(B,{size:"large",description:"暂无数据"})])):w("",!0),h(m).state.desktopModelShow?(e(),o("div",X,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(F,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))])):(e(),o("div",Z,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(M,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))]))])),n(P,{show:c.value,user:d.value,onSuccess:b},null,8,["show","user"])]),_:1}),r.value>0?(e(),o("div",ee,[n(q,{page:l.value,"onUpdate:page":x,"page-slot":h(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):w("",!0)])}}});const Ne=L(oe,[["__scopeId","data-v-760779af"]]);export{Ne as default}; diff --git a/web/dist/assets/Contacts-789b01f1.js b/web/dist/assets/Contacts-e25841ce.js similarity index 92% rename from web/dist/assets/Contacts-789b01f1.js rename to web/dist/assets/Contacts-e25841ce.js index 4fe80acd..ba7d1d57 100644 --- a/web/dist/assets/Contacts-789b01f1.js +++ b/web/dist/assets/Contacts-e25841ce.js @@ -1 +1 @@ -import{_ as T}from"./whisper-150920d0.js";import{d as F,c as j,r as A,e as s,f as c,k as t,w as n,j as i,y as H,A as L,x as v,bf as g,h as I,H as a,b as U,Y as S,F as z,u as W,q as E}from"./@vue-a481fc63.js";import{F as G,_ as N,b as Q}from"./index-fcb35ad4.js";import{i as Y,p as J}from"./@vicons-7a4ef312.js";import{j as x,o as K,e as X,O as Z,L as ee,F as te,Q as ne,I as oe,G as se}from"./naive-ui-d8de3dda.js";import{_ as ae}from"./post-skeleton-f060289d.js";import{_ as ce}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as ie}from"./vuex-44de225f.js";import{b as _e}from"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const re={class:"contact-item"},le={class:"nickname-wrap"},pe={class:"username-wrap"},ue={class:"user-info"},me={class:"info-item"},de={class:"info-item"},fe={class:"item-header-extra"},ve=F({__name:"contact-item",props:{contact:{}},emits:["send-whisper"],setup(C,{emit:h}){const _=C,r=e=>()=>I(x,null,{default:()=>I(e)}),l=j(()=>[{label:"私信",key:"whisper",icon:r(J)}]),u=e=>{switch(e){case"whisper":const o={id:_.contact.user_id,avatar:_.contact.avatar,username:_.contact.username,nickname:_.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};h("send-whisper",o);break}};return(e,o)=>{const m=K,d=A("router-link"),w=X,k=Z,y=ee;return s(),c("div",re,[t(y,{"content-indented":""},{avatar:n(()=>[t(m,{size:54,src:e.contact.avatar},null,8,["src"])]),header:n(()=>[i("span",le,[t(d,{onClick:o[0]||(o[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:n(()=>[L(v(e.contact.nickname),1)]),_:1},8,["to"])]),i("span",pe," @"+v(e.contact.username),1),i("div",ue,[i("span",me," UID. "+v(e.contact.user_id),1),i("span",de,v(g(G)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":n(()=>[i("div",fe,[t(k,{placement:"bottom-end",trigger:"click",size:"small",options:l.value,onSelect:u},{default:n(()=>[t(w,{quaternary:"",circle:""},{icon:n(()=>[t(g(x),null,{default:n(()=>[t(g(Y))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const ge=N(ve,[["__scopeId","data-v-d62f19da"]]),he={key:0,class:"skeleton-wrap"},we={key:1},ke={key:0,class:"empty-wrap"},ye={key:0,class:"pagination-wrap"},Ce=F({__name:"Contacts",setup(C){const h=ie(),_=_e(),r=a(!1),l=a([]),u=a(+_.query.p||1),e=a(20),o=a(0),m=a(!1),d=a({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),w=p=>{d.value=p,m.value=!0},k=()=>{m.value=!1},y=p=>{u.value=p,$()};U(()=>{$()});const $=(p=!1)=>{l.value.length===0&&(r.value=!0),Q({page:u.value,page_size:e.value}).then(f=>{r.value=!1,l.value=f.list,o.value=Math.ceil(f.pager.total_rows/e.value),p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(f=>{r.value=!1})};return(p,f)=>{const q=ce,B=ae,M=oe,P=ge,V=se,D=T,O=te,R=ne;return s(),c(z,null,[i("div",null,[t(q,{title:"好友"}),t(O,{class:"main-content-wrap",bordered:""},{default:n(()=>[r.value?(s(),c("div",he,[t(B,{num:e.value},null,8,["num"])])):(s(),c("div",we,[l.value.length===0?(s(),c("div",ke,[t(M,{size:"large",description:"暂无数据"})])):S("",!0),(s(!0),c(z,null,W(l.value,b=>(s(),E(V,{class:"list-item",key:b.user_id},{default:n(()=>[t(P,{contact:b,onSendWhisper:w},null,8,["contact"])]),_:2},1024))),128))])),t(D,{show:m.value,user:d.value,onSuccess:k},null,8,["show","user"])]),_:1})]),o.value>0?(s(),c("div",ye,[t(R,{page:u.value,"onUpdate:page":y,"page-slot":g(h).state.collapsedRight?5:8,"page-count":o.value},null,8,["page","page-slot","page-count"])])):S("",!0)],64)}}});const Qe=N(Ce,[["__scopeId","data-v-e20fef94"]]);export{Qe as default}; +import{_ as T}from"./whisper-d959da10.js";import{d as F,c as j,r as A,e as s,f as c,k as t,w as n,j as i,y as H,A as L,x as v,bf as g,h as I,H as a,b as U,Y as S,F as z,u as W,q as E}from"./@vue-a481fc63.js";import{F as G,_ as N,b as Q}from"./index-5faa66a7.js";import{i as Y,p as J}from"./@vicons-7a4ef312.js";import{j as x,o as K,e as X,O as Z,L as ee,F as te,Q as ne,I as oe,G as se}from"./naive-ui-d8de3dda.js";import{_ as ae}from"./post-skeleton-47a1ebec.js";import{_ as ce}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as ie}from"./vuex-44de225f.js";import{b as _e}from"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const re={class:"contact-item"},le={class:"nickname-wrap"},pe={class:"username-wrap"},ue={class:"user-info"},me={class:"info-item"},de={class:"info-item"},fe={class:"item-header-extra"},ve=F({__name:"contact-item",props:{contact:{}},emits:["send-whisper"],setup(C,{emit:h}){const _=C,r=e=>()=>I(x,null,{default:()=>I(e)}),l=j(()=>[{label:"私信",key:"whisper",icon:r(J)}]),u=e=>{switch(e){case"whisper":const o={id:_.contact.user_id,avatar:_.contact.avatar,username:_.contact.username,nickname:_.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};h("send-whisper",o);break}};return(e,o)=>{const m=K,d=A("router-link"),w=X,k=Z,y=ee;return s(),c("div",re,[t(y,{"content-indented":""},{avatar:n(()=>[t(m,{size:54,src:e.contact.avatar},null,8,["src"])]),header:n(()=>[i("span",le,[t(d,{onClick:o[0]||(o[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:n(()=>[L(v(e.contact.nickname),1)]),_:1},8,["to"])]),i("span",pe," @"+v(e.contact.username),1),i("div",ue,[i("span",me," UID. "+v(e.contact.user_id),1),i("span",de,v(g(G)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":n(()=>[i("div",fe,[t(k,{placement:"bottom-end",trigger:"click",size:"small",options:l.value,onSelect:u},{default:n(()=>[t(w,{quaternary:"",circle:""},{icon:n(()=>[t(g(x),null,{default:n(()=>[t(g(Y))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const ge=N(ve,[["__scopeId","data-v-d62f19da"]]),he={key:0,class:"skeleton-wrap"},we={key:1},ke={key:0,class:"empty-wrap"},ye={key:0,class:"pagination-wrap"},Ce=F({__name:"Contacts",setup(C){const h=ie(),_=_e(),r=a(!1),l=a([]),u=a(+_.query.p||1),e=a(20),o=a(0),m=a(!1),d=a({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),w=p=>{d.value=p,m.value=!0},k=()=>{m.value=!1},y=p=>{u.value=p,$()};U(()=>{$()});const $=(p=!1)=>{l.value.length===0&&(r.value=!0),Q({page:u.value,page_size:e.value}).then(f=>{r.value=!1,l.value=f.list,o.value=Math.ceil(f.pager.total_rows/e.value),p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(f=>{r.value=!1})};return(p,f)=>{const q=ce,B=ae,M=oe,P=ge,V=se,D=T,O=te,R=ne;return s(),c(z,null,[i("div",null,[t(q,{title:"好友"}),t(O,{class:"main-content-wrap",bordered:""},{default:n(()=>[r.value?(s(),c("div",he,[t(B,{num:e.value},null,8,["num"])])):(s(),c("div",we,[l.value.length===0?(s(),c("div",ke,[t(M,{size:"large",description:"暂无数据"})])):S("",!0),(s(!0),c(z,null,W(l.value,b=>(s(),E(V,{class:"list-item",key:b.user_id},{default:n(()=>[t(P,{contact:b,onSendWhisper:w},null,8,["contact"])]),_:2},1024))),128))])),t(D,{show:m.value,user:d.value,onSuccess:k},null,8,["show","user"])]),_:1})]),o.value>0?(s(),c("div",ye,[t(R,{page:u.value,"onUpdate:page":y,"page-slot":g(h).state.collapsedRight?5:8,"page-count":o.value},null,8,["page","page-slot","page-count"])])):S("",!0)],64)}}});const Qe=N(Ce,[["__scopeId","data-v-e20fef94"]]);export{Qe as default}; diff --git a/web/dist/assets/Following-e831211b.js b/web/dist/assets/Following-0d52a2ca.js similarity index 95% rename from web/dist/assets/Following-e831211b.js rename to web/dist/assets/Following-0d52a2ca.js index 0dc92c04..022a1675 100644 --- a/web/dist/assets/Following-e831211b.js +++ b/web/dist/assets/Following-0d52a2ca.js @@ -1 +1 @@ -import{_ as K}from"./whisper-150920d0.js";import{d as B,c as Q,r as Y,e as _,f as u,k as o,w as t,j as p,y as X,A as x,x as k,q as N,Y as U,bf as g,h as C,H as r,b as Z,F as M,u as ee}from"./@vue-a481fc63.js";import{u as oe,b as ne}from"./vue-router-e5a2430e.js";import{F as te,J as se,K as ae,_ as O,U as le,V as ce}from"./index-fcb35ad4.js";import{i as ie,p as _e,z as re,v as ue}from"./@vicons-7a4ef312.js";import{T as pe,j as P,o as me,M as de,e as fe,O as ge,L as ve,F as we,Q as he,f as ke,g as ye,I as be,G as $e}from"./naive-ui-d8de3dda.js";import{_ as Fe}from"./post-skeleton-f060289d.js";import{_ as ze}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as Te}from"./vuex-44de225f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"follow-item"},qe={class:"nickname-wrap"},Ie={class:"username-wrap"},Se={class:"user-info"},xe={class:"info-item"},Ce={class:"info-item"},Me={class:"item-header-extra"},Pe=B({__name:"follow-item",props:{contact:{}},emits:["send-whisper"],setup(q,{emit:y}){const n=q,c=pe();oe();const s=e=>()=>C(P,null,{default:()=>C(e)}),b=()=>{c.success({title:"提示",content:"确定"+(n.contact.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{n.contact.is_following?se({user_id:n.contact.user_id}).then(e=>{window.$message.success("取消关注成功"),n.contact.is_following=!1}).catch(e=>{console.log(e)}):ae({user_id:n.contact.user_id}).then(e=>{window.$message.success("关注成功"),n.contact.is_following=!0}).catch(e=>{console.log(e)})}})},v=Q(()=>{let e=[{label:"私信",key:"whisper",icon:s(_e)}];return n.contact.is_following?e.push({label:"取消关注",key:"unfollow",icon:s(re)}):e.push({label:"关注",key:"follow",icon:s(ue)}),e}),m=e=>{switch(e){case"follow":case"unfollow":b();break;case"whisper":const a={id:n.contact.user_id,avatar:n.contact.avatar,username:n.contact.username,nickname:n.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};y("send-whisper",a);break}};return(e,a)=>{const d=me,f=Y("router-link"),w=de,$=fe,F=ge,z=ve;return _(),u("div",Ue,[o(z,{"content-indented":""},{avatar:t(()=>[o(d,{size:54,src:e.contact.avatar},null,8,["src"])]),header:t(()=>[p("span",qe,[o(f,{onClick:a[0]||(a[0]=X(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:t(()=>[x(k(e.contact.nickname),1)]),_:1},8,["to"])]),p("span",Ie," @"+k(e.contact.username),1),e.contact.is_following?(_(),N(w,{key:0,class:"top-tag",type:"success",size:"small",round:""},{default:t(()=>[x(" 已关注 ")]),_:1})):U("",!0),p("div",Se,[p("span",xe," UID. "+k(e.contact.user_id),1),p("span",Ce,k(g(te)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":t(()=>[p("div",Me,[o(F,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:m},{default:t(()=>[o($,{quaternary:"",circle:""},{icon:t(()=>[o(g(P),null,{default:t(()=>[o(g(ie))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const Be=O(Pe,[["__scopeId","data-v-1fb7364a"]]),Ne={key:0,class:"skeleton-wrap"},Oe={key:1},Ve={key:0,class:"empty-wrap"},De={key:0,class:"pagination-wrap"},Re=B({__name:"Following",setup(q){const y=Te(),n=ne(),c=r(!1),s=r([]),b=n.query.n||"粉丝详情",v=n.query.s||"",m=r(n.query.t||"follows"),e=r(+n.query.p||1),a=r(20),d=r(0),f=r(!1),w=r({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),$=l=>{w.value=l,f.value=!0},F=()=>{f.value=!1},z=l=>{e.value=l,T()},V=l=>{m.value=l,T()},T=()=>{m.value==="follows"?D(v):m.value==="followings"&&R(v)},D=(l,h=!1)=>{s.value.length===0&&(c.value=!0),le({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})},R=(l,h=!1)=>{s.value.length===0&&(c.value=!0),ce({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})};return Z(()=>{T()}),(l,h)=>{const i=ze,I=ke,W=ye,j=Fe,A=be,H=Be,L=$e,E=K,G=we,J=he;return _(),u(M,null,[p("div",null,[o(i,{title:g(b),back:!0},null,8,["title"]),o(G,{class:"main-content-wrap",bordered:""},{default:t(()=>[o(W,{type:"line",animated:"","default-value":m.value,"onUpdate:value":V},{default:t(()=>[o(I,{name:"follows",tab:"正在关注"}),o(I,{name:"followings",tab:"我的粉丝"})]),_:1},8,["default-value"]),c.value?(_(),u("div",Ne,[o(j,{num:a.value},null,8,["num"])])):(_(),u("div",Oe,[s.value.length===0?(_(),u("div",Ve,[o(A,{size:"large",description:"暂无数据"})])):U("",!0),(_(!0),u(M,null,ee(s.value,S=>(_(),N(L,{key:S.user_id},{default:t(()=>[o(H,{contact:S,onSendWhisper:$},null,8,["contact"])]),_:2},1024))),128))])),o(E,{show:f.value,user:w.value,onSuccess:F},null,8,["show","user"])]),_:1})]),d.value>0?(_(),u("div",De,[o(J,{page:e.value,"onUpdate:page":z,"page-slot":g(y).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):U("",!0)],64)}}});const po=O(Re,[["__scopeId","data-v-0a10234f"]]);export{po as default}; +import{_ as K}from"./whisper-d959da10.js";import{d as B,c as Q,r as Y,e as _,f as u,k as o,w as t,j as p,y as X,A as x,x as k,q as N,Y as U,bf as g,h as C,H as r,b as Z,F as M,u as ee}from"./@vue-a481fc63.js";import{u as oe,b as ne}from"./vue-router-e5a2430e.js";import{F as te,J as se,K as ae,_ as O,U as le,V as ce}from"./index-5faa66a7.js";import{i as ie,p as _e,z as re,v as ue}from"./@vicons-7a4ef312.js";import{T as pe,j as P,o as me,M as de,e as fe,O as ge,L as ve,F as we,Q as he,f as ke,g as ye,I as be,G as $e}from"./naive-ui-d8de3dda.js";import{_ as Fe}from"./post-skeleton-47a1ebec.js";import{_ as ze}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as Te}from"./vuex-44de225f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"follow-item"},qe={class:"nickname-wrap"},Ie={class:"username-wrap"},Se={class:"user-info"},xe={class:"info-item"},Ce={class:"info-item"},Me={class:"item-header-extra"},Pe=B({__name:"follow-item",props:{contact:{}},emits:["send-whisper"],setup(q,{emit:y}){const n=q,c=pe();oe();const s=e=>()=>C(P,null,{default:()=>C(e)}),b=()=>{c.success({title:"提示",content:"确定"+(n.contact.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{n.contact.is_following?se({user_id:n.contact.user_id}).then(e=>{window.$message.success("取消关注成功"),n.contact.is_following=!1}).catch(e=>{console.log(e)}):ae({user_id:n.contact.user_id}).then(e=>{window.$message.success("关注成功"),n.contact.is_following=!0}).catch(e=>{console.log(e)})}})},v=Q(()=>{let e=[{label:"私信",key:"whisper",icon:s(_e)}];return n.contact.is_following?e.push({label:"取消关注",key:"unfollow",icon:s(re)}):e.push({label:"关注",key:"follow",icon:s(ue)}),e}),m=e=>{switch(e){case"follow":case"unfollow":b();break;case"whisper":const a={id:n.contact.user_id,avatar:n.contact.avatar,username:n.contact.username,nickname:n.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};y("send-whisper",a);break}};return(e,a)=>{const d=me,f=Y("router-link"),w=de,$=fe,F=ge,z=ve;return _(),u("div",Ue,[o(z,{"content-indented":""},{avatar:t(()=>[o(d,{size:54,src:e.contact.avatar},null,8,["src"])]),header:t(()=>[p("span",qe,[o(f,{onClick:a[0]||(a[0]=X(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:t(()=>[x(k(e.contact.nickname),1)]),_:1},8,["to"])]),p("span",Ie," @"+k(e.contact.username),1),e.contact.is_following?(_(),N(w,{key:0,class:"top-tag",type:"success",size:"small",round:""},{default:t(()=>[x(" 已关注 ")]),_:1})):U("",!0),p("div",Se,[p("span",xe," UID. "+k(e.contact.user_id),1),p("span",Ce,k(g(te)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":t(()=>[p("div",Me,[o(F,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:m},{default:t(()=>[o($,{quaternary:"",circle:""},{icon:t(()=>[o(g(P),null,{default:t(()=>[o(g(ie))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const Be=O(Pe,[["__scopeId","data-v-1fb7364a"]]),Ne={key:0,class:"skeleton-wrap"},Oe={key:1},Ve={key:0,class:"empty-wrap"},De={key:0,class:"pagination-wrap"},Re=B({__name:"Following",setup(q){const y=Te(),n=ne(),c=r(!1),s=r([]),b=n.query.n||"粉丝详情",v=n.query.s||"",m=r(n.query.t||"follows"),e=r(+n.query.p||1),a=r(20),d=r(0),f=r(!1),w=r({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),$=l=>{w.value=l,f.value=!0},F=()=>{f.value=!1},z=l=>{e.value=l,T()},V=l=>{m.value=l,T()},T=()=>{m.value==="follows"?D(v):m.value==="followings"&&R(v)},D=(l,h=!1)=>{s.value.length===0&&(c.value=!0),le({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})},R=(l,h=!1)=>{s.value.length===0&&(c.value=!0),ce({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})};return Z(()=>{T()}),(l,h)=>{const i=ze,I=ke,W=ye,j=Fe,A=be,H=Be,L=$e,E=K,G=we,J=he;return _(),u(M,null,[p("div",null,[o(i,{title:g(b),back:!0},null,8,["title"]),o(G,{class:"main-content-wrap",bordered:""},{default:t(()=>[o(W,{type:"line",animated:"","default-value":m.value,"onUpdate:value":V},{default:t(()=>[o(I,{name:"follows",tab:"正在关注"}),o(I,{name:"followings",tab:"我的粉丝"})]),_:1},8,["default-value"]),c.value?(_(),u("div",Ne,[o(j,{num:a.value},null,8,["num"])])):(_(),u("div",Oe,[s.value.length===0?(_(),u("div",Ve,[o(A,{size:"large",description:"暂无数据"})])):U("",!0),(_(!0),u(M,null,ee(s.value,S=>(_(),N(L,{key:S.user_id},{default:t(()=>[o(H,{contact:S,onSendWhisper:$},null,8,["contact"])]),_:2},1024))),128))])),o(E,{show:f.value,user:w.value,onSuccess:F},null,8,["show","user"])]),_:1})]),d.value>0?(_(),u("div",De,[o(J,{page:e.value,"onUpdate:page":z,"page-slot":g(y).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):U("",!0)],64)}}});const po=O(Re,[["__scopeId","data-v-0a10234f"]]);export{po as default}; diff --git a/web/dist/assets/Home-9f453b75.js b/web/dist/assets/Home-0382696a.js similarity index 64% rename from web/dist/assets/Home-9f453b75.js rename to web/dist/assets/Home-0382696a.js index 573d2bf5..43d1b765 100644 --- a/web/dist/assets/Home-9f453b75.js +++ b/web/dist/assets/Home-0382696a.js @@ -1 +1 @@ -import{_ as Te}from"./whisper-150920d0.js";import{_ as Ue,a as Ee}from"./post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js";import{_ as Ve}from"./post-skeleton-f060289d.js";import{d as _e,H as n,c as ce,b as ge,e as p,f as y,bf as B,j as A,k as a,w as l,q as O,Y as k,y as ve,A as L,x as $,F as pe,u as de,E as Ne}from"./@vue-a481fc63.js";import{u as fe}from"./vuex-44de225f.js";import{l as me}from"./lodash-e0b37ac3.js";import{g as xe,a as Re,c as qe,b as Ge,d as Oe,e as Pe,_ as Ye}from"./index-fcb35ad4.js";import{p as Fe}from"./content-d73d8961.js";import{V as G,P as Q}from"./IEnum-5453a777.js";import{I as Le,V as Se,A as Me,d as Ke,E as We}from"./@vicons-7a4ef312.js";import{o as he,v as je,j as Qe,e as He,w as Ze,x as Je,y as Xe,z as $e,A as et,B as tt,C as at,a as we,D as st,E as ot,F as nt,G as lt,l as it,H as rt,I as ut,k as ct}from"./naive-ui-d8de3dda.js";import{_ as pt}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{b as dt,u as vt}from"./vue-router-e5a2430e.js";import{W as mt}from"./v3-infinite-loading-2c58ec2f.js";import{S as _t}from"./@opentiny-d73a2d67.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./vue-1e3b54ec.js";import"./xss-a5544f63.js";import"./cssfilter-af71ba68.js";const gt=H=>{const Y=new FileReader,b=i=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(i),T=()=>{const i=new Uint8Array(Y.result).subarray(0,4);let U="";for(let g=0;g{Y.onloadend=()=>{const g=H.type;i(g===""||g==="application/octet-stream"?T():b(g))},Y.readAsArrayBuffer(H.slice(0,4))})},ft={key:0,class:"compose-wrap"},ht={class:"compose-line"},wt={class:"compose-user"},yt={class:"compose-line compose-options"},kt={class:"attachment"},At={class:"submit-wrap"},bt={class:"attachment-list-wrap"},Ct={key:0,class:"attachment-price-wrap"},zt=A("span",null," 附件价格¥",-1),It={key:0,class:"eye-wrap"},Dt={key:1,class:"link-wrap"},Bt={key:1,class:"compose-wrap"},Tt=A("div",{class:"login-wrap"},[A("span",{class:"login-banner"}," 登录后,精彩更多")],-1),Ut={key:0,class:"login-only-wrap"},Et={key:1,class:"login-wrap"},Vt=_e({__name:"compose",emits:["post-success"],setup(H,{emit:Y}){const b=fe(),T=n([]),i=n(!1),U=n(!1),g=n(!1),P=n(!1),f=n(""),x=n([]),E=n(),V=n(0),m=n("public/image"),I=n([]),d=n([]),h=n([]),C=n([]),D=n(G.PUBLIC),R=n(G.PUBLIC),M="true".toLowerCase()==="true",F=+"400",Z=n("true".toLowerCase()==="true"),J=n("true".toLowerCase()==="true"),ee=n("true".toLowerCase()==="true"),S=n("false".toLowerCase()==="true"),te=n("true".toLowerCase()==="true"),K="/v1/attachment",q=ce(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),X=ce(()=>{let e=[{value:G.PUBLIC,label:"公开"},{value:G.PRIVATE,label:"私密"},{value:G.Following,label:"关注可见"}];return M&&e.push({value:G.FRIEND,label:"好友可见"}),e}),ae=()=>{g.value=!g.value,g.value&&P.value&&(P.value=!1)},W=()=>{P.value=!P.value,P.value&&g.value&&(g.value=!1)},se=me.debounce(e=>{xe({k:e}).then(t=>{let o=[];t.suggest.map(s=>{o.push({label:s,value:s})}),T.value=o,i.value=!1}).catch(t=>{i.value=!1})},200),r=me.debounce(e=>{Re({k:e}).then(t=>{let o=[];t.suggest.map(s=>{o.push({label:s,value:s})}),T.value=o,i.value=!1}).catch(t=>{i.value=!1})},200),v=(e,t)=>{i.value||(i.value=!0,t==="@"?se(e):r(e))},N=e=>{e.length>F?f.value=e.substring(0,F):f.value=e},w=e=>{m.value=e},z=e=>{for(let c=0;c30&&(e[c].name=o.substring(0,18)+"..."+o.substring(o.length-9)+"."+s)}I.value=e},oe=async e=>{var t,o,s,c,u;return m.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((t=e.file.file)==null?void 0:t.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):m.value==="image"&&((o=e.file.file)==null?void 0:o.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):m.value==="public/video"&&!["video/mp4","video/quicktime"].includes((s=e.file.file)==null?void 0:s.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):m.value==="public/video"&&((c=e.file.file)==null?void 0:c.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):m.value==="attachment"&&!await gt(e.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):m.value==="attachment"&&((u=e.file.file)==null?void 0:u.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},ne=({file:e,event:t})=>{var o;try{let s=JSON.parse((o=t.target)==null?void 0:o.response);s.code===0&&(m.value==="public/image"&&d.value.push({id:e.id,content:s.data.content}),m.value==="public/video"&&h.value.push({id:e.id,content:s.data.content}),m.value==="attachment"&&C.value.push({id:e.id,content:s.data.content}))}catch{window.$message.error("上传失败")}},le=({file:e,event:t})=>{var o;try{let s=JSON.parse((o=t.target)==null?void 0:o.response);if(s.code!==0){let c=s.msg||"上传失败";s.details&&s.details.length>0&&s.details.map(u=>{c+=":"+u}),window.$message.error(c)}}catch{window.$message.error("上传失败")}},ie=({file:e})=>{let t=d.value.findIndex(o=>o.id===e.id);t>-1&&d.value.splice(t,1),t=h.value.findIndex(o=>o.id===e.id),t>-1&&h.value.splice(t,1),t=C.value.findIndex(o=>o.id===e.id),t>-1&&C.value.splice(t,1)},re=()=>{if(f.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:e,users:t}=Fe(f.value);const o=[];let s=100;o.push({content:f.value,type:Q.TEXT,sort:s}),d.value.map(c=>{s++,o.push({content:c.content,type:Q.IMAGEURL,sort:s})}),h.value.map(c=>{s++,o.push({content:c.content,type:Q.VIDEOURL,sort:s})}),C.value.map(c=>{s++,o.push({content:c.content,type:Q.ATTACHMENT,sort:s})}),x.value.length>0&&x.value.map(c=>{s++,o.push({content:c,type:Q.LINKURL,sort:s})}),U.value=!0,qe({contents:o,tags:Array.from(new Set(e)),users:Array.from(new Set(t)),attachment_price:+V.value*100,visibility:D.value}).then(c=>{var u;window.$message.success("发布成功"),U.value=!1,Y("post-success",c),g.value=!1,P.value=!1,(u=E.value)==null||u.clear(),I.value=[],f.value="",x.value=[],d.value=[],h.value=[],C.value=[],D.value=R.value}).catch(c=>{U.value=!1})},j=e=>{b.commit("triggerAuth",!0),b.commit("triggerAuthKey",e)};return ge(()=>{const e="friend".toLowerCase();M&&e==="friend"?R.value=G.FRIEND:e==="following"?R.value=G.Following:e==="public"?R.value=G.PUBLIC:R.value=G.PRIVATE,D.value=R.value}),(e,t)=>{const o=he,s=je,c=Qe,u=He,ue=Ze,ye=Je,ke=Xe,Ae=$e,be=et,Ce=tt,ze=at,Ie=we,De=st,Be=ot;return p(),y("div",null,[B(b).state.userInfo.id>0?(p(),y("div",ft,[A("div",ht,[A("div",wt,[a(o,{round:"",size:30,src:B(b).state.userInfo.avatar},null,8,["src"])]),a(s,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:i.value,value:f.value,prefix:["@","#"],options:T.value,onSearch:v,"onUpdate:value":N,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(Ce,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:K,headers:{Authorization:q.value},data:{type:m.value},"file-list":I.value,onBeforeUpload:oe,onFinish:ne,onError:le,onRemove:ie,"onUpdate:fileList":z},{default:l(()=>[A("div",yt,[A("div",kt,[a(ue,{abstract:""},{default:l(({handleClick:_})=>[a(u,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("public/image"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(c,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Le))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),J.value?(p(),O(ue,{key:0,abstract:""},{default:l(({handleClick:_})=>[a(u,{disabled:I.value.length>0&&m.value!=="public/video"||I.value.length===9,onClick:()=>{w("public/video"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(c,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),ee.value?(p(),O(ue,{key:1,abstract:""},{default:l(({handleClick:_})=>[a(u,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("attachment"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(c,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Me))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),a(u,{quaternary:"",circle:"",type:"primary",onClick:ve(ae,["stop"])},{icon:l(()=>[a(c,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Ke))]),_:1})]),_:1},8,["onClick"]),te.value?(p(),O(u,{key:2,quaternary:"",circle:"",type:"primary",onClick:ve(W,["stop"])},{icon:l(()=>[a(c,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(We))]),_:1})]),_:1},8,["onClick"])):k("",!0)]),A("div",At,[a(ke,{trigger:"hover",placement:"bottom"},{trigger:l(()=>[a(ye,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:f.value.length/B(F)*100},null,8,["percentage"])]),default:l(()=>[L(" "+$(f.value.length)+" / "+$(B(F)),1)]),_:1}),a(u,{loading:U.value,onClick:re,type:"primary",secondary:"",round:""},{default:l(()=>[L(" 发布 ")]),_:1},8,["loading"])])]),A("div",bt,[a(Ae),C.value.length>0?(p(),y("div",Ct,[S.value?(p(),O(be,{key:0,value:V.value,"onUpdate:value":t[0]||(t[0]=_=>V.value=_),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:l(()=>[zt]),_:1},8,["value"])):k("",!0)])):k("",!0)])]),_:1},8,["headers","data","file-list"]),P.value?(p(),y("div",It,[a(De,{value:D.value,"onUpdate:value":t[1]||(t[1]=_=>D.value=_),name:"radiogroup"},{default:l(()=>[a(Ie,null,{default:l(()=>[(p(!0),y(pe,null,de(X.value,_=>(p(),O(ze,{key:_.value,value:_.value,label:_.label},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])):k("",!0),g.value?(p(),y("div",Dt,[a(Be,{value:x.value,"onUpdate:value":t[2]||(t[2]=_=>x.value=_),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":l(()=>[L(" 创建链接 ")]),_:1},8,["value"])])):k("",!0)])):(p(),y("div",Bt,[Tt,Z.value?k("",!0):(p(),y("div",Ut,[a(u,{strong:"",secondary:"",round:"",type:"primary",onClick:t[3]||(t[3]=_=>j("signin"))},{default:l(()=>[L(" 登录 ")]),_:1})])),Z.value?(p(),y("div",Et,[a(u,{strong:"",secondary:"",round:"",type:"primary",onClick:t[4]||(t[4]=_=>j("signin"))},{default:l(()=>[L(" 登录 ")]),_:1}),a(u,{strong:"",secondary:"",round:"",type:"info",onClick:t[5]||(t[5]=_=>j("signup"))},{default:l(()=>[L(" 注册 ")]),_:1})])):k("",!0)]))])}}});const Nt="data:image/png;base64,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",xt="/assets/discover-tweets-ab101944.jpeg",Rt="/assets/following-tweets-e36b4410.jpeg",qt={class:"slide-bar-item"},Gt={class:"slide-bar-item-title slide-bar-user-link"},Ot={key:1,class:"skeleton-wrap"},Pt={key:0,class:"empty-wrap"},Yt={key:1},Ft={key:2},Lt={class:"load-more-wrap"},St={class:"load-more-spinner"},Mt=_e({__name:"Home",setup(H){const Y="true".toLowerCase()==="true",b="true".toLowerCase()==="true",T=fe(),i=dt(),U=vt(),g=n(9),P=n(8),f=n([{title:"最新动态",style:1,username:"",avatar:Nt,show:!0},{title:"热门推荐",style:2,username:"",avatar:xt,show:!1},{title:"正在关注",style:3,username:"",avatar:Rt,show:!1},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0}]),x=n("泡泡广场"),E=n(!1),V=n(!1),m=n(1),I=n(""),d=n([]),h=n(1),C=n(20),D=n(0),R=n(!1),M=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),F=r=>{M.value=r,R.value=!0},Z=()=>{R.value=!1},J=()=>{x.value="泡泡广场",i.query&&i.query.q&&(i.query.t&&i.query.t==="tag"?x.value="#"+decodeURIComponent(i.query.q):x.value="搜索: "+decodeURIComponent(i.query.q))},ee=ce(()=>Y&&b&&T.state.desktopModelShow&&T.state.userInfo.id>0),S=()=>{E.value=!1,V.value=!1,d.value=[],h.value=1,D.value=0},te=(r,v)=>{switch(S(),m.value=r.style,i.query.q&&(i.query.q=null,J()),r.style){case 1:q();break;case 2:q();break;case 3:i.query.q=null,q();break;case 21:I.value=r.username,X();break}f.value[v].show=!1},K=()=>{f.value=f.value.slice(0,3),!(!Y||!b||T.state.userInfo.id===0)&&Ge({page:1,page_size:50}).then(r=>{var v=0;const N=r.list||[];let w=[];for(;v0&&(f.value=f.value.concat(w))}).catch(r=>{console.log(r)})},q=()=>{E.value=!0,Oe({query:i.query.q?decodeURIComponent(i.query.q):null,type:i.query.t,page:h.value,page_size:C.value}).then(r=>{E.value=!1,r.list.length===0&&(V.value=!0),h.value>1?d.value=d.value.concat(r.list):(d.value=r.list,window.scrollTo(0,0)),D.value=Math.ceil(r.pager.total_rows/C.value)}).catch(r=>{E.value=!1,h.value>1&&h.value--})},X=()=>{E.value=!0,Pe({username:I.value,style:"post",page:h.value,page_size:C.value}).then(r=>{E.value=!1,r.list.length===0&&(V.value=!0),h.value>1?d.value=d.value.concat(r.list):(d.value=r.list||[],window.scrollTo(0,0)),D.value=Math.ceil(r.pager.total_rows/C.value)}).catch(r=>{d.value=[],h.value>1&&h.value--,E.value=!1})},ae=r=>{if(m.value!=1){U.push({name:"post",query:{id:r.id}});return}let v=[],N=d.value.length;N==C.value&&N--;for(var w=0;w{switch(m.value){case 1:q();break;case 2:q();break;case 3:q();break;case 21:i.query.q?q():X();break}},se=()=>{h.value{S(),K(),q()}),Ne(()=>({path:i.path,query:i.query,refresh:T.state.refresh}),(r,v)=>{if(J(),r.refresh!==v.refresh){S(),setTimeout(()=>{K(),W()},0);return}v.path!=="/post"&&r.path==="/"&&(S(),setTimeout(()=>{K(),W()},0))}),(r,v)=>{const N=pt,w=Vt,z=lt,oe=he,ne=it,le=rt,ie=Ve,re=ut,j=Ue,e=Ee,t=Te,o=nt,s=ct,c=we;return p(),y("div",null,[a(N,{title:x.value},null,8,["title"]),a(o,{class:"main-content-wrap",bordered:""},{default:l(()=>[a(z,null,{default:l(()=>[a(w,{onPostSuccess:ae})]),_:1}),ee.value?(p(),O(z,{key:0},{default:l(()=>[a(B(_t),{modelValue:f.value,"onUpdate:modelValue":v[0]||(v[0]=u=>f.value=u),"wheel-blocks":P.value,"init-blocks":g.value,onClick:te,tag:"div","sub-tag":"div"},{default:l(u=>[A("div",qt,[a(ne,{value:"1",offset:[-4,48],dot:"",show:u.slotData.show},{default:l(()=>[a(oe,{round:"",size:48,src:u.slotData.avatar,class:"slide-bar-item-avatar"},null,8,["src"])]),_:2},1032,["show"]),A("div",Gt,[a(le,{"line-clamp":2},{default:l(()=>[L($(u.slotData.title),1)]),_:2},1024)])])]),_:1},8,["modelValue","wheel-blocks","init-blocks"])]),_:1})):k("",!0),E.value&&d.value.length===0?(p(),y("div",Ot,[a(ie,{num:C.value},null,8,["num"])])):k("",!0),A("div",null,[d.value.length===0?(p(),y("div",Pt,[a(re,{size:"large",description:"暂无数据"})])):k("",!0),B(T).state.desktopModelShow?(p(),y("div",Yt,[(p(!0),y(pe,null,de(d.value,u=>(p(),O(z,{key:u.id},{default:l(()=>[a(j,{post:u,onSendWhisper:F},null,8,["post"])]),_:2},1024))),128))])):(p(),y("div",Ft,[(p(!0),y(pe,null,de(d.value,u=>(p(),O(z,{key:u.id},{default:l(()=>[a(e,{post:u,onSendWhisper:F},null,8,["post"])]),_:2},1024))),128))]))]),a(t,{show:R.value,user:M.value,onSuccess:Z},null,8,["show","user"])]),_:1}),D.value>0?(p(),O(c,{key:0,justify:"center"},{default:l(()=>[a(B(mt),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:v[1]||(v[1]=u=>se())},{spinner:l(()=>[A("div",Lt,[V.value?k("",!0):(p(),O(s,{key:0,size:14})),A("span",St,$(V.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):k("",!0)])}}});const Ta=Ye(Mt,[["__scopeId","data-v-1066affe"]]);export{Ta as default}; +import{_ as Te}from"./whisper-d959da10.js";import{_ as Ue,a as Ee}from"./post-item.vue_vue_type_style_index_0_lang-d5631a43.js";import{_ as Ve}from"./post-skeleton-47a1ebec.js";import{d as _e,H as n,c as ce,b as ge,e as d,f as y,bf as B,j as A,k as a,w as l,q as O,Y as k,y as ve,A as L,x as $,F as pe,u as de,E as Ne}from"./@vue-a481fc63.js";import{u as fe}from"./vuex-44de225f.js";import{l as me}from"./lodash-e0b37ac3.js";import{g as xe,a as Re,c as qe,b as Ge,d as Oe,e as Pe,_ as Ye}from"./index-5faa66a7.js";import{p as Fe}from"./content-2d41ca0a.js";import{V as G,P as Q}from"./IEnum-5453a777.js";import{I as Le,V as Se,A as Me,d as Ke,E as We}from"./@vicons-7a4ef312.js";import{o as he,v as je,j as Qe,e as He,w as Ze,x as Je,y as Xe,z as $e,A as et,B as tt,C as at,a as we,D as st,E as ot,F as nt,G as lt,l as it,H as rt,I as ut,k as ct}from"./naive-ui-d8de3dda.js";import{_ as pt}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{b as dt,u as vt}from"./vue-router-e5a2430e.js";import{W as mt}from"./v3-infinite-loading-2c58ec2f.js";import{S as _t}from"./@opentiny-d73a2d67.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./vue-1e3b54ec.js";import"./xss-a5544f63.js";import"./cssfilter-af71ba68.js";const gt=H=>{const Y=new FileReader,b=i=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(i),T=()=>{const i=new Uint8Array(Y.result).subarray(0,4);let U="";for(let g=0;g{Y.onloadend=()=>{const g=H.type;i(g===""||g==="application/octet-stream"?T():b(g))},Y.readAsArrayBuffer(H.slice(0,4))})},ft={key:0,class:"compose-wrap"},ht={class:"compose-line"},wt={class:"compose-user"},yt={class:"compose-line compose-options"},kt={class:"attachment"},At={class:"submit-wrap"},bt={class:"attachment-list-wrap"},Ct={key:0,class:"attachment-price-wrap"},zt=A("span",null," 附件价格¥",-1),It={key:0,class:"eye-wrap"},Dt={key:1,class:"link-wrap"},Bt={key:1,class:"compose-wrap"},Tt=A("div",{class:"login-wrap"},[A("span",{class:"login-banner"}," 登录后,精彩更多")],-1),Ut={key:0,class:"login-only-wrap"},Et={key:1,class:"login-wrap"},Vt=_e({__name:"compose",emits:["post-success"],setup(H,{emit:Y}){const b=fe(),T=n([]),i=n(!1),U=n(!1),g=n(!1),P=n(!1),f=n(""),x=n([]),E=n(),V=n(0),m=n("public/image"),I=n([]),v=n([]),h=n([]),C=n([]),D=n(G.PUBLIC),R=n(G.PUBLIC),M="true".toLowerCase()==="true",F=+"400",Z=n("true".toLowerCase()==="true"),J=n("true".toLowerCase()==="true"),ee=n("true".toLowerCase()==="true"),S=n("false".toLowerCase()==="true"),te=n("true".toLowerCase()==="true"),K="/v1/attachment",q=ce(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),X=ce(()=>{let e=[{value:G.PUBLIC,label:"公开"},{value:G.PRIVATE,label:"私密"},{value:G.Following,label:"关注可见"}];return M&&e.push({value:G.FRIEND,label:"好友可见"}),e}),ae=()=>{g.value=!g.value,g.value&&P.value&&(P.value=!1)},W=()=>{P.value=!P.value,P.value&&g.value&&(g.value=!1)},se=me.debounce(e=>{xe({k:e}).then(t=>{let o=[];t.suggest.map(s=>{o.push({label:s,value:s})}),T.value=o,i.value=!1}).catch(t=>{i.value=!1})},200),c=me.debounce(e=>{Re({k:e}).then(t=>{let o=[];t.suggest.map(s=>{o.push({label:s,value:s})}),T.value=o,i.value=!1}).catch(t=>{i.value=!1})},200),p=(e,t)=>{i.value||(i.value=!0,t==="@"?se(e):c(e))},N=e=>{e.length>F?f.value=e.substring(0,F):f.value=e},w=e=>{m.value=e},z=e=>{for(let u=0;u30&&(e[u].name=o.substring(0,18)+"..."+o.substring(o.length-9)+"."+s)}I.value=e},oe=async e=>{var t,o,s,u,r;return m.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((t=e.file.file)==null?void 0:t.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):m.value==="image"&&((o=e.file.file)==null?void 0:o.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):m.value==="public/video"&&!["video/mp4","video/quicktime"].includes((s=e.file.file)==null?void 0:s.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):m.value==="public/video"&&((u=e.file.file)==null?void 0:u.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):m.value==="attachment"&&!await gt(e.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):m.value==="attachment"&&((r=e.file.file)==null?void 0:r.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},ne=({file:e,event:t})=>{var o;try{let s=JSON.parse((o=t.target)==null?void 0:o.response);s.code===0&&(m.value==="public/image"&&v.value.push({id:e.id,content:s.data.content}),m.value==="public/video"&&h.value.push({id:e.id,content:s.data.content}),m.value==="attachment"&&C.value.push({id:e.id,content:s.data.content}))}catch{window.$message.error("上传失败")}},le=({file:e,event:t})=>{var o;try{let s=JSON.parse((o=t.target)==null?void 0:o.response);if(s.code!==0){let u=s.msg||"上传失败";s.details&&s.details.length>0&&s.details.map(r=>{u+=":"+r}),window.$message.error(u)}}catch{window.$message.error("上传失败")}},ie=({file:e})=>{let t=v.value.findIndex(o=>o.id===e.id);t>-1&&v.value.splice(t,1),t=h.value.findIndex(o=>o.id===e.id),t>-1&&h.value.splice(t,1),t=C.value.findIndex(o=>o.id===e.id),t>-1&&C.value.splice(t,1)},re=()=>{if(f.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:e,users:t}=Fe(f.value);const o=[];let s=100;o.push({content:f.value,type:Q.TEXT,sort:s}),v.value.map(u=>{s++,o.push({content:u.content,type:Q.IMAGEURL,sort:s})}),h.value.map(u=>{s++,o.push({content:u.content,type:Q.VIDEOURL,sort:s})}),C.value.map(u=>{s++,o.push({content:u.content,type:Q.ATTACHMENT,sort:s})}),x.value.length>0&&x.value.map(u=>{s++,o.push({content:u,type:Q.LINKURL,sort:s})}),U.value=!0,qe({contents:o,tags:Array.from(new Set(e)),users:Array.from(new Set(t)),attachment_price:+V.value*100,visibility:D.value}).then(u=>{var r;window.$message.success("发布成功"),U.value=!1,Y("post-success",u),g.value=!1,P.value=!1,(r=E.value)==null||r.clear(),I.value=[],f.value="",x.value=[],v.value=[],h.value=[],C.value=[],D.value=R.value}).catch(u=>{U.value=!1})},j=e=>{b.commit("triggerAuth",!0),b.commit("triggerAuthKey",e)};return ge(()=>{const e="friend".toLowerCase();M&&e==="friend"?R.value=G.FRIEND:e==="following"?R.value=G.Following:e==="public"?R.value=G.PUBLIC:R.value=G.PRIVATE,D.value=R.value}),(e,t)=>{const o=he,s=je,u=Qe,r=He,ue=Ze,ye=Je,ke=Xe,Ae=$e,be=et,Ce=tt,ze=at,Ie=we,De=st,Be=ot;return d(),y("div",null,[B(b).state.userInfo.id>0?(d(),y("div",ft,[A("div",ht,[A("div",wt,[a(o,{round:"",size:30,src:B(b).state.userInfo.avatar},null,8,["src"])]),a(s,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:i.value,value:f.value,prefix:["@","#"],options:T.value,onSearch:p,"onUpdate:value":N,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(Ce,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:K,headers:{Authorization:q.value},data:{type:m.value},"file-list":I.value,onBeforeUpload:oe,onFinish:ne,onError:le,onRemove:ie,"onUpdate:fileList":z},{default:l(()=>[A("div",yt,[A("div",kt,[a(ue,{abstract:""},{default:l(({handleClick:_})=>[a(r,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("public/image"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Le))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),J.value?(d(),O(ue,{key:0,abstract:""},{default:l(({handleClick:_})=>[a(r,{disabled:I.value.length>0&&m.value!=="public/video"||I.value.length===9,onClick:()=>{w("public/video"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),ee.value?(d(),O(ue,{key:1,abstract:""},{default:l(({handleClick:_})=>[a(r,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("attachment"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Me))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),a(r,{quaternary:"",circle:"",type:"primary",onClick:ve(ae,["stop"])},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Ke))]),_:1})]),_:1},8,["onClick"]),te.value?(d(),O(r,{key:2,quaternary:"",circle:"",type:"primary",onClick:ve(W,["stop"])},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(We))]),_:1})]),_:1},8,["onClick"])):k("",!0)]),A("div",At,[a(ke,{trigger:"hover",placement:"bottom"},{trigger:l(()=>[a(ye,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:f.value.length/B(F)*100},null,8,["percentage"])]),default:l(()=>[L(" "+$(f.value.length)+" / "+$(B(F)),1)]),_:1}),a(r,{loading:U.value,onClick:re,type:"primary",secondary:"",round:""},{default:l(()=>[L(" 发布 ")]),_:1},8,["loading"])])]),A("div",bt,[a(Ae),C.value.length>0?(d(),y("div",Ct,[S.value?(d(),O(be,{key:0,value:V.value,"onUpdate:value":t[0]||(t[0]=_=>V.value=_),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:l(()=>[zt]),_:1},8,["value"])):k("",!0)])):k("",!0)])]),_:1},8,["headers","data","file-list"]),P.value?(d(),y("div",It,[a(De,{value:D.value,"onUpdate:value":t[1]||(t[1]=_=>D.value=_),name:"radiogroup"},{default:l(()=>[a(Ie,null,{default:l(()=>[(d(!0),y(pe,null,de(X.value,_=>(d(),O(ze,{key:_.value,value:_.value,label:_.label},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])):k("",!0),g.value?(d(),y("div",Dt,[a(Be,{value:x.value,"onUpdate:value":t[2]||(t[2]=_=>x.value=_),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":l(()=>[L(" 创建链接 ")]),_:1},8,["value"])])):k("",!0)])):(d(),y("div",Bt,[Tt,Z.value?k("",!0):(d(),y("div",Ut,[a(r,{strong:"",secondary:"",round:"",type:"primary",onClick:t[3]||(t[3]=_=>j("signin"))},{default:l(()=>[L(" 登录 ")]),_:1})])),Z.value?(d(),y("div",Et,[a(r,{strong:"",secondary:"",round:"",type:"primary",onClick:t[4]||(t[4]=_=>j("signin"))},{default:l(()=>[L(" 登录 ")]),_:1}),a(r,{strong:"",secondary:"",round:"",type:"info",onClick:t[5]||(t[5]=_=>j("signup"))},{default:l(()=>[L(" 注册 ")]),_:1})])):k("",!0)]))])}}});const Nt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA1lSURBVHgB7Z17cFTVHcd/59y7uze7ISSCqBBIeGmFIGilrVJUwBcw0jKgnc6Ijsr0D8eO1qrt+Kio9fEHRR1n7ExH8IEzdmgZWluxPnhYijJCkZQAtoSQmARaHk2A3WSzu/ec/n6XJpLdu5u9u/eVx2dmJ/u4m909v3N+v/P7nhcDn7JunVSm3xiv0kLabCnERGBQLoGNlQDnM5D0dzQDUOlavJ/C+0cA2BF8rR6fasMn2xnnhzri8U++Ua61MMZS4EMY+AQppXo4lpqjKHyOkHIWfrVrwE4k+wCYrFU433zsJGy7cgzrAB/gqQHq6mSwdCIsk1LchLV4cXeNdgUJbwHjG2NReK9mFIuCR3higINnuqaqqvpTKWGZq4VuguG+JLymBPiacUG2E1zGNQOsWCH5nY/ot+IHPoS+/ErwIRg/doGivFAdYuvBJVwxQEMstYgz9iLWtgnQD2AM6oDzFW4YwlEDNES7LuNcWe3XGt838lPGlMerS9gWcAhHDHDwpCxTNLEKa9I9MADAQloZjfKnnAjWthvgUDQ5D7t6b6C7qYQBBLklBvyBqhK2CWyEg01QkG2I6Y9zzj8eaIVPYI+tRkjxcWOn/hj9VrAJW1rA4TZZDiH9ffx334FBAGbVn8k4WzC+grVDkRRtSezTT5EhsWewFD6BWftVEBTbG7vkpVAkRbWAxjPJOVLhG/GuBoOTOAd+Q1WY/Q0KpOAW0ByXC4TCP4TBW/iEpoPY8lVcLoICKagF0AfqQvwRhugBldeF1RrbaPFt1g3QcDo5G1S+2WsNx28YmhLjN4wvYVutvM+SASjgqor6dxjcbicXcabwK1DCOJDvG/KOAdTVVLn6Oxgq/FxoIORGo1ueJ3kZwEg8qJ/PYAoMkRPsolYzTW7MN1nLywVRhoup+DMwRN5geaGIpzzb53V9XYDazvUoL3wEQ1gGg/I8VFI357wm14t1x2Rp6TD5GTarGhjCOow1pzpYzeQR7HS2S3J2JUtLxZMkQoEP0LGft7s9BbV4OxjVobVTwOmUhIjCYPGYINxWGQLfIeVYJSxW4b3l2S7J2gLqzyTnKgq3VXotBCr4v/w7ARuOJOBYl8h63cMXl8DskQHwI6rgl40tZXtNX8v6JkV5RlJ64SH/PKPDy/Wd0NIp8rrWrwZIcn0N/plp9pppV6nhTGopFv7V4CGbjiXh0X2xvArf7zAckm2Kp24xe83UAFzlT4KHvI8uh2p+sv+XfQ9S8hfNcoOMJ4za72Gvh4Lsbw7Hs75+kcahssS2ASnXwDKdeMcj+tL05zMtovCfgUfEsFfzEtZ83ST0lKkM7p9UAq9eXgpXlPdbHfDh9Cd6GaDhVOJb6Ps9m0LyTnMXnExklj7V+JdmRGDeqAAovpnNah0jFnTJXnJOLwOwoHIXeERbQsD7/0lkPD8qxOHpqWEYGex/bscMkdIfOvdxz6+irBeTruXgEZuOJ02D7v2TtAFT+Aac3V4nZbDnYfedyHBY6OUgy87/Zk7fn1mhwrThA2zcR0KgNK4v63749a9LiQVeTVanoFsf0zOenzvKnsTqBGbQFFsS4mx8qQgy7E0pnsUTqcNN+Gc13TcMsKtVhoGJO8AjjsZ1U/czrayw2t+tG207kYTdbSlDM0ongG1/UkQxWtm8UUHDKK6hsO/TghRatWP8whHDU9fYOEnOMm0mPZ/yAIOygPVC2YqxhHpTR+O5szgy+AGUL+j2TksXzL8gCD8cG4KI6oIh0A01xFPX4b2Pz5Y653PAZ1h1D1TLnz7QAasOdvZZ+OmQMd49moD79kRhT7s7S8m44HONv8YjJqeDhwR5ZmmbuY1cUM3f1VZc4VGceAqNSFKI00hG6+DQAFvQF+Gjm8BDRpj4X6qVdgpx5PPpc8r6cDEUP37dEDfEQCfBpGz2OikVtbo9XgmhIHjJSEy2yOe3J3vX+h0nk7C0iIEW0o1uviAAM88L9NKPTuPn7D2dgs1YyDuztJpXGzqN91wyTAGHYNNPxas417RrwQfMMNF3PsIC6u46WoHixxIcJXsF5YvFY0IZ4h0F91kjAvDEpWF4FrNsyrbToRb4chZdyi6CocBsrovUJPABZoMpFEzf/qoLrECu5tFLwnBnlWYaW9KhRO+FmrCpwkou8L2jzsUDKdhEzhkfDj6AFE5yGen8CQtg+8n8/fHdWPAzz7OWP5ALfHpK2DQ+UO/IqVaA9aOcYzSoAB9AbuP2cZn+nn78yn91wobWvlvCtDIFFl5UWDwjI9xVnTnpj8ahdzvUNdVBjuWYkfnCBRHkhr5tUnvJCK83dcGD/4gZmlG2GnlrkTMjrjs/YNoKax0yANa58/HXstHgEOQ69p/WLb0nkiMDq4/q8MyX5ls80NsoF6BbMZgZl6bBOAFKEZXq/3cdsZ3fo8t4q8laAC0GKrjNx53pu7c6NzFgNHdKgl7f4nw26RZWs/K8kaA6psDFnOxAu0zEQd2a08oOcIAyN1RFl1hS6ZBSwCClnt1pCsaBzVSGeUYApoyTuorFshV1/kIa2Dzs5ZwrN+fzL6bg96Ws2SGOYBBmzQyk7QagwY50A1BLvm9SSVEjUSQXbzIJtgsvDGIypxhjAfUx86B5Cn35/ZNLwDdIdgSDsDgODjDdRNshaaHYbuK6FvOeFfUmSHRbNb0UlmNCZWZkkqtplMwvYMU/hN+bNYMDkLRgJnK93hiHE4nCunWky9TlkVcsGh2Ehy42b2mkLfmof9DGhRSnwAHox1NBpENdul/s67BshM/bkrCmKZ739eS3bzGRJagV7m73xwaKKPS2c4Wr9eAQ5JezqYw/39sBe0/1XRAkR7+JBf/8l9Yn65K2ZCYt+MUNMY4uCCC+DRyCWgHN5wyYZBskcj2GLYHGcUmyOJU8uxqh+0ZGIgHux3tisL61MEWS5GgakEmn1ictAEcdPlHHaVpTo4Nz8GlE6d4JGg5umLsPCozdY7mUO5CxyE3ZNTWdAvPraZJIGxqb5gqNDHk6405Wa1oLR0EIo5r8KzgIzbshI/TV/aSCp4FxO9cFkAs0a4Fmk4BdRcoPaV6Q8dUEyE/BYW7GeLDiUppkW1yGfHYilbXEyCwrL2So01YYq6U/hgGYgM3gApQbvDKjFBZh78TqfFsKpg9iEkXjuFa1GV/KUpwbZW5kS00RdUtVp0i5MTmXpIDl4zVj0Jzk489xgOVQTAezXinV3CuwxtNADeUVhWTQNAMifbYFUeHtjGsZDIHR+TEKfA76osMd+ga8eyu4BBXAkjEh40Y1lOaHdk9RpN4LzeGxI0juP5OZuFFMMOueuoaEtWPY2c3De2o8Y/wDKYVrBjgXqtmVJQrewHY+Mln0MTni3cxoAyZ7NnbqqQZRDdY6JU17BSV6ZhOvrqzwcM0Bg2QsqrzX/bDHADWMJRiDtTBAIKnDLPcg90PdYs8QsPrcHXh7OUKeSv0KBgBU+KQ3mW1tQNPQXV0LkIYI8DXnPu5lgKphoX2oju6CfgoFc5pU+8Ae8xX2FNhpDYBXoNiya2LaGQVq5kViJTqq30I/4wvUd+79Ipp1bUC3LhXxcKhUKvBC+nMZfbHqEoX2hWuAfgbV+FwLM36EuccMDxd4Swl1E0NqxnkEGQZAfUJIKX8CAwQKulTz51/o7RR8qcoVZs+bZiMTIuq7/TkWdENC3HNTI5a1I7vBSr3drPYTWdukiCfvYZpaCz7EWDRxNPvrNBS6GEfjSAD0x9YG7Imsr0AOGmL6a349BYMG5zfgQA1NACPNaAzW9smliiH4FaobOQFN7p4QVh7O9nrOr2kcRVIi9rEBeCCDO7C9sSi7OtfRJ33Wk8ZOORc1Is/3juuPcMav7+vIkz4lQdr3Eg3wBAxhCcng8XzOm8lLkx0fVp/Df7kDhsgPKXe8pfHn87k071BFG1LLkNzDQFbBENmRsL89wWddnuf5MkPb19tLPKWnvjl5WGh/vm+wNCxk/GPG5w+0cQObSNJ5MlYKn7A8LkcnRHDOvwdD9EKRfGkhh/kUNDBKZ6VINMJQSzBIMskXjouwd6EAisoXmzrkdwUI2tp+0B5jRS7Z6rkx51LU1ABqchR0KPLDIANbfxP99mIKn7DvKMMgHXEySE7Tw35+e0KZf7kfjjIk6EzF6rAyazBkzJThvom/1Y7CJ2zXDJs65TxdiJdQRR1Qp26gy2lBbefOvo4ksYrt08NI/+iI8atIhoUBAg4nrtY726faXfiEo6o5KqlzpNR/iR/j6VkEhYJDs7sCUrk72+kXduDKsEVjh1wipFjRX9wSDsceYpw9UKWxP4PDuDJDtTrM1k+IKNMYcDqbwLdjzfTdUE74wRsl7GI3Cp/wZOCOtsk3dmqXxnCn1we/JLEU3kZ5ZWVViLmez3g6cko7tkdK9YVoiAWYQyxz8fvQksA/4Kd90HFIWVtTwzzb2sU3O2q0tspwYjjMBi5wCFROZ4zdCPZ9P+zIyG1Msu2Yq2wZH1G30Pos8AG+3dKENrdujMcr0UNda+wuCFAuGFTggNAkCYw2mboIvp5WQzv6HMV3NePzx7GgmwVAO63DTUByW62mNd1mLEb0H/8DkOAXi0+nceAAAAAASUVORK5CYII=",xt="/assets/discover-tweets-ab101944.jpeg",Rt="/assets/following-tweets-e36b4410.jpeg",qt={class:"slide-bar-item"},Gt={class:"slide-bar-item-title slide-bar-user-link"},Ot={key:1,class:"skeleton-wrap"},Pt={key:0,class:"empty-wrap"},Yt={key:1},Ft={key:2},Lt={class:"load-more-wrap"},St={class:"load-more-spinner"},Mt=_e({__name:"Home",setup(H){const Y="true".toLowerCase()==="true",b="true".toLowerCase()==="true",T=fe(),i=dt(),U=vt(),g=n(9),P=n(8),f=n([{title:"最新动态",style:1,username:"",avatar:Nt,show:!0},{title:"热门推荐",style:2,username:"",avatar:xt,show:!1},{title:"正在关注",style:3,username:"",avatar:Rt,show:!1},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0}]),x=n("泡泡广场"),E=n(!1),V=n(!1),m=n(1),I=n(""),v=n([]),h=n(1),C=n(20),D=n(0),R=n(!1),M=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),F=c=>{M.value=c,R.value=!0},Z=()=>{R.value=!1},J=()=>{x.value="泡泡广场",i.query&&i.query.q&&(i.query.t&&i.query.t==="tag"?x.value="#"+decodeURIComponent(i.query.q):x.value="搜索: "+decodeURIComponent(i.query.q))},ee=ce(()=>Y&&b&&T.state.desktopModelShow&&T.state.userInfo.id>0),S=()=>{E.value=!1,V.value=!1,v.value=[],h.value=1,D.value=0},te=(c,p)=>{switch(S(),m.value=c.style,i.query.q&&(i.query.q=null,J()),c.style){case 1:q("newest");break;case 2:q("hots");break;case 3:i.query.q=null,q("following");break;case 21:I.value=c.username,X();break}f.value[p].show=!1},K=()=>{f.value=f.value.slice(0,3),!(!Y||!b||T.state.userInfo.id===0)&&Ge({page:1,page_size:50}).then(c=>{var p=0;const N=c.list||[];let w=[];for(;p0&&(f.value=f.value.concat(w))}).catch(c=>{console.log(c)})},q=c=>{E.value=!0,Oe({query:i.query.q?decodeURIComponent(i.query.q):null,type:i.query.t,style:c,page:h.value,page_size:C.value}).then(p=>{E.value=!1,p.list.length===0&&(V.value=!0),h.value>1?v.value=v.value.concat(p.list):(v.value=p.list,window.scrollTo(0,0)),D.value=Math.ceil(p.pager.total_rows/C.value)}).catch(p=>{E.value=!1,h.value>1&&h.value--})},X=()=>{E.value=!0,Pe({username:I.value,style:"post",page:h.value,page_size:C.value}).then(c=>{E.value=!1,c.list.length===0&&(V.value=!0),h.value>1?v.value=v.value.concat(c.list):(v.value=c.list||[],window.scrollTo(0,0)),D.value=Math.ceil(c.pager.total_rows/C.value)}).catch(c=>{v.value=[],h.value>1&&h.value--,E.value=!1})},ae=c=>{if(m.value!=1){U.push({name:"post",query:{id:c.id}});return}let p=[],N=v.value.length;N==C.value&&N--;for(var w=0;w{switch(m.value){case 1:q("newest");break;case 2:q("hots");break;case 3:q("following");break;case 21:i.query.q?q("search"):X();break}},se=()=>{h.value{S(),K(),q("newest")}),Ne(()=>({path:i.path,query:i.query,refresh:T.state.refresh}),(c,p)=>{if(J(),c.refresh!==p.refresh){S(),setTimeout(()=>{K(),W()},0);return}p.path!=="/post"&&c.path==="/"&&(S(),setTimeout(()=>{K(),W()},0))}),(c,p)=>{const N=pt,w=Vt,z=lt,oe=he,ne=it,le=rt,ie=Ve,re=ut,j=Ue,e=Ee,t=Te,o=nt,s=ct,u=we;return d(),y("div",null,[a(N,{title:x.value},null,8,["title"]),a(o,{class:"main-content-wrap",bordered:""},{default:l(()=>[a(z,null,{default:l(()=>[a(w,{onPostSuccess:ae})]),_:1}),ee.value?(d(),O(z,{key:0},{default:l(()=>[a(B(_t),{modelValue:f.value,"onUpdate:modelValue":p[0]||(p[0]=r=>f.value=r),"wheel-blocks":P.value,"init-blocks":g.value,onClick:te,tag:"div","sub-tag":"div"},{default:l(r=>[A("div",qt,[a(ne,{value:"1",offset:[-4,48],dot:"",show:r.slotData.show},{default:l(()=>[a(oe,{round:"",size:48,src:r.slotData.avatar,class:"slide-bar-item-avatar"},null,8,["src"])]),_:2},1032,["show"]),A("div",Gt,[a(le,{"line-clamp":2},{default:l(()=>[L($(r.slotData.title),1)]),_:2},1024)])])]),_:1},8,["modelValue","wheel-blocks","init-blocks"])]),_:1})):k("",!0),E.value&&v.value.length===0?(d(),y("div",Ot,[a(ie,{num:C.value},null,8,["num"])])):k("",!0),A("div",null,[v.value.length===0?(d(),y("div",Pt,[a(re,{size:"large",description:"暂无数据"})])):k("",!0),B(T).state.desktopModelShow?(d(),y("div",Yt,[(d(!0),y(pe,null,de(v.value,r=>(d(),O(z,{key:r.id},{default:l(()=>[a(j,{post:r,onSendWhisper:F},null,8,["post"])]),_:2},1024))),128))])):(d(),y("div",Ft,[(d(!0),y(pe,null,de(v.value,r=>(d(),O(z,{key:r.id},{default:l(()=>[a(e,{post:r,onSendWhisper:F},null,8,["post"])]),_:2},1024))),128))]))]),a(t,{show:R.value,user:M.value,onSuccess:Z},null,8,["show","user"])]),_:1}),D.value>0?(d(),O(u,{key:0,justify:"center"},{default:l(()=>[a(B(mt),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:p[1]||(p[1]=r=>se())},{spinner:l(()=>[A("div",Lt,[V.value?k("",!0):(d(),O(s,{key:0,size:14})),A("span",St,$(V.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):k("",!0)])}}});const Ta=Ye(Mt,[["__scopeId","data-v-bae55427"]]);export{Ta as default}; diff --git a/web/dist/assets/Home-63775b21.css b/web/dist/assets/Home-2a6423f9.css similarity index 62% rename from web/dist/assets/Home-63775b21.css rename to web/dist/assets/Home-2a6423f9.css index 0989af6c..e6a8931f 100644 --- a/web/dist/assets/Home-63775b21.css +++ b/web/dist/assets/Home-2a6423f9.css @@ -1 +1 @@ -.compose-wrap{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .text-statistic{margin-right:8px;width:20px;height:20px;transform:rotate(180deg)}.compose-wrap .link-wrap{margin-left:42px;margin-right:42px}.compose-wrap .eye-wrap{margin-left:64px}.compose-wrap .login-only-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-only-wrap button{margin:0 4px;width:50%}.compose-wrap .login-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button{margin:0 4px}.attachment-list-wrap{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail{overflow:hidden}.dark .compose-wrap{background-color:#101014bf}.tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-1066affe]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item[data-v-1066affe]{cursor:pointer}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-avatar[data-v-1066affe]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-1066affe]{color:#18a058;opacity:.8}.tiny-slide-bar[data-v-1066affe]{margin-top:-30px;margin-bottom:-30px}.tiny-slide-bar .slide-bar-item[data-v-1066affe]{min-height:170px;width:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:8px}.tiny-slide-bar .slide-bar-item .slide-bar-item-title[data-v-1066affe]{justify-content:center;font-size:12px;margin-top:4px;height:40px}.load-more[data-v-1066affe]{margin:20px}.load-more .load-more-wrap[data-v-1066affe]{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:14px}.load-more .load-more-wrap .load-more-spinner[data-v-1066affe]{font-size:14px;opacity:.65}.dark .main-content-wrap[data-v-1066affe],.dark .pagination-wrap[data-v-1066affe],.dark .empty-wrap[data-v-1066affe],.dark .skeleton-wrap[data-v-1066affe]{background-color:#101014bf}.dark .tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-1066affe]{color:#63e2b7;opacity:.8}.dark .tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-1066affe]{color:#63e2b7;opacity:.8} +.compose-wrap{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .text-statistic{margin-right:8px;width:20px;height:20px;transform:rotate(180deg)}.compose-wrap .link-wrap{margin-left:42px;margin-right:42px}.compose-wrap .eye-wrap{margin-left:64px}.compose-wrap .login-only-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-only-wrap button{margin:0 4px;width:50%}.compose-wrap .login-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button{margin:0 4px}.attachment-list-wrap{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail{overflow:hidden}.dark .compose-wrap{background-color:#101014bf}.tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-bae55427]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item[data-v-bae55427]{cursor:pointer}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-avatar[data-v-bae55427]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-bae55427]{color:#18a058;opacity:.8}.tiny-slide-bar[data-v-bae55427]{margin-top:-30px;margin-bottom:-30px}.tiny-slide-bar .slide-bar-item[data-v-bae55427]{min-height:170px;width:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:8px}.tiny-slide-bar .slide-bar-item .slide-bar-item-title[data-v-bae55427]{justify-content:center;font-size:12px;margin-top:4px;height:40px}.load-more[data-v-bae55427]{margin:20px}.load-more .load-more-wrap[data-v-bae55427]{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:14px}.load-more .load-more-wrap .load-more-spinner[data-v-bae55427]{font-size:14px;opacity:.65}.dark .main-content-wrap[data-v-bae55427],.dark .pagination-wrap[data-v-bae55427],.dark .empty-wrap[data-v-bae55427],.dark .skeleton-wrap[data-v-bae55427]{background-color:#101014bf}.dark .tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-bae55427]{color:#63e2b7;opacity:.8}.dark .tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-bae55427]{color:#63e2b7;opacity:.8} diff --git a/web/dist/assets/Messages-8b750f63.js b/web/dist/assets/Messages-c3fa26d0.js similarity index 97% rename from web/dist/assets/Messages-8b750f63.js rename to web/dist/assets/Messages-c3fa26d0.js index 096c6b0b..126aac3d 100644 --- a/web/dist/assets/Messages-8b750f63.js +++ b/web/dist/assets/Messages-c3fa26d0.js @@ -1 +1 @@ -import{d as D,c as N,r as J,e as t,f as r,k as s,w as a,bf as o,j as f,y as C,A as _,x as m,q as I,Y as i,l as K,h as H,u as T,F as U,H as v,b as Y}from"./@vue-a481fc63.js";import{u as G}from"./vuex-44de225f.js";import{u as X,b as Z}from"./vue-router-e5a2430e.js";import{E as x,M as ee,N as se,O as ne,_ as E,P as te}from"./index-fcb35ad4.js";import{J as L,i as ae,K as oe,N as re,O as Q,Q as ie,p as le}from"./@vicons-7a4ef312.js";import{j as d,o as ue,M as _e,l as pe,e as ce,O as de,S as me,L as ge,U as ve,F as fe,Q as ye,I as ke,G as he}from"./naive-ui-d8de3dda.js";import{_ as we}from"./whisper-150920d0.js";import{_ as $e}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const be={class:"sender-wrap"},Ce={key:0,class:"nickname"},Ie={class:"username"},Me={key:1,class:"nickname"},Se={class:"username"},ze={key:2,class:"nickname"},Oe={class:"timestamp"},Fe={class:"timestamp-txt"},Ne={key:0,class:"brief-content"},qe={key:1,class:"whisper-content-wrap"},Re={key:2,class:"requesting-friend-wrap"},Ae={key:2,class:"status-info"},Pe={key:3,class:"status-info"},We="https://assets.paopao.info/public/avatar/default/admin.png",je=D({__name:"message-item",props:{message:{}},emits:["send-whisper"],setup(q,{emit:y}){const p=q,c=X(),l=G(),k=e=>()=>H(d,null,{default:()=>H(e)}),h=N(()=>[{label:"私信",key:"whisper",icon:k(le)}]),w=e=>{switch(e){case"whisper":const n=p.message;if(n.type!=99){let $=n.type==4&&n.sender_user_id==l.state.userInfo.id?n.receiver_user:n.sender_user;y("send-whisper",$)}break}},g=N(()=>p.message.type!==4||p.message.sender_user_id!==l.state.userInfo.id),M=N(()=>p.message.type==4&&p.message.receiver_user_id==l.state.userInfo.id),S=N(()=>p.message.type==4&&p.message.sender_user_id==l.state.userInfo.id),R=e=>{u(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?c.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},z=e=>{u(e),ee({user_id:e.sender_user_id}).then(n=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(n=>{console.log(n)})},A=e=>{u(e),se({user_id:e.sender_user_id}).then(n=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(n=>{console.log(n)})},u=e=>{p.message.receiver_user_id==l.state.userInfo.id&&e.is_read===0&&ne({id:e.id}).then(n=>{e.is_read=1}).catch(n=>{console.log(n)})};return(e,n)=>{const $=ue,O=J("router-link"),b=_e,P=pe,W=ce,j=de,B=me,F=ge;return t(),r("div",{class:K(["message-item",{unread:g.value&&e.message.is_read===0}]),onClick:n[5]||(n[5]=V=>u(e.message))},[s(F,{"content-indented":""},{avatar:a(()=>[s($,{round:"",size:30,src:e.message.type==4&&e.message.sender_user_id==o(l).state.userInfo.id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:We},null,8,["src"])]),header:a(()=>[f("div",be,[e.message.type!=4&&e.message.sender_user.id>0||M.value?(t(),r("span",Ce,[s(O,{onClick:n[0]||(n[0]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.sender_user.username}}},{default:a(()=>[_(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),f("span",Ie," @"+m(e.message.sender_user.username),1)])):S.value?(t(),r("span",Me,[s(O,{onClick:n[1]||(n[1]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.receiver_user.username}}},{default:a(()=>[_(m(e.message.receiver_user.nickname),1)]),_:1},8,["to"]),f("span",Se," @"+m(e.message.receiver_user.username),1)])):(t(),r("span",ze," 系统 ")),e.message.type==4?(t(),I(b,{key:3,class:"top-tag",type:"success",size:"small",round:""},{default:a(()=>[_(" 私信 ")]),_:1})):i("",!0),S.value?(t(),I(b,{key:4,class:"top-tag",type:"info",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已发送 ")]),_:1})):i("",!0),e.message.type==4&&e.message.receiver_user_id==o(l).state.userInfo.id?(t(),I(b,{key:5,class:"top-tag",type:"warning",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已接收 ")]),_:1})):i("",!0)])]),"header-extra":a(()=>[f("span",Oe,[g.value&&e.message.is_read===0?(t(),I(P,{key:0,dot:"",processing:""})):i("",!0),f("span",Fe,m(o(x)(e.message.created_on)),1),s(j,{placement:"bottom-end",trigger:"click",size:"small",options:h.value,onSelect:w},{default:a(()=>[s(W,{quaternary:"",circle:""},{icon:a(()=>[s(o(d),null,{default:a(()=>[s(o(ae))]),_:1})]),_:1})]),_:1},8,["options"])])]),description:a(()=>[s(B,{"show-icon":!1,class:"brief-wrap",type:!g.value||e.message.is_read>0?"default":"success"},{default:a(()=>[e.message.type!=4?(t(),r("div",Ne,[_(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),r("span",{key:0,onClick:n[2]||(n[2]=C(V=>R(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(oe))]),_:1}),_(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(t(),r("div",qe,m(e.message.content),1)):i("",!0),e.message.type===5?(t(),r("div",Re,[_(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),r("span",{key:0,onClick:n[3]||(n[3]=C(V=>z(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(re))]),_:1}),_(" 同意 ")])):i("",!0),e.message.reply_id===1?(t(),r("span",{key:1,onClick:n[4]||(n[4]=C(V=>A(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(t(),r("span",Ae,[s(o(d),null,{default:a(()=>[s(o(ie))]),_:1}),_(" 已同意 ")])):i("",!0),e.message.reply_id===3?(t(),r("span",Pe,[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Be=E(je,[["__scopeId","data-v-2e510758"]]),Ve={class:"content"},De=D({__name:"message-skeleton",props:{num:{default:1}},setup(q){return(y,p)=>{const c=ve;return t(!0),r(U,null,T(new Array(y.num),l=>(t(),r("div",{class:"skeleton-item",key:l},[f("div",Ve,[s(c,{text:"",repeat:2}),s(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Ee=E(De,[["__scopeId","data-v-01d2e871"]]),He={key:0,class:"skeleton-wrap"},Le={key:1},Qe={key:0,class:"empty-wrap"},Te={key:0,class:"pagination-wrap"},Ue=D({__name:"Messages",setup(q){const y=Z(),p=G(),c=v(!1),l=v(+y.query.p||1),k=v(10),h=v(0),w=v([]),g=v(!1),M=v({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),S=u=>{M.value=u,g.value=!0},R=()=>{g.value=!1},z=()=>{c.value=!0,te({page:l.value,page_size:k.value}).then(u=>{c.value=!1,w.value=u.list,h.value=Math.ceil(u.pager.total_rows/k.value)}).catch(u=>{c.value=!1})},A=u=>{l.value=u,z()};return Y(()=>{z()}),(u,e)=>{const n=$e,$=we,O=Ee,b=ke,P=Be,W=he,j=fe,B=ye;return t(),r("div",null,[s(n,{title:"消息"}),s(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:a(()=>[s($,{show:g.value,user:M.value,onSuccess:R},null,8,["show","user"]),c.value?(t(),r("div",He,[s(O,{num:k.value},null,8,["num"])])):(t(),r("div",Le,[w.value.length===0?(t(),r("div",Qe,[s(b,{size:"large",description:"暂无数据"})])):i("",!0),(t(!0),r(U,null,T(w.value,F=>(t(),I(W,{key:F.id},{default:a(()=>[s(P,{message:F,onSendWhisper:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),h.value>0?(t(),r("div",Te,[s(B,{page:l.value,"onUpdate:page":A,"page-slot":o(p).state.collapsedRight?5:8,"page-count":h.value},null,8,["page","page-slot","page-count"])])):i("",!0)])}}});const fs=E(Ue,[["__scopeId","data-v-b40dcbaf"]]);export{fs as default}; +import{d as D,c as N,r as J,e as t,f as r,k as s,w as a,bf as o,j as f,y as C,A as _,x as m,q as I,Y as i,l as K,h as H,u as T,F as U,H as v,b as Y}from"./@vue-a481fc63.js";import{u as G}from"./vuex-44de225f.js";import{u as X,b as Z}from"./vue-router-e5a2430e.js";import{E as x,M as ee,N as se,O as ne,_ as E,P as te}from"./index-5faa66a7.js";import{J as L,i as ae,K as oe,N as re,O as Q,Q as ie,p as le}from"./@vicons-7a4ef312.js";import{j as d,o as ue,M as _e,l as pe,e as ce,O as de,S as me,L as ge,U as ve,F as fe,Q as ye,I as ke,G as he}from"./naive-ui-d8de3dda.js";import{_ as we}from"./whisper-d959da10.js";import{_ as $e}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const be={class:"sender-wrap"},Ce={key:0,class:"nickname"},Ie={class:"username"},Me={key:1,class:"nickname"},Se={class:"username"},ze={key:2,class:"nickname"},Oe={class:"timestamp"},Fe={class:"timestamp-txt"},Ne={key:0,class:"brief-content"},qe={key:1,class:"whisper-content-wrap"},Re={key:2,class:"requesting-friend-wrap"},Ae={key:2,class:"status-info"},Pe={key:3,class:"status-info"},We="https://assets.paopao.info/public/avatar/default/admin.png",je=D({__name:"message-item",props:{message:{}},emits:["send-whisper"],setup(q,{emit:y}){const p=q,c=X(),l=G(),k=e=>()=>H(d,null,{default:()=>H(e)}),h=N(()=>[{label:"私信",key:"whisper",icon:k(le)}]),w=e=>{switch(e){case"whisper":const n=p.message;if(n.type!=99){let $=n.type==4&&n.sender_user_id==l.state.userInfo.id?n.receiver_user:n.sender_user;y("send-whisper",$)}break}},g=N(()=>p.message.type!==4||p.message.sender_user_id!==l.state.userInfo.id),M=N(()=>p.message.type==4&&p.message.receiver_user_id==l.state.userInfo.id),S=N(()=>p.message.type==4&&p.message.sender_user_id==l.state.userInfo.id),R=e=>{u(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?c.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},z=e=>{u(e),ee({user_id:e.sender_user_id}).then(n=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(n=>{console.log(n)})},A=e=>{u(e),se({user_id:e.sender_user_id}).then(n=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(n=>{console.log(n)})},u=e=>{p.message.receiver_user_id==l.state.userInfo.id&&e.is_read===0&&ne({id:e.id}).then(n=>{e.is_read=1}).catch(n=>{console.log(n)})};return(e,n)=>{const $=ue,O=J("router-link"),b=_e,P=pe,W=ce,j=de,B=me,F=ge;return t(),r("div",{class:K(["message-item",{unread:g.value&&e.message.is_read===0}]),onClick:n[5]||(n[5]=V=>u(e.message))},[s(F,{"content-indented":""},{avatar:a(()=>[s($,{round:"",size:30,src:e.message.type==4&&e.message.sender_user_id==o(l).state.userInfo.id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:We},null,8,["src"])]),header:a(()=>[f("div",be,[e.message.type!=4&&e.message.sender_user.id>0||M.value?(t(),r("span",Ce,[s(O,{onClick:n[0]||(n[0]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.sender_user.username}}},{default:a(()=>[_(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),f("span",Ie," @"+m(e.message.sender_user.username),1)])):S.value?(t(),r("span",Me,[s(O,{onClick:n[1]||(n[1]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.receiver_user.username}}},{default:a(()=>[_(m(e.message.receiver_user.nickname),1)]),_:1},8,["to"]),f("span",Se," @"+m(e.message.receiver_user.username),1)])):(t(),r("span",ze," 系统 ")),e.message.type==4?(t(),I(b,{key:3,class:"top-tag",type:"success",size:"small",round:""},{default:a(()=>[_(" 私信 ")]),_:1})):i("",!0),S.value?(t(),I(b,{key:4,class:"top-tag",type:"info",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已发送 ")]),_:1})):i("",!0),e.message.type==4&&e.message.receiver_user_id==o(l).state.userInfo.id?(t(),I(b,{key:5,class:"top-tag",type:"warning",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已接收 ")]),_:1})):i("",!0)])]),"header-extra":a(()=>[f("span",Oe,[g.value&&e.message.is_read===0?(t(),I(P,{key:0,dot:"",processing:""})):i("",!0),f("span",Fe,m(o(x)(e.message.created_on)),1),s(j,{placement:"bottom-end",trigger:"click",size:"small",options:h.value,onSelect:w},{default:a(()=>[s(W,{quaternary:"",circle:""},{icon:a(()=>[s(o(d),null,{default:a(()=>[s(o(ae))]),_:1})]),_:1})]),_:1},8,["options"])])]),description:a(()=>[s(B,{"show-icon":!1,class:"brief-wrap",type:!g.value||e.message.is_read>0?"default":"success"},{default:a(()=>[e.message.type!=4?(t(),r("div",Ne,[_(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),r("span",{key:0,onClick:n[2]||(n[2]=C(V=>R(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(oe))]),_:1}),_(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(t(),r("div",qe,m(e.message.content),1)):i("",!0),e.message.type===5?(t(),r("div",Re,[_(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),r("span",{key:0,onClick:n[3]||(n[3]=C(V=>z(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(re))]),_:1}),_(" 同意 ")])):i("",!0),e.message.reply_id===1?(t(),r("span",{key:1,onClick:n[4]||(n[4]=C(V=>A(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(t(),r("span",Ae,[s(o(d),null,{default:a(()=>[s(o(ie))]),_:1}),_(" 已同意 ")])):i("",!0),e.message.reply_id===3?(t(),r("span",Pe,[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Be=E(je,[["__scopeId","data-v-2e510758"]]),Ve={class:"content"},De=D({__name:"message-skeleton",props:{num:{default:1}},setup(q){return(y,p)=>{const c=ve;return t(!0),r(U,null,T(new Array(y.num),l=>(t(),r("div",{class:"skeleton-item",key:l},[f("div",Ve,[s(c,{text:"",repeat:2}),s(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Ee=E(De,[["__scopeId","data-v-01d2e871"]]),He={key:0,class:"skeleton-wrap"},Le={key:1},Qe={key:0,class:"empty-wrap"},Te={key:0,class:"pagination-wrap"},Ue=D({__name:"Messages",setup(q){const y=Z(),p=G(),c=v(!1),l=v(+y.query.p||1),k=v(10),h=v(0),w=v([]),g=v(!1),M=v({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),S=u=>{M.value=u,g.value=!0},R=()=>{g.value=!1},z=()=>{c.value=!0,te({page:l.value,page_size:k.value}).then(u=>{c.value=!1,w.value=u.list,h.value=Math.ceil(u.pager.total_rows/k.value)}).catch(u=>{c.value=!1})},A=u=>{l.value=u,z()};return Y(()=>{z()}),(u,e)=>{const n=$e,$=we,O=Ee,b=ke,P=Be,W=he,j=fe,B=ye;return t(),r("div",null,[s(n,{title:"消息"}),s(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:a(()=>[s($,{show:g.value,user:M.value,onSuccess:R},null,8,["show","user"]),c.value?(t(),r("div",He,[s(O,{num:k.value},null,8,["num"])])):(t(),r("div",Le,[w.value.length===0?(t(),r("div",Qe,[s(b,{size:"large",description:"暂无数据"})])):i("",!0),(t(!0),r(U,null,T(w.value,F=>(t(),I(W,{key:F.id},{default:a(()=>[s(P,{message:F,onSendWhisper:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),h.value>0?(t(),r("div",Te,[s(B,{page:l.value,"onUpdate:page":A,"page-slot":o(p).state.collapsedRight?5:8,"page-count":h.value},null,8,["page","page-slot","page-count"])])):i("",!0)])}}});const fs=E(Ue,[["__scopeId","data-v-b40dcbaf"]]);export{fs as default}; diff --git a/web/dist/assets/Post-1ac7281c.css b/web/dist/assets/Post-3a79fbc3.css similarity index 94% rename from web/dist/assets/Post-1ac7281c.css rename to web/dist/assets/Post-3a79fbc3.css index e0edad67..b970559c 100644 --- a/web/dist/assets/Post-1ac7281c.css +++ b/web/dist/assets/Post-3a79fbc3.css @@ -1 +1 @@ -.reply-item[data-v-187a4ed3]{display:flex;flex-direction:column;font-size:12px;padding:8px;border-bottom:1px solid #f3f3f3}.reply-item .header-wrap[data-v-187a4ed3]{display:flex;align-items:center;justify-content:space-between}.reply-item .header-wrap .username[data-v-187a4ed3]{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-item .header-wrap .username .reply-name[data-v-187a4ed3]{margin:0 3px;opacity:.75}.reply-item .header-wrap .timestamp[data-v-187a4ed3]{opacity:.75;text-align:right;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-item .base-wrap[data-v-187a4ed3]{display:block}.reply-item .base-wrap .content[data-v-187a4ed3]{width:100%;margin-top:4px;font-size:12px;text-align:justify;line-height:2}.reply-item .base-wrap .reply-switch[data-v-187a4ed3]{display:flex;align-items:center;justify-content:space-between;font-size:12px}.reply-item .base-wrap .reply-switch .actions[data-v-187a4ed3]{display:flex;align-items:center;text-align:right;font-size:12px;margin:10px 0}.reply-item .base-wrap .reply-switch .time-item[data-v-187a4ed3]{font-size:12px;opacity:.75;margin-right:18px}.reply-item .base-wrap .reply-switch .action-item[data-v-187a4ed3]{display:flex;align-items:center;margin-left:18px;opacity:.65}.reply-item .base-wrap .reply-switch .action-item .upvote-count[data-v-187a4ed3]{margin-left:4px;font-size:12px}.reply-item .base-wrap .reply-switch .action-item.hover[data-v-187a4ed3]{cursor:pointer}.reply-item .base-wrap .reply-switch .opacity-item[data-v-187a4ed3]{opacity:.75}.reply-item .base-wrap .reply-switch .reply-btn[data-v-187a4ed3]{margin-left:18px}.reply-item .base-wrap .reply-switch .show[data-v-187a4ed3]{color:#18a058;cursor:pointer}.reply-item .base-wrap .reply-switch .hide[data-v-187a4ed3]{opacity:.75;cursor:pointer}.dark .reply-item[data-v-187a4ed3]{border-bottom:1px solid #262628;background-color:#101014bf}.dark .reply-item .base-wrap .reply-switch .show[data-v-187a4ed3]{color:#63e2b7}.reply-compose-wrap .reply-switch[data-v-f9af7a93]{display:flex;align-items:center;justify-content:space-between;text-align:right;font-size:12px}.reply-compose-wrap .reply-switch .actions[data-v-f9af7a93]{display:flex;align-items:center;text-align:right;font-size:12px;margin:10px 0}.reply-compose-wrap .reply-switch .time-item[data-v-f9af7a93]{font-size:12px;opacity:.65;margin-right:18px}.reply-compose-wrap .reply-switch .action-item[data-v-f9af7a93]{display:flex;align-items:center;margin-left:18px;opacity:.65}.reply-compose-wrap .reply-switch .action-item .upvote-count[data-v-f9af7a93]{margin-left:4px;font-size:12px}.reply-compose-wrap .reply-switch .action-item.hover[data-v-f9af7a93]{cursor:pointer}.reply-compose-wrap .reply-switch .reply-btn[data-v-f9af7a93]{margin-left:18px}.reply-compose-wrap .reply-switch .show[data-v-f9af7a93]{color:#18a058;cursor:pointer;opacity:.75}.reply-compose-wrap .reply-switch .hide[data-v-f9af7a93]{opacity:.75;cursor:pointer}.dark .reply-compose-wrap[data-v-f9af7a93]{background-color:#101014bf}.dark .reply-compose-wrap .reply-switch .show[data-v-f9af7a93]{color:#63e2b7}.comment-item[data-v-36dac8c8]{width:100%;padding:16px;box-sizing:border-box}.comment-item .nickname-wrap[data-v-36dac8c8]{font-size:14px}.comment-item .username-wrap[data-v-36dac8c8]{font-size:14px;opacity:.75}.comment-item .opt-wrap[data-v-36dac8c8]{display:flex;align-items:center}.comment-item .opt-wrap .timestamp[data-v-36dac8c8]{opacity:.75;font-size:12px}.comment-item .opt-wrap .del-btn[data-v-36dac8c8]{margin-left:4px}.comment-item .comment-text[data-v-36dac8c8]{display:block;text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.comment-item .opt-item[data-v-36dac8c8]{display:flex;align-items:center;opacity:.7}.comment-item .opt-item .opt-item-icon[data-v-36dac8c8]{margin-right:10px}.reply-wrap[data-v-36dac8c8]{margin-top:10px;border-radius:5px;background:#fafafc}.reply-wrap .reply-item[data-v-36dac8c8]:last-child{border-bottom:none}.dark .reply-wrap[data-v-36dac8c8]{background:#18181c}.dark .comment-item[data-v-36dac8c8]{background-color:#101014bf}.compose-wrap[data-v-d9073453]{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line[data-v-d9073453]{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user[data-v-d9073453]{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options[data-v-d9073453]{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap[data-v-d9073453]{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .cancel-btn[data-v-d9073453]{margin-right:8px}.compose-wrap .login-only-wrap[data-v-d9073453]{display:flex;justify-content:center;width:100%}.compose-wrap .login-only-wrap button[data-v-d9073453]{margin:0 4px;width:50%}.compose-wrap .login-wrap[data-v-d9073453]{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner[data-v-d9073453]{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button[data-v-d9073453]{margin:0 4px}.attachment[data-v-d9073453]{display:flex;align-items:center}.attachment .text-statistic[data-v-d9073453]{margin-left:8px;width:18px;height:18px;transform:rotate(180deg)}.attachment-list-wrap[data-v-d9073453]{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail[data-v-d9073453]{overflow:hidden}.dark .compose-mention[data-v-d9073453],.dark .compose-wrap[data-v-d9073453]{background-color:#101014bf}.detail-item{width:100%;padding:16px;box-sizing:border-box;background:#f7f9f9}.detail-item .nickname-wrap{font-size:14px}.detail-item .username-wrap{font-size:14px;opacity:.75}.detail-item .top-tag{transform:scale(.75)}.detail-item .options{opacity:.75}.detail-item .post-text{font-size:16px;text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.detail-item .opts-wrap{margin-top:20px}.detail-item .opts-wrap .opt-item{display:flex;align-items:center;opacity:.7}.detail-item .opts-wrap .opt-item .opt-item-icon{margin-right:10px}.detail-item .opts-wrap .opt-item.hover{cursor:pointer}.detail-item .n-thing .n-thing-avatar-header-wrapper{align-items:center}.detail-item .timestamp{opacity:.75;font-size:12px;margin-top:10px}.dark .detail-item{background:#18181c}.detail-wrap[data-v-0d01659f]{min-height:100px}.comment-opts-wrap[data-v-0d01659f]{padding-top:6px;padding-left:16px;padding-right:16px;opacity:.75}.comment-opts-wrap .comment-title-item[data-v-0d01659f]{padding-top:4px;font-size:16px;text-align:center}.main-content-wrap .load-more[data-v-0d01659f]{margin-bottom:8px}.main-content-wrap .load-more .load-more-spinner[data-v-0d01659f]{font-size:14px;opacity:.65}.dark .main-content-wrap[data-v-0d01659f],.dark .skeleton-wrap[data-v-0d01659f]{background-color:#101014bf} +.reply-item[data-v-187a4ed3]{display:flex;flex-direction:column;font-size:12px;padding:8px;border-bottom:1px solid #f3f3f3}.reply-item .header-wrap[data-v-187a4ed3]{display:flex;align-items:center;justify-content:space-between}.reply-item .header-wrap .username[data-v-187a4ed3]{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-item .header-wrap .username .reply-name[data-v-187a4ed3]{margin:0 3px;opacity:.75}.reply-item .header-wrap .timestamp[data-v-187a4ed3]{opacity:.75;text-align:right;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-item .base-wrap[data-v-187a4ed3]{display:block}.reply-item .base-wrap .content[data-v-187a4ed3]{width:100%;margin-top:4px;font-size:12px;text-align:justify;line-height:2}.reply-item .base-wrap .reply-switch[data-v-187a4ed3]{display:flex;align-items:center;justify-content:space-between;font-size:12px}.reply-item .base-wrap .reply-switch .actions[data-v-187a4ed3]{display:flex;align-items:center;text-align:right;font-size:12px;margin:10px 0}.reply-item .base-wrap .reply-switch .time-item[data-v-187a4ed3]{font-size:12px;opacity:.75;margin-right:18px}.reply-item .base-wrap .reply-switch .action-item[data-v-187a4ed3]{display:flex;align-items:center;margin-left:18px;opacity:.65}.reply-item .base-wrap .reply-switch .action-item .upvote-count[data-v-187a4ed3]{margin-left:4px;font-size:12px}.reply-item .base-wrap .reply-switch .action-item.hover[data-v-187a4ed3]{cursor:pointer}.reply-item .base-wrap .reply-switch .opacity-item[data-v-187a4ed3]{opacity:.75}.reply-item .base-wrap .reply-switch .reply-btn[data-v-187a4ed3]{margin-left:18px}.reply-item .base-wrap .reply-switch .show[data-v-187a4ed3]{color:#18a058;cursor:pointer}.reply-item .base-wrap .reply-switch .hide[data-v-187a4ed3]{opacity:.75;cursor:pointer}.dark .reply-item[data-v-187a4ed3]{border-bottom:1px solid #262628;background-color:#101014bf}.dark .reply-item .base-wrap .reply-switch .show[data-v-187a4ed3]{color:#63e2b7}.reply-compose-wrap .reply-switch[data-v-f9af7a93]{display:flex;align-items:center;justify-content:space-between;text-align:right;font-size:12px}.reply-compose-wrap .reply-switch .actions[data-v-f9af7a93]{display:flex;align-items:center;text-align:right;font-size:12px;margin:10px 0}.reply-compose-wrap .reply-switch .time-item[data-v-f9af7a93]{font-size:12px;opacity:.65;margin-right:18px}.reply-compose-wrap .reply-switch .action-item[data-v-f9af7a93]{display:flex;align-items:center;margin-left:18px;opacity:.65}.reply-compose-wrap .reply-switch .action-item .upvote-count[data-v-f9af7a93]{margin-left:4px;font-size:12px}.reply-compose-wrap .reply-switch .action-item.hover[data-v-f9af7a93]{cursor:pointer}.reply-compose-wrap .reply-switch .reply-btn[data-v-f9af7a93]{margin-left:18px}.reply-compose-wrap .reply-switch .show[data-v-f9af7a93]{color:#18a058;cursor:pointer;opacity:.75}.reply-compose-wrap .reply-switch .hide[data-v-f9af7a93]{opacity:.75;cursor:pointer}.dark .reply-compose-wrap[data-v-f9af7a93]{background-color:#101014bf}.dark .reply-compose-wrap .reply-switch .show[data-v-f9af7a93]{color:#63e2b7}.comment-item[data-v-36dac8c8]{width:100%;padding:16px;box-sizing:border-box}.comment-item .nickname-wrap[data-v-36dac8c8]{font-size:14px}.comment-item .username-wrap[data-v-36dac8c8]{font-size:14px;opacity:.75}.comment-item .opt-wrap[data-v-36dac8c8]{display:flex;align-items:center}.comment-item .opt-wrap .timestamp[data-v-36dac8c8]{opacity:.75;font-size:12px}.comment-item .opt-wrap .del-btn[data-v-36dac8c8]{margin-left:4px}.comment-item .comment-text[data-v-36dac8c8]{display:block;text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.comment-item .opt-item[data-v-36dac8c8]{display:flex;align-items:center;opacity:.7}.comment-item .opt-item .opt-item-icon[data-v-36dac8c8]{margin-right:10px}.reply-wrap[data-v-36dac8c8]{margin-top:10px;border-radius:5px;background:#fafafc}.reply-wrap .reply-item[data-v-36dac8c8]:last-child{border-bottom:none}.dark .reply-wrap[data-v-36dac8c8]{background:#18181c}.dark .comment-item[data-v-36dac8c8]{background-color:#101014bf}.compose-wrap[data-v-d9073453]{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line[data-v-d9073453]{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user[data-v-d9073453]{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options[data-v-d9073453]{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap[data-v-d9073453]{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .cancel-btn[data-v-d9073453]{margin-right:8px}.compose-wrap .login-only-wrap[data-v-d9073453]{display:flex;justify-content:center;width:100%}.compose-wrap .login-only-wrap button[data-v-d9073453]{margin:0 4px;width:50%}.compose-wrap .login-wrap[data-v-d9073453]{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner[data-v-d9073453]{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button[data-v-d9073453]{margin:0 4px}.attachment[data-v-d9073453]{display:flex;align-items:center}.attachment .text-statistic[data-v-d9073453]{margin-left:8px;width:18px;height:18px;transform:rotate(180deg)}.attachment-list-wrap[data-v-d9073453]{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail[data-v-d9073453]{overflow:hidden}.dark .compose-mention[data-v-d9073453],.dark .compose-wrap[data-v-d9073453]{background-color:#101014bf}.detail-item{width:100%;padding:16px;box-sizing:border-box;background:#f7f9f9}.detail-item .nickname-wrap{font-size:14px}.detail-item .username-wrap{font-size:14px;opacity:.75}.detail-item .top-tag{transform:scale(.75)}.detail-item .options{opacity:.75}.detail-item .post-text{font-size:16px;text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.detail-item .opts-wrap{margin-top:20px}.detail-item .opts-wrap .opt-item{display:flex;align-items:center;opacity:.7}.detail-item .opts-wrap .opt-item .opt-item-icon{margin-right:10px}.detail-item .opts-wrap .opt-item.hover{cursor:pointer}.detail-item .n-thing .n-thing-avatar-header-wrapper{align-items:center}.detail-item .timestamp{opacity:.75;font-size:12px;margin-top:10px}.dark .detail-item{background:#18181c}.detail-wrap[data-v-09db0ef6]{min-height:100px}.comment-opts-wrap[data-v-09db0ef6]{padding-top:6px;padding-left:16px;padding-right:16px;opacity:.75}.comment-opts-wrap .comment-title-item[data-v-09db0ef6]{padding-top:4px;font-size:16px;text-align:center}.main-content-wrap .load-more[data-v-09db0ef6]{margin-bottom:8px}.main-content-wrap .load-more .load-more-spinner[data-v-09db0ef6]{font-size:14px;opacity:.65}.dark .main-content-wrap[data-v-09db0ef6],.dark .skeleton-wrap[data-v-09db0ef6]{background-color:#101014bf} diff --git a/web/dist/assets/Post-e2d22a4a.js b/web/dist/assets/Post-b40cc86e.js similarity index 67% rename from web/dist/assets/Post-e2d22a4a.js rename to web/dist/assets/Post-b40cc86e.js index 04d78fad..0e89871f 100644 --- a/web/dist/assets/Post-e2d22a4a.js +++ b/web/dist/assets/Post-b40cc86e.js @@ -1 +1 @@ -import{d as ee,H as c,r as ge,e as o,f as _,j as d,k as t,w as n,A as I,x as P,q as R,Y as u,bf as a,y as B,c as oe,al as Ve,F as re,u as _e,$ as Te,a0 as ze,b as Re,h as $e,E as Ye}from"./@vue-a481fc63.js";import{u as ne}from"./vuex-44de225f.js";import{f as pe,t as Je,h as Ke,i as We,_ as ae,j as Ge,k as Qe,l as Xe,m as Ze,g as et,n as tt,o as st,p as ot,q as nt,r as at,s as lt,u as it,v as ut,w as ct,x as rt,y as _t,z as Ce}from"./index-fcb35ad4.js";import{Y as de,V as G}from"./IEnum-5453a777.js";import{T as Ue,e as me,f as Se,g as ve,h as Le,I as pt,i as dt,j as mt,k as vt,l as ht,m as ft,n as gt,o as yt,p as kt,q as wt,r as bt,s as $t,t as xe,F as Ie,E as ie,u as ue,v as ce,w as Pe}from"./@vicons-7a4ef312.js";import{j as H,e as le,J as Oe,H as Ct,b as xt,K as It,o as ye,L as De,v as Pt,w as Tt,x as zt,y as Rt,z as Ut,B as St,M as Lt,O as Ot,i as Dt,P as At,a as Ae,F as Mt,I as Et,k as qt,G as Nt,f as Bt,g as jt}from"./naive-ui-d8de3dda.js";import{p as ke,_ as Me,a as Ft,b as Ht,c as Vt}from"./content-d73d8961.js";import{u as Ee,b as Yt}from"./vue-router-e5a2430e.js";import{_ as Jt}from"./post-skeleton-f060289d.js";import{l as Kt}from"./lodash-e0b37ac3.js";import{_ as Wt}from"./whisper-150920d0.js";import{c as Gt}from"./copy-to-clipboard-4ef7d3eb.js";import{_ as Qt}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{W as Xt}from"./v3-infinite-loading-2c58ec2f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";const Zt={class:"reply-item"},es={class:"header-wrap"},ts={class:"username"},ss={class:"reply-name"},os={class:"timestamp"},ns={class:"base-wrap"},as={class:"content"},ls={class:"reply-switch"},is={class:"time-item"},us={class:"actions"},cs={class:"upvote-count"},rs=["onClick"],_s={class:"upvote-count"},ps={key:2,class:"action-item"},ds=["onClick"],ms=ee({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(E,{emit:q}){const i=E,m=ne(),v=c(i.reply.is_thumbs_up==de.YES),k=c(i.reply.is_thumbs_down==de.YES),w=c(i.reply.thumbs_up_count),U=()=>{Je({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{v.value=!v.value,v.value?(w.value++,k.value=!1):w.value--}).catch(h=>{console.log(h)})},r=()=>{Ke({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{k.value=!k.value,k.value&&v.value&&(w.value--,v.value=!1)}).catch(h=>{console.log(h)})},S=()=>{q("focusReply",i.reply)},T=()=>{We({id:i.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{q("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const O=ge("router-link"),p=H,C=le,D=Oe,b=Ct;return o(),_("div",Zt,[d("div",es,[d("div",ts,[t(O,{class:"user-link",to:{name:"user",query:{s:i.reply.user.username}}},{default:n(()=>[I(P(i.reply.user.username),1)]),_:1},8,["to"]),d("span",ss,P(i.reply.at_user_id>0?"回复":":"),1),i.reply.at_user_id>0?(o(),R(O,{key:0,class:"user-link",to:{name:"user",query:{s:i.reply.at_user.username}}},{default:n(()=>[I(P(i.reply.at_user.username),1)]),_:1},8,["to"])):u("",!0)]),d("div",os,[I(P(i.reply.ip_loc)+" ",1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===i.reply.user.id?(o(),R(D,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(C,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(p,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),d("div",ns,[d("div",as,[t(b,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[I(P(i.reply.content),1)]),_:1})]),d("div",ls,[d("span",is,P(a(pe)(i.reply.created_on)),1),d("div",us,[a(m).state.userLogined?u("",!0):(o(),_("div",{key:0,class:"action-item",onClick:$[0]||($[0]=B(()=>{},["stop"]))},[t(p,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",cs,P(w.value),1)])),a(m).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(U,["stop"])},[t(p,{size:"medium"},{default:n(()=>[v.value?u("",!0):(o(),R(a(me),{key:0})),v.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",_s,P(w.value>0?w.value:"赞"),1)],8,rs)):u("",!0),a(m).state.userLogined?u("",!0):(o(),_("div",ps,[t(p,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(m).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(r,["stop"])},[t(p,{size:"medium"},{default:n(()=>[k.value?u("",!0):(o(),R(a(ve),{key:0})),k.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,ds)):u("",!0),a(m).state.userLogined?(o(),_("span",{key:4,class:"show opacity-item reply-btn",onClick:S}," 回复 ")):u("",!0)])])])])}}});const vs=ae(ms,[["__scopeId","data-v-187a4ed3"]]),hs={class:"reply-compose-wrap"},fs={class:"reply-switch"},gs={class:"time-item"},ys={class:"actions"},ks={key:0,class:"action-item"},ws={class:"upvote-count"},bs=["onClick"],$s={class:"upvote-count"},Cs={key:2,class:"action-item"},xs=["onClick"],Is={key:0,class:"reply-input-wrap"},Ps=ee({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(E,{expose:q,emit:i}){const m=E,v=ne(),k=c(),w=c(!1),U=c(""),r=c(!1),S=+"300",T=c(m.comment.is_thumbs_up==de.YES),h=c(m.comment.is_thumbs_down==de.YES),$=c(m.comment.thumbs_up_count),O=()=>{Ge({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(b=>{console.log(b)})},p=()=>{Qe({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(b=>{console.log(b)})},C=b=>{w.value=b,b?setTimeout(()=>{var A;(A=k.value)==null||A.focus()},10):(r.value=!1,U.value="",i("reset"))},D=()=>{r.value=!0,Xe({comment_id:m.comment.id,at_user_id:m.atUserid,content:U.value}).then(b=>{C(!1),window.$message.success("评论成功"),i("reload")}).catch(b=>{r.value=!1})};return q({switchReply:C}),(b,A)=>{const s=H,g=xt,F=le,z=It;return o(),_("div",hs,[d("div",fs,[d("span",gs,P(a(pe)(b.comment.created_on)),1),d("div",ys,[a(v).state.userLogined?u("",!0):(o(),_("div",ks,[t(s,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",ws,P($.value),1)])),a(v).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(O,["stop"])},[t(s,{size:"medium"},{default:n(()=>[T.value?u("",!0):(o(),R(a(me),{key:0})),T.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",$s,P($.value>0?$.value:"赞"),1)],8,bs)):u("",!0),a(v).state.userLogined?u("",!0):(o(),_("div",Cs,[t(s,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(v).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(p,["stop"])},[t(s,{size:"medium"},{default:n(()=>[h.value?u("",!0):(o(),R(a(ve),{key:0})),h.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,xs)):u("",!0),a(v).state.userLogined&&!w.value?(o(),_("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=L=>C(!0))}," 回复 ")):u("",!0),a(v).state.userLogined&&w.value?(o(),_("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=L=>C(!1))}," 取消 ")):u("",!0)])]),w.value?(o(),_("div",Is,[t(z,null,{default:n(()=>[t(g,{ref_key:"inputInstRef",ref:k,size:"small",placeholder:m.atUsername?"@"+m.atUsername:"请输入回复内容..",maxlength:a(S),value:U.value,"onUpdate:value":A[2]||(A[2]=L=>U.value=L),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(F,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:D},{default:n(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):u("",!0)])}}});const Ts=ae(Ps,[["__scopeId","data-v-f9af7a93"]]),zs={class:"comment-item"},Rs={class:"nickname-wrap"},Us={class:"username-wrap"},Ss={class:"opt-wrap"},Ls={class:"timestamp"},Os=["innerHTML"],Ds={class:"reply-wrap"},As=ee({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m=ne(),v=Ee(),k=c(0),w=c(""),U=c(),r=oe(()=>{let p=Object.assign({texts:[],imgs:[]},i.comment);return p.contents.map(C=>{(+C.type==1||+C.type==2)&&p.texts.push(C),+C.type==3&&p.imgs.push(C)}),p}),S=(p,C)=>{let D=p.target;if(D.dataset.detail){const b=D.dataset.detail.split(":");b.length===2&&(m.commit("refresh"),b[0]==="tag"?window.$message.warning("评论内的无效话题"):v.push({name:"user",query:{s:b[1]}}))}},T=p=>{var C,D;k.value=p.user_id,w.value=((C=p.user)==null?void 0:C.username)||"",(D=U.value)==null||D.switchReply(!0)},h=()=>{q("reload")},$=()=>{k.value=0,w.value=""},O=()=>{Ze({id:r.value.id}).then(p=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(p=>{})};return(p,C)=>{const D=ye,b=ge("router-link"),A=H,s=le,g=Oe,F=Me,z=Ts,L=vs,J=De;return o(),_("div",zs,[t(J,{"content-indented":""},Ve({avatar:n(()=>[t(D,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",Rs,[t(b,{onClick:C[0]||(C[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:r.value.user.username}}},{default:n(()=>[I(P(r.value.user.nickname),1)]),_:1},8,["to"])]),d("span",Us," @"+P(r.value.user.username),1)]),"header-extra":n(()=>[d("div",Ss,[d("span",Ls,P(r.value.ip_loc),1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===r.value.user.id?(o(),R(g,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:O},{trigger:n(()=>[t(s,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),R(F,{key:0,imgs:r.value.imgs},null,8,["imgs"])):u("",!0),t(z,{ref_key:"replyComposeRef",ref:U,comment:r.value,"at-userid":k.value,"at-username":w.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),d("div",Ds,[(o(!0),_(re,null,_e(r.value.replies,j=>(o(),R(L,{key:j.id,reply:j,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),_(re,null,_e(r.value.texts,j=>(o(),_("span",{key:j.id,class:"comment-text",onClick:C[1]||(C[1]=B(V=>S(V,r.value.id),["stop"])),innerHTML:a(ke)(j.content).content},null,8,Os))),128))]),key:"0"}:void 0]),1024)])}}});const Ms=ae(As,[["__scopeId","data-v-36dac8c8"]]),Es=E=>(Te("data-v-d9073453"),E=E(),ze(),E),qs={key:0,class:"compose-wrap"},Ns={class:"compose-line"},Bs={class:"compose-user"},js={class:"compose-line compose-options"},Fs={class:"attachment"},Hs={class:"submit-wrap"},Vs={class:"attachment-list-wrap"},Ys={key:1,class:"compose-wrap"},Js=Es(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ks={key:0,class:"login-only-wrap"},Ws={key:1,class:"login-wrap"},Gs=ee({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(E,{emit:q}){const i=E,m=ne(),v=c([]),k=c(!1),w=c(!1),U=c(!1),r=c(""),S=c(),T=c("public/image"),h=c([]),$=c([]),O=c("true".toLowerCase()==="true"),p=+"300",C="/v1/attachment",D=oe(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),b=Kt.debounce(f=>{et({k:f}).then(y=>{let x=[];y.suggest.map(e=>{x.push({label:e,value:e})}),v.value=x,w.value=!1}).catch(y=>{w.value=!1})},200),A=(f,y)=>{w.value||(w.value=!0,y==="@"&&b(f))},s=f=>{f.length>p?r.value=f.substring(0,p):r.value=f},g=f=>{T.value=f},F=f=>{for(let l=0;l30&&(f[l].name=x.substring(0,18)+"..."+x.substring(x.length-9)+"."+e)}h.value=f},z=async f=>{var y,x;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((y=f.file.file)==null?void 0:y.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((x=f.file.file)==null?void 0:x.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},L=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);e.code===0&&T.value==="public/image"&&$.value.push({id:f.id,content:e.data.content})}catch{window.$message.error("上传失败")}},J=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);if(e.code!==0){let l=e.msg||"上传失败";e.details&&e.details.length>0&&e.details.map(M=>{l+=":"+M}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},j=({file:f})=>{let y=$.value.findIndex(x=>x.id===f.id);y>-1&&$.value.splice(y,1)},V=()=>{k.value=!0},Q=()=>{var f;k.value=!1,(f=S.value)==null||f.clear(),h.value=[],r.value="",$.value=[]},K=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=ke(r.value);const y=[];let x=100;y.push({content:r.value,type:2,sort:x}),$.value.map(e=>{x++,y.push({content:e.content,type:3,sort:x})}),U.value=!0,tt({contents:y,post_id:i.postId,users:Array.from(new Set(f))}).then(e=>{window.$message.success("发布成功"),U.value=!1,q("post-success"),Q()}).catch(e=>{U.value=!1})},Y=f=>{m.commit("triggerAuth",!0),m.commit("triggerAuthKey",f)};return(f,y)=>{const x=ye,e=Pt,l=H,M=le,X=Tt,te=zt,he=Rt,fe=Ut,W=St;return o(),_("div",null,[a(m).state.userInfo.id>0?(o(),_("div",qs,[d("div",Ns,[d("div",Bs,[t(x,{round:"",size:30,src:a(m).state.userInfo.avatar},null,8,["src"])]),t(e,{type:"textarea",size:"large",autosize:"",bordered:!1,options:v.value,prefix:["@"],loading:w.value,value:r.value,disabled:i.lock===1,"onUpdate:value":s,onSearch:A,onFocus:V,placeholder:i.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),k.value?(o(),R(W,{key:0,ref_key:"uploadRef",ref:S,abstract:"","list-type":"image",multiple:!0,max:9,action:C,headers:{Authorization:D.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:z,onFinish:L,onError:J,onRemove:j,"onUpdate:fileList":F},{default:n(()=>[d("div",js,[d("div",Fs,[t(X,{abstract:""},{default:n(({handleClick:Z})=>[t(M,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{g("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(l,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(pt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(he,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(te,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(p)*100},null,8,["percentage"])]),default:n(()=>[I(" "+P(r.value.length)+" / "+P(a(p)),1)]),_:1})]),d("div",Hs,[t(M,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:Q},{default:n(()=>[I(" 取消 ")]),_:1}),t(M,{loading:U.value,onClick:K,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",Vs,[t(fe)])]),_:1},8,["headers","data","file-list"])):u("",!0)])):(o(),_("div",Ys,[Js,O.value?u("",!0):(o(),_("div",Ks,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1})])),O.value?(o(),_("div",Ws,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1}),t(M,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=Z=>Y("signup"))},{default:n(()=>[I(" 注册 ")]),_:1})])):u("",!0)]))])}}});const Qs=ae(Gs,[["__scopeId","data-v-d9073453"]]),Xs={class:"username-wrap"},Zs={class:"options"},eo={key:0},to=["innerHTML"],so={class:"timestamp"},oo={key:0},no={key:1},ao={class:"opts-wrap"},lo=["onClick"],io={class:"opt-item"},uo=["onClick"],co=["onClick"],ro=ee({__name:"post-detail",props:{post:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m="true".toLowerCase()==="true",v=ne(),k=Ee(),w=c(!1),U=c(!1),r=c(!1),S=c(!1),T=c(!1),h=c(!1),$=c(!1),O=c(!1),p=c(G.PUBLIC),C=c(!1),D=c({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),b=e=>{D.value=e,C.value=!0},A=()=>{C.value=!1},s=oe({get:()=>{let e=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},i.post);return e.contents.map(l=>{(+l.type==1||+l.type==2)&&e.texts.push(l),+l.type==3&&e.imgs.push(l),+l.type==4&&e.videos.push(l),+l.type==6&&e.links.push(l),+l.type==7&&e.attachments.push(l),+l.type==8&&e.charge_attachments.push(l)}),e},set:e=>{i.post.upvote_count=e.upvote_count,i.post.comment_count=e.comment_count,i.post.collection_count=e.collection_count,i.post.is_essence=e.is_essence}}),g=e=>()=>$e(H,null,{default:()=>$e(e)}),F=oe(()=>{var M;let e=[];if(!v.state.userInfo.is_admin&&v.state.userInfo.id!=i.post.user.id)return e.push({label:"私信",key:"whisper",icon:g(kt)}),e;e.push({label:"删除",key:"delete",icon:g(wt)}),s.value.is_lock===0?e.push({label:"锁定",key:"lock",icon:g(bt)}):e.push({label:"解锁",key:"unlock",icon:g($t)}),v.state.userInfo.is_admin&&(s.value.is_top===0?e.push({label:"置顶",key:"stick",icon:g(xe)}):e.push({label:"取消置顶",key:"unstick",icon:g(xe)})),s.value.is_essence===0?e.push({label:"设为亮点",key:"highlight",icon:g(Ie)}):e.push({label:"取消亮点",key:"unhighlight",icon:g(Ie)});let l;return s.value.visibility===G.PUBLIC?l={label:"公开",key:"vpublic",icon:g(ie),children:[{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:s.value.visibility===G.PRIVATE?l={label:"私密",key:"vprivate",icon:g(ue),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:m&&s.value.visibility===G.FRIEND?l={label:"好友可见",key:"vfriend",icon:g(Pe),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:l={label:"关注可见",key:"vfollowing",icon:g(ce),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)}]},m&&s.value.visibility!==G.FRIEND&&((M=l.children)==null||M.push({label:"好友可见",key:"vfriend",icon:g(Pe)})),e.push(l),e}),z=e=>{k.push({name:"post",query:{id:e}})},L=(e,l)=>{if(e.target.dataset.detail){const M=e.target.dataset.detail.split(":");if(M.length===2){v.commit("refresh"),M[0]==="tag"?k.push({name:"home",query:{q:M[1],t:"tag"}}):k.push({name:"user",query:{s:M[1]}});return}}z(l)},J=e=>{switch(e){case"whisper":b(i.post.user);break;case"delete":r.value=!0;break;case"lock":case"unlock":S.value=!0;break;case"stick":case"unstick":T.value=!0;break;case"highlight":case"unhighlight":h.value=!0;break;case"vpublic":p.value=0,$.value=!0;break;case"vprivate":p.value=1,$.value=!0;break;case"vfriend":p.value=2,$.value=!0;break;case"vfollowing":p.value=3,$.value=!0;break}},j=()=>{nt({id:s.value.id}).then(e=>{window.$message.success("删除成功"),k.replace("/"),setTimeout(()=>{v.commit("refresh")},50)}).catch(e=>{O.value=!1})},V=()=>{at({id:s.value.id}).then(e=>{q("reload"),e.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(e=>{O.value=!1})},Q=()=>{lt({id:s.value.id}).then(e=>{q("reload"),e.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(e=>{O.value=!1})},K=()=>{it({id:s.value.id}).then(e=>{s.value={...s.value,is_essence:e.highlight_status},e.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(e=>{O.value=!1})},Y=()=>{let e=p.value;e==3&&(e=0),ut({id:s.value.id,visibility:e}).then(l=>{q("reload"),window.$message.success("修改可见性成功")}).catch(l=>{O.value=!1})},f=()=>{ct({id:s.value.id}).then(e=>{w.value=e.status,e.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(e=>{console.log(e)})},y=()=>{rt({id:s.value.id}).then(e=>{U.value=e.status,e.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(e=>{console.log(e)})},x=()=>{Gt(`${window.location.origin}/#/post?id=${s.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板")};return Re(()=>{v.state.userInfo.id>0&&(st({id:s.value.id}).then(e=>{w.value=e.status}).catch(e=>{console.log(e)}),ot({id:s.value.id}).then(e=>{U.value=e.status}).catch(e=>{console.log(e)}))}),(e,l)=>{const M=ye,X=ge("router-link"),te=Lt,he=le,fe=Ot,W=Dt,Z=Wt,we=Ft,qe=Me,Ne=Ht,Be=Vt,be=At,je=Ae,Fe=De;return o(),_("div",{class:"detail-item",onClick:l[7]||(l[7]=N=>z(s.value.id))},[t(Fe,null,{avatar:n(()=>[t(M,{round:"",size:30,src:s.value.user.avatar},null,8,["src"])]),header:n(()=>[t(X,{onClick:l[0]||(l[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:s.value.user.username}}},{default:n(()=>[I(P(s.value.user.nickname),1)]),_:1},8,["to"]),d("span",Xs," @"+P(s.value.user.username),1),s.value.is_top?(o(),R(te,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[I(" 置顶 ")]),_:1})):u("",!0),s.value.visibility==a(G).PRIVATE?(o(),R(te,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[I(" 私密 ")]),_:1})):u("",!0),s.value.visibility==a(G).FRIEND?(o(),R(te,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[I(" 好友可见 ")]),_:1})):u("",!0)]),"header-extra":n(()=>[d("div",Zs,[t(fe,{placement:"bottom-end",trigger:"click",size:"small",options:F.value,onSelect:J},{default:n(()=>[t(he,{quaternary:"",circle:""},{icon:n(()=>[t(a(H),null,{default:n(()=>[t(a(dt))]),_:1})]),_:1})]),_:1},8,["options"])]),t(W,{show:r.value,"onUpdate:show":l[1]||(l[1]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show"]),t(W,{show:S.value,"onUpdate:show":l[2]||(l[2]=N=>S.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),t(W,{show:T.value,"onUpdate:show":l[3]||(l[3]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"]),t(W,{show:h.value,"onUpdate:show":l[4]||(l[4]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(s.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),t(W,{show:$.value,"onUpdate:show":l[5]||(l[5]=N=>$.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(p.value==0?"公开":p.value==1?"私密":p.value==2?"好友可见":"关注可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(Z,{show:C.value,user:D.value,onSuccess:A},null,8,["show","user"])]),footer:n(()=>[t(we,{attachments:s.value.attachments},null,8,["attachments"]),t(we,{attachments:s.value.charge_attachments,price:s.value.attachment_price},null,8,["attachments","price"]),t(qe,{imgs:s.value.imgs},null,8,["imgs"]),t(Ne,{videos:s.value.videos,full:!0},null,8,["videos"]),t(Be,{links:s.value.links},null,8,["links"]),d("div",so,[I(" 发布于 "+P(a(pe)(s.value.created_on))+" ",1),s.value.ip_loc?(o(),_("span",oo,[t(be,{vertical:""}),I(" "+P(s.value.ip_loc),1)])):u("",!0),!a(v).state.collapsedLeft&&s.value.created_on!=s.value.latest_replied_on?(o(),_("span",no,[t(be,{vertical:""}),I(" 最后回复 "+P(a(pe)(s.value.latest_replied_on)),1)])):u("",!0)])]),action:n(()=>[d("div",ao,[t(je,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(f,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?u("",!0):(o(),R(a(mt),{key:0})),w.value?(o(),R(a(vt),{key:1,color:"red"})):u("",!0)]),_:1}),I(" "+P(s.value.upvote_count),1)],8,lo),d("div",io,[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(ht))]),_:1}),I(" "+P(s.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(y,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[U.value?u("",!0):(o(),R(a(ft),{key:0})),U.value?(o(),R(a(gt),{key:1,color:"#ff7600"})):u("",!0)]),_:1}),I(" "+P(s.value.collection_count),1)],8,uo),d("div",{class:"opt-item hover",onClick:B(x,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(yt))]),_:1}),I(" "+P(s.value.share_count),1)],8,co)]),_:1})])]),default:n(()=>[s.value.texts.length>0?(o(),_("div",eo,[(o(!0),_(re,null,_e(s.value.texts,N=>(o(),_("span",{key:N.id,class:"post-text",onClick:l[6]||(l[6]=B(He=>L(He,s.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,to))),128))])):u("",!0)]),_:1})])}}});const _o=E=>(Te("data-v-0d01659f"),E=E(),ze(),E),po={key:0,class:"detail-wrap"},mo={key:1,class:"empty-wrap"},vo={key:0,class:"comment-opts-wrap"},ho=_o(()=>d("span",{class:"comment-title-item"},"评论",-1)),fo={key:2},go={key:0,class:"skeleton-wrap"},yo={key:1},ko={key:0,class:"empty-wrap"},wo={key:0,class:"load-more-spinner"},bo={key:1,class:"load-more-spinner"},$o={key:2,class:"load-more-spinner"},Co={key:3,class:"load-more-spinner"},se=20,xo=ee({__name:"Post",setup(E){const q=Yt(),i=c({}),m=c(!1),v=c(!1),k=c([]),w=oe(()=>+q.query.id),U=c("default"),r=c(!0);let S={loading(){},loaded(){},complete(){},error(){}};const T=z=>{U.value=z,z==="default"&&(r.value=!0),g(S)},h=()=>{i.value={id:0},m.value=!0,_t({id:w.value}).then(z=>{m.value=!1,i.value=z,g(S)}).catch(z=>{m.value=!1})};let $=1;const O=c(!1),p=c([]),C=z=>{O.value||Ce({id:i.value.id,sort_strategy:"default",page:$,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&($===1?p.value=L.list:p.value.push(...L.list),k.value=p.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})};let D=1,b=c(!1);const A=c([]),s=z=>{b.value||Ce({id:i.value.id,sort_strategy:"newest",page:D,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&(D===1?A.value=L.list:A.value.push(...L.list),k.value=A.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})},g=z=>{w.value<1||(k.value.length===0&&(v.value=!0),U.value==="default"?(k.value=p.value,C(z)):(k.value=A.value,s(z)),v.value=!1)},F=()=>{$=1,O.value=!1,p.value=[],D=1,b.value=!1,A.value=[],g(S)};return Re(()=>{h()}),Ye(w,()=>{w.value>0&&q.name==="post"&&h()}),(z,L)=>{const J=Qt,j=ro,V=Et,Q=qt,K=Nt,Y=Bt,f=jt,y=Qs,x=Jt,e=Ms,l=Ae,M=Mt;return o(),_("div",null,[t(J,{title:"泡泡详情",back:!0}),t(M,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(K,null,{default:n(()=>[t(Q,{show:m.value},{default:n(()=>[i.value.id>1?(o(),_("div",po,[t(j,{post:i.value,onReload:h},null,8,["post"])])):(o(),_("div",mo,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),i.value.id>0?(o(),_("div",vo,[t(f,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[ho]),default:n(()=>[t(Y,{name:"default",tab:"默认"}),t(Y,{name:"newest",tab:"最新"})]),_:1})])):u("",!0),i.value.id>0?(o(),R(K,{key:1},{default:n(()=>[t(y,{lock:i.value.is_lock,"post-id":i.value.id,onPostSuccess:F},null,8,["lock","post-id"])]),_:1})):u("",!0),i.value.id>0?(o(),_("div",fo,[v.value?(o(),_("div",go,[t(x,{num:5})])):(o(),_("div",yo,[k.value.length===0?(o(),_("div",ko,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):u("",!0),(o(!0),_(re,null,_e(k.value,X=>(o(),R(K,{key:X.id},{default:n(()=>[t(e,{comment:X,onReload:F},null,8,["comment"])]),_:2},1024))),128))]))])):u("",!0),k.value.length>=se?(o(),R(l,{key:3,justify:"center"},{default:n(()=>[t(a(Xt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:g},{spinner:n(()=>[r.value&&O.value?(o(),_("span",wo)):u("",!0),!r.value&&a(b)?(o(),_("span",bo)):u("",!0),r.value&&!O.value?(o(),_("span",$o,"加载评论")):u("",!0),!r.value&&!a(b)?(o(),_("span",Co,"加载评论")):u("",!0)]),_:1})]),_:1})):u("",!0)]),_:1})])}}});const an=ae(xo,[["__scopeId","data-v-0d01659f"]]);export{an as default}; +import{d as ee,H as c,r as ge,e as o,f as _,j as d,k as t,w as n,A as I,x as P,q as R,Y as u,bf as a,y as B,c as oe,al as Ve,F as re,u as _e,$ as Te,a0 as ze,b as Re,h as $e,E as Ye}from"./@vue-a481fc63.js";import{u as ne}from"./vuex-44de225f.js";import{f as pe,t as Je,h as Ke,i as We,_ as ae,j as Ge,k as Qe,l as Xe,m as Ze,g as et,n as tt,o as st,p as ot,q as nt,r as at,s as lt,u as it,v as ut,w as ct,x as rt,y as _t,z as Ce}from"./index-5faa66a7.js";import{Y as de,V as G}from"./IEnum-5453a777.js";import{T as Ue,e as me,f as Se,g as ve,h as Le,I as pt,i as dt,j as mt,k as vt,l as ht,m as ft,n as gt,o as yt,p as kt,q as wt,r as bt,s as $t,t as xe,F as Ie,E as ie,u as ue,v as ce,w as Pe}from"./@vicons-7a4ef312.js";import{j as H,e as le,J as Oe,H as Ct,b as xt,K as It,o as ye,L as De,v as Pt,w as Tt,x as zt,y as Rt,z as Ut,B as St,M as Lt,O as Ot,i as Dt,P as At,a as Ae,F as Mt,I as Et,k as qt,G as Nt,f as Bt,g as jt}from"./naive-ui-d8de3dda.js";import{p as ke,_ as Me,a as Ft,b as Ht,c as Vt}from"./content-2d41ca0a.js";import{u as Ee,b as Yt}from"./vue-router-e5a2430e.js";import{_ as Jt}from"./post-skeleton-47a1ebec.js";import{l as Kt}from"./lodash-e0b37ac3.js";import{_ as Wt}from"./whisper-d959da10.js";import{c as Gt}from"./copy-to-clipboard-4ef7d3eb.js";import{_ as Qt}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{W as Xt}from"./v3-infinite-loading-2c58ec2f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";const Zt={class:"reply-item"},es={class:"header-wrap"},ts={class:"username"},ss={class:"reply-name"},os={class:"timestamp"},ns={class:"base-wrap"},as={class:"content"},ls={class:"reply-switch"},is={class:"time-item"},us={class:"actions"},cs={class:"upvote-count"},rs=["onClick"],_s={class:"upvote-count"},ps={key:2,class:"action-item"},ds=["onClick"],ms=ee({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(E,{emit:q}){const i=E,m=ne(),v=c(i.reply.is_thumbs_up==de.YES),k=c(i.reply.is_thumbs_down==de.YES),w=c(i.reply.thumbs_up_count),U=()=>{Je({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{v.value=!v.value,v.value?(w.value++,k.value=!1):w.value--}).catch(h=>{console.log(h)})},r=()=>{Ke({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{k.value=!k.value,k.value&&v.value&&(w.value--,v.value=!1)}).catch(h=>{console.log(h)})},S=()=>{q("focusReply",i.reply)},T=()=>{We({id:i.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{q("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const O=ge("router-link"),p=H,C=le,D=Oe,b=Ct;return o(),_("div",Zt,[d("div",es,[d("div",ts,[t(O,{class:"user-link",to:{name:"user",query:{s:i.reply.user.username}}},{default:n(()=>[I(P(i.reply.user.username),1)]),_:1},8,["to"]),d("span",ss,P(i.reply.at_user_id>0?"回复":":"),1),i.reply.at_user_id>0?(o(),R(O,{key:0,class:"user-link",to:{name:"user",query:{s:i.reply.at_user.username}}},{default:n(()=>[I(P(i.reply.at_user.username),1)]),_:1},8,["to"])):u("",!0)]),d("div",os,[I(P(i.reply.ip_loc)+" ",1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===i.reply.user.id?(o(),R(D,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(C,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(p,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),d("div",ns,[d("div",as,[t(b,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[I(P(i.reply.content),1)]),_:1})]),d("div",ls,[d("span",is,P(a(pe)(i.reply.created_on)),1),d("div",us,[a(m).state.userLogined?u("",!0):(o(),_("div",{key:0,class:"action-item",onClick:$[0]||($[0]=B(()=>{},["stop"]))},[t(p,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",cs,P(w.value),1)])),a(m).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(U,["stop"])},[t(p,{size:"medium"},{default:n(()=>[v.value?u("",!0):(o(),R(a(me),{key:0})),v.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",_s,P(w.value>0?w.value:"赞"),1)],8,rs)):u("",!0),a(m).state.userLogined?u("",!0):(o(),_("div",ps,[t(p,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(m).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(r,["stop"])},[t(p,{size:"medium"},{default:n(()=>[k.value?u("",!0):(o(),R(a(ve),{key:0})),k.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,ds)):u("",!0),a(m).state.userLogined?(o(),_("span",{key:4,class:"show opacity-item reply-btn",onClick:S}," 回复 ")):u("",!0)])])])])}}});const vs=ae(ms,[["__scopeId","data-v-187a4ed3"]]),hs={class:"reply-compose-wrap"},fs={class:"reply-switch"},gs={class:"time-item"},ys={class:"actions"},ks={key:0,class:"action-item"},ws={class:"upvote-count"},bs=["onClick"],$s={class:"upvote-count"},Cs={key:2,class:"action-item"},xs=["onClick"],Is={key:0,class:"reply-input-wrap"},Ps=ee({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(E,{expose:q,emit:i}){const m=E,v=ne(),k=c(),w=c(!1),U=c(""),r=c(!1),S=+"300",T=c(m.comment.is_thumbs_up==de.YES),h=c(m.comment.is_thumbs_down==de.YES),$=c(m.comment.thumbs_up_count),O=()=>{Ge({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(b=>{console.log(b)})},p=()=>{Qe({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(b=>{console.log(b)})},C=b=>{w.value=b,b?setTimeout(()=>{var A;(A=k.value)==null||A.focus()},10):(r.value=!1,U.value="",i("reset"))},D=()=>{r.value=!0,Xe({comment_id:m.comment.id,at_user_id:m.atUserid,content:U.value}).then(b=>{C(!1),window.$message.success("评论成功"),i("reload")}).catch(b=>{r.value=!1})};return q({switchReply:C}),(b,A)=>{const s=H,g=xt,F=le,z=It;return o(),_("div",hs,[d("div",fs,[d("span",gs,P(a(pe)(b.comment.created_on)),1),d("div",ys,[a(v).state.userLogined?u("",!0):(o(),_("div",ks,[t(s,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",ws,P($.value),1)])),a(v).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(O,["stop"])},[t(s,{size:"medium"},{default:n(()=>[T.value?u("",!0):(o(),R(a(me),{key:0})),T.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",$s,P($.value>0?$.value:"赞"),1)],8,bs)):u("",!0),a(v).state.userLogined?u("",!0):(o(),_("div",Cs,[t(s,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(v).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(p,["stop"])},[t(s,{size:"medium"},{default:n(()=>[h.value?u("",!0):(o(),R(a(ve),{key:0})),h.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,xs)):u("",!0),a(v).state.userLogined&&!w.value?(o(),_("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=L=>C(!0))}," 回复 ")):u("",!0),a(v).state.userLogined&&w.value?(o(),_("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=L=>C(!1))}," 取消 ")):u("",!0)])]),w.value?(o(),_("div",Is,[t(z,null,{default:n(()=>[t(g,{ref_key:"inputInstRef",ref:k,size:"small",placeholder:m.atUsername?"@"+m.atUsername:"请输入回复内容..",maxlength:a(S),value:U.value,"onUpdate:value":A[2]||(A[2]=L=>U.value=L),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(F,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:D},{default:n(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):u("",!0)])}}});const Ts=ae(Ps,[["__scopeId","data-v-f9af7a93"]]),zs={class:"comment-item"},Rs={class:"nickname-wrap"},Us={class:"username-wrap"},Ss={class:"opt-wrap"},Ls={class:"timestamp"},Os=["innerHTML"],Ds={class:"reply-wrap"},As=ee({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m=ne(),v=Ee(),k=c(0),w=c(""),U=c(),r=oe(()=>{let p=Object.assign({texts:[],imgs:[]},i.comment);return p.contents.map(C=>{(+C.type==1||+C.type==2)&&p.texts.push(C),+C.type==3&&p.imgs.push(C)}),p}),S=(p,C)=>{let D=p.target;if(D.dataset.detail){const b=D.dataset.detail.split(":");b.length===2&&(m.commit("refresh"),b[0]==="tag"?window.$message.warning("评论内的无效话题"):v.push({name:"user",query:{s:b[1]}}))}},T=p=>{var C,D;k.value=p.user_id,w.value=((C=p.user)==null?void 0:C.username)||"",(D=U.value)==null||D.switchReply(!0)},h=()=>{q("reload")},$=()=>{k.value=0,w.value=""},O=()=>{Ze({id:r.value.id}).then(p=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(p=>{})};return(p,C)=>{const D=ye,b=ge("router-link"),A=H,s=le,g=Oe,F=Me,z=Ts,L=vs,J=De;return o(),_("div",zs,[t(J,{"content-indented":""},Ve({avatar:n(()=>[t(D,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",Rs,[t(b,{onClick:C[0]||(C[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:r.value.user.username}}},{default:n(()=>[I(P(r.value.user.nickname),1)]),_:1},8,["to"])]),d("span",Us," @"+P(r.value.user.username),1)]),"header-extra":n(()=>[d("div",Ss,[d("span",Ls,P(r.value.ip_loc),1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===r.value.user.id?(o(),R(g,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:O},{trigger:n(()=>[t(s,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),R(F,{key:0,imgs:r.value.imgs},null,8,["imgs"])):u("",!0),t(z,{ref_key:"replyComposeRef",ref:U,comment:r.value,"at-userid":k.value,"at-username":w.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),d("div",Ds,[(o(!0),_(re,null,_e(r.value.replies,j=>(o(),R(L,{key:j.id,reply:j,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),_(re,null,_e(r.value.texts,j=>(o(),_("span",{key:j.id,class:"comment-text",onClick:C[1]||(C[1]=B(V=>S(V,r.value.id),["stop"])),innerHTML:a(ke)(j.content).content},null,8,Os))),128))]),key:"0"}:void 0]),1024)])}}});const Ms=ae(As,[["__scopeId","data-v-36dac8c8"]]),Es=E=>(Te("data-v-d9073453"),E=E(),ze(),E),qs={key:0,class:"compose-wrap"},Ns={class:"compose-line"},Bs={class:"compose-user"},js={class:"compose-line compose-options"},Fs={class:"attachment"},Hs={class:"submit-wrap"},Vs={class:"attachment-list-wrap"},Ys={key:1,class:"compose-wrap"},Js=Es(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ks={key:0,class:"login-only-wrap"},Ws={key:1,class:"login-wrap"},Gs=ee({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(E,{emit:q}){const i=E,m=ne(),v=c([]),k=c(!1),w=c(!1),U=c(!1),r=c(""),S=c(),T=c("public/image"),h=c([]),$=c([]),O=c("true".toLowerCase()==="true"),p=+"300",C="/v1/attachment",D=oe(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),b=Kt.debounce(f=>{et({k:f}).then(y=>{let x=[];y.suggest.map(e=>{x.push({label:e,value:e})}),v.value=x,w.value=!1}).catch(y=>{w.value=!1})},200),A=(f,y)=>{w.value||(w.value=!0,y==="@"&&b(f))},s=f=>{f.length>p?r.value=f.substring(0,p):r.value=f},g=f=>{T.value=f},F=f=>{for(let l=0;l30&&(f[l].name=x.substring(0,18)+"..."+x.substring(x.length-9)+"."+e)}h.value=f},z=async f=>{var y,x;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((y=f.file.file)==null?void 0:y.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((x=f.file.file)==null?void 0:x.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},L=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);e.code===0&&T.value==="public/image"&&$.value.push({id:f.id,content:e.data.content})}catch{window.$message.error("上传失败")}},J=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);if(e.code!==0){let l=e.msg||"上传失败";e.details&&e.details.length>0&&e.details.map(M=>{l+=":"+M}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},j=({file:f})=>{let y=$.value.findIndex(x=>x.id===f.id);y>-1&&$.value.splice(y,1)},V=()=>{k.value=!0},Q=()=>{var f;k.value=!1,(f=S.value)==null||f.clear(),h.value=[],r.value="",$.value=[]},K=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=ke(r.value);const y=[];let x=100;y.push({content:r.value,type:2,sort:x}),$.value.map(e=>{x++,y.push({content:e.content,type:3,sort:x})}),U.value=!0,tt({contents:y,post_id:i.postId,users:Array.from(new Set(f))}).then(e=>{window.$message.success("发布成功"),U.value=!1,q("post-success"),Q()}).catch(e=>{U.value=!1})},Y=f=>{m.commit("triggerAuth",!0),m.commit("triggerAuthKey",f)};return(f,y)=>{const x=ye,e=Pt,l=H,M=le,X=Tt,te=zt,he=Rt,fe=Ut,W=St;return o(),_("div",null,[a(m).state.userInfo.id>0?(o(),_("div",qs,[d("div",Ns,[d("div",Bs,[t(x,{round:"",size:30,src:a(m).state.userInfo.avatar},null,8,["src"])]),t(e,{type:"textarea",size:"large",autosize:"",bordered:!1,options:v.value,prefix:["@"],loading:w.value,value:r.value,disabled:i.lock===1,"onUpdate:value":s,onSearch:A,onFocus:V,placeholder:i.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),k.value?(o(),R(W,{key:0,ref_key:"uploadRef",ref:S,abstract:"","list-type":"image",multiple:!0,max:9,action:C,headers:{Authorization:D.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:z,onFinish:L,onError:J,onRemove:j,"onUpdate:fileList":F},{default:n(()=>[d("div",js,[d("div",Fs,[t(X,{abstract:""},{default:n(({handleClick:Z})=>[t(M,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{g("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(l,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(pt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(he,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(te,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(p)*100},null,8,["percentage"])]),default:n(()=>[I(" "+P(r.value.length)+" / "+P(a(p)),1)]),_:1})]),d("div",Hs,[t(M,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:Q},{default:n(()=>[I(" 取消 ")]),_:1}),t(M,{loading:U.value,onClick:K,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",Vs,[t(fe)])]),_:1},8,["headers","data","file-list"])):u("",!0)])):(o(),_("div",Ys,[Js,O.value?u("",!0):(o(),_("div",Ks,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1})])),O.value?(o(),_("div",Ws,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1}),t(M,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=Z=>Y("signup"))},{default:n(()=>[I(" 注册 ")]),_:1})])):u("",!0)]))])}}});const Qs=ae(Gs,[["__scopeId","data-v-d9073453"]]),Xs={class:"username-wrap"},Zs={class:"options"},eo={key:0},to=["innerHTML"],so={class:"timestamp"},oo={key:0},no={key:1},ao={class:"opts-wrap"},lo=["onClick"],io={class:"opt-item"},uo=["onClick"],co=["onClick"],ro=ee({__name:"post-detail",props:{post:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m="true".toLowerCase()==="true",v=ne(),k=Ee(),w=c(!1),U=c(!1),r=c(!1),S=c(!1),T=c(!1),h=c(!1),$=c(!1),O=c(!1),p=c(G.PUBLIC),C=c(!1),D=c({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),b=e=>{D.value=e,C.value=!0},A=()=>{C.value=!1},s=oe({get:()=>{let e=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},i.post);return e.contents.map(l=>{(+l.type==1||+l.type==2)&&e.texts.push(l),+l.type==3&&e.imgs.push(l),+l.type==4&&e.videos.push(l),+l.type==6&&e.links.push(l),+l.type==7&&e.attachments.push(l),+l.type==8&&e.charge_attachments.push(l)}),e},set:e=>{i.post.upvote_count=e.upvote_count,i.post.comment_count=e.comment_count,i.post.collection_count=e.collection_count,i.post.is_essence=e.is_essence}}),g=e=>()=>$e(H,null,{default:()=>$e(e)}),F=oe(()=>{var M;let e=[];if(!v.state.userInfo.is_admin&&v.state.userInfo.id!=i.post.user.id)return e.push({label:"私信",key:"whisper",icon:g(kt)}),e;e.push({label:"删除",key:"delete",icon:g(wt)}),s.value.is_lock===0?e.push({label:"锁定",key:"lock",icon:g(bt)}):e.push({label:"解锁",key:"unlock",icon:g($t)}),v.state.userInfo.is_admin&&(s.value.is_top===0?e.push({label:"置顶",key:"stick",icon:g(xe)}):e.push({label:"取消置顶",key:"unstick",icon:g(xe)})),s.value.is_essence===0?e.push({label:"设为亮点",key:"highlight",icon:g(Ie)}):e.push({label:"取消亮点",key:"unhighlight",icon:g(Ie)});let l;return s.value.visibility===G.PUBLIC?l={label:"公开",key:"vpublic",icon:g(ie),children:[{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:s.value.visibility===G.PRIVATE?l={label:"私密",key:"vprivate",icon:g(ue),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:m&&s.value.visibility===G.FRIEND?l={label:"好友可见",key:"vfriend",icon:g(Pe),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:l={label:"关注可见",key:"vfollowing",icon:g(ce),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)}]},m&&s.value.visibility!==G.FRIEND&&((M=l.children)==null||M.push({label:"好友可见",key:"vfriend",icon:g(Pe)})),e.push(l),e}),z=e=>{k.push({name:"post",query:{id:e}})},L=(e,l)=>{if(e.target.dataset.detail){const M=e.target.dataset.detail.split(":");if(M.length===2){v.commit("refresh"),M[0]==="tag"?k.push({name:"home",query:{q:M[1],t:"tag"}}):k.push({name:"user",query:{s:M[1]}});return}}z(l)},J=e=>{switch(e){case"whisper":b(i.post.user);break;case"delete":r.value=!0;break;case"lock":case"unlock":S.value=!0;break;case"stick":case"unstick":T.value=!0;break;case"highlight":case"unhighlight":h.value=!0;break;case"vpublic":p.value=0,$.value=!0;break;case"vprivate":p.value=1,$.value=!0;break;case"vfriend":p.value=2,$.value=!0;break;case"vfollowing":p.value=3,$.value=!0;break}},j=()=>{nt({id:s.value.id}).then(e=>{window.$message.success("删除成功"),k.replace("/"),setTimeout(()=>{v.commit("refresh")},50)}).catch(e=>{O.value=!1})},V=()=>{at({id:s.value.id}).then(e=>{q("reload"),e.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(e=>{O.value=!1})},Q=()=>{lt({id:s.value.id}).then(e=>{q("reload"),e.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(e=>{O.value=!1})},K=()=>{it({id:s.value.id}).then(e=>{s.value={...s.value,is_essence:e.highlight_status},e.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(e=>{O.value=!1})},Y=()=>{ut({id:s.value.id,visibility:p.value}).then(e=>{q("reload"),window.$message.success("修改可见性成功")}).catch(e=>{O.value=!1})},f=()=>{ct({id:s.value.id}).then(e=>{w.value=e.status,e.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(e=>{console.log(e)})},y=()=>{rt({id:s.value.id}).then(e=>{U.value=e.status,e.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(e=>{console.log(e)})},x=()=>{Gt(`${window.location.origin}/#/post?id=${s.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板")};return Re(()=>{v.state.userInfo.id>0&&(st({id:s.value.id}).then(e=>{w.value=e.status}).catch(e=>{console.log(e)}),ot({id:s.value.id}).then(e=>{U.value=e.status}).catch(e=>{console.log(e)}))}),(e,l)=>{const M=ye,X=ge("router-link"),te=Lt,he=le,fe=Ot,W=Dt,Z=Wt,we=Ft,qe=Me,Ne=Ht,Be=Vt,be=At,je=Ae,Fe=De;return o(),_("div",{class:"detail-item",onClick:l[7]||(l[7]=N=>z(s.value.id))},[t(Fe,null,{avatar:n(()=>[t(M,{round:"",size:30,src:s.value.user.avatar},null,8,["src"])]),header:n(()=>[t(X,{onClick:l[0]||(l[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:s.value.user.username}}},{default:n(()=>[I(P(s.value.user.nickname),1)]),_:1},8,["to"]),d("span",Xs," @"+P(s.value.user.username),1),s.value.is_top?(o(),R(te,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[I(" 置顶 ")]),_:1})):u("",!0),s.value.visibility==a(G).PRIVATE?(o(),R(te,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[I(" 私密 ")]),_:1})):u("",!0),s.value.visibility==a(G).FRIEND?(o(),R(te,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[I(" 好友可见 ")]),_:1})):u("",!0)]),"header-extra":n(()=>[d("div",Zs,[t(fe,{placement:"bottom-end",trigger:"click",size:"small",options:F.value,onSelect:J},{default:n(()=>[t(he,{quaternary:"",circle:""},{icon:n(()=>[t(a(H),null,{default:n(()=>[t(a(dt))]),_:1})]),_:1})]),_:1},8,["options"])]),t(W,{show:r.value,"onUpdate:show":l[1]||(l[1]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show"]),t(W,{show:S.value,"onUpdate:show":l[2]||(l[2]=N=>S.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),t(W,{show:T.value,"onUpdate:show":l[3]||(l[3]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"]),t(W,{show:h.value,"onUpdate:show":l[4]||(l[4]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(s.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),t(W,{show:$.value,"onUpdate:show":l[5]||(l[5]=N=>$.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(p.value==0?"公开":p.value==1?"私密":p.value==2?"好友可见":"关注可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(Z,{show:C.value,user:D.value,onSuccess:A},null,8,["show","user"])]),footer:n(()=>[t(we,{attachments:s.value.attachments},null,8,["attachments"]),t(we,{attachments:s.value.charge_attachments,price:s.value.attachment_price},null,8,["attachments","price"]),t(qe,{imgs:s.value.imgs},null,8,["imgs"]),t(Ne,{videos:s.value.videos,full:!0},null,8,["videos"]),t(Be,{links:s.value.links},null,8,["links"]),d("div",so,[I(" 发布于 "+P(a(pe)(s.value.created_on))+" ",1),s.value.ip_loc?(o(),_("span",oo,[t(be,{vertical:""}),I(" "+P(s.value.ip_loc),1)])):u("",!0),!a(v).state.collapsedLeft&&s.value.created_on!=s.value.latest_replied_on?(o(),_("span",no,[t(be,{vertical:""}),I(" 最后回复 "+P(a(pe)(s.value.latest_replied_on)),1)])):u("",!0)])]),action:n(()=>[d("div",ao,[t(je,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(f,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?u("",!0):(o(),R(a(mt),{key:0})),w.value?(o(),R(a(vt),{key:1,color:"red"})):u("",!0)]),_:1}),I(" "+P(s.value.upvote_count),1)],8,lo),d("div",io,[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(ht))]),_:1}),I(" "+P(s.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(y,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[U.value?u("",!0):(o(),R(a(ft),{key:0})),U.value?(o(),R(a(gt),{key:1,color:"#ff7600"})):u("",!0)]),_:1}),I(" "+P(s.value.collection_count),1)],8,uo),d("div",{class:"opt-item hover",onClick:B(x,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(yt))]),_:1}),I(" "+P(s.value.share_count),1)],8,co)]),_:1})])]),default:n(()=>[s.value.texts.length>0?(o(),_("div",eo,[(o(!0),_(re,null,_e(s.value.texts,N=>(o(),_("span",{key:N.id,class:"post-text",onClick:l[6]||(l[6]=B(He=>L(He,s.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,to))),128))])):u("",!0)]),_:1})])}}});const _o=E=>(Te("data-v-09db0ef6"),E=E(),ze(),E),po={key:0,class:"detail-wrap"},mo={key:1,class:"empty-wrap"},vo={key:0,class:"comment-opts-wrap"},ho=_o(()=>d("span",{class:"comment-title-item"},"评论",-1)),fo={key:2},go={key:0,class:"skeleton-wrap"},yo={key:1},ko={key:0,class:"empty-wrap"},wo={key:0,class:"load-more-spinner"},bo={key:1,class:"load-more-spinner"},$o={key:2,class:"load-more-spinner"},Co={key:3,class:"load-more-spinner"},se=20,xo=ee({__name:"Post",setup(E){const q=Yt(),i=c({}),m=c(!1),v=c(!1),k=c([]),w=oe(()=>+q.query.id),U=c("default"),r=c(!0);let S={loading(){},loaded(){},complete(){},error(){}};const T=z=>{U.value=z,z==="default"&&(r.value=!0),g(S)},h=()=>{i.value={id:0},m.value=!0,_t({id:w.value}).then(z=>{m.value=!1,i.value=z,g(S)}).catch(z=>{m.value=!1})};let $=1;const O=c(!1),p=c([]),C=z=>{O.value||Ce({id:i.value.id,sort_strategy:"default",page:$,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&($===1?p.value=L.list:p.value.push(...L.list),k.value=p.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})};let D=1,b=c(!1);const A=c([]),s=z=>{b.value||Ce({id:i.value.id,sort_strategy:"newest",page:D,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&(D===1?A.value=L.list:A.value.push(...L.list),k.value=A.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})},g=z=>{w.value<1||(k.value.length===0&&(v.value=!0),U.value==="default"?(k.value=p.value,C(z)):(k.value=A.value,s(z)),v.value=!1)},F=()=>{$=1,O.value=!1,p.value=[],D=1,b.value=!1,A.value=[],g(S)};return Re(()=>{h()}),Ye(w,()=>{w.value>0&&q.name==="post"&&h()}),(z,L)=>{const J=Qt,j=ro,V=Et,Q=qt,K=Nt,Y=Bt,f=jt,y=Qs,x=Jt,e=Ms,l=Ae,M=Mt;return o(),_("div",null,[t(J,{title:"泡泡详情",back:!0}),t(M,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(K,null,{default:n(()=>[t(Q,{show:m.value},{default:n(()=>[i.value.id>1?(o(),_("div",po,[t(j,{post:i.value,onReload:h},null,8,["post"])])):(o(),_("div",mo,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),i.value.id>0?(o(),_("div",vo,[t(f,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[ho]),default:n(()=>[t(Y,{name:"default",tab:"默认"}),t(Y,{name:"newest",tab:"最新"})]),_:1})])):u("",!0),i.value.id>0?(o(),R(K,{key:1},{default:n(()=>[t(y,{lock:i.value.is_lock,"post-id":i.value.id,onPostSuccess:F},null,8,["lock","post-id"])]),_:1})):u("",!0),i.value.id>0?(o(),_("div",fo,[v.value?(o(),_("div",go,[t(x,{num:5})])):(o(),_("div",yo,[k.value.length===0?(o(),_("div",ko,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):u("",!0),(o(!0),_(re,null,_e(k.value,X=>(o(),R(K,{key:X.id},{default:n(()=>[t(e,{comment:X,onReload:F},null,8,["comment"])]),_:2},1024))),128))]))])):u("",!0),k.value.length>=se?(o(),R(l,{key:3,justify:"center"},{default:n(()=>[t(a(Xt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:g},{spinner:n(()=>[r.value&&O.value?(o(),_("span",wo)):u("",!0),!r.value&&a(b)?(o(),_("span",bo)):u("",!0),r.value&&!O.value?(o(),_("span",$o,"加载评论")):u("",!0),!r.value&&!a(b)?(o(),_("span",Co,"加载评论")):u("",!0)]),_:1})]),_:1})):u("",!0)]),_:1})])}}});const an=ae(xo,[["__scopeId","data-v-09db0ef6"]]);export{an as default}; diff --git a/web/dist/assets/Profile-9492f6bb.js b/web/dist/assets/Profile-e00fa856.js similarity index 95% rename from web/dist/assets/Profile-9492f6bb.js rename to web/dist/assets/Profile-e00fa856.js index 070f0bbd..ffa51709 100644 --- a/web/dist/assets/Profile-9492f6bb.js +++ b/web/dist/assets/Profile-e00fa856.js @@ -1 +1 @@ -import{_ as fe}from"./whisper-150920d0.js";import{_ as he,a as ge}from"./post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js";import{_ as ke}from"./post-skeleton-f060289d.js";import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{d as we,H as n,b as be,E as Pe,r as Ie,f as o,k as u,bf as _,q as d,w as c,Y as m,e,j as f,x as I,A as E,y as ae,F as y,u as w}from"./@vue-a481fc63.js";import{u as Te}from"./vuex-44de225f.js";import{b as Me}from"./vue-router-e5a2430e.js";import{e as x,F as ze,_ as qe}from"./index-fcb35ad4.js";import{W as xe}from"./v3-infinite-loading-2c58ec2f.js";import{F as Se,a as $e,o as Ce,M as Le,f as Be,g as Fe,I as Ne,k as Ve,G as De}from"./naive-ui-d8de3dda.js";import"./content-d73d8961.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"profile-baseinfo"},We={class:"avatar"},je={class:"base-info"},Ee={class:"username"},He={class:"userinfo"},Re={class:"info-item"},Ae={class:"info-item"},Ge={class:"userinfo"},Ye={class:"info-item"},Je={class:"info-item"},Ke={key:0,class:"skeleton-wrap"},Oe={key:1},Qe={key:0,class:"empty-wrap"},Xe={key:1},Ze={key:0},ea={key:1},aa={key:2},ta={key:3},sa={key:4},la={key:2},oa={key:0},na={key:1},ua={key:2},ia={key:3},ra={key:4},ca={class:"load-more-wrap"},va={class:"load-more-spinner"},_a=we({__name:"Profile",setup(ma){const i=Te(),T=Me(),v=n(!1),b=n(!1),s=n([]),S=n([]),$=n([]),C=n([]),L=n([]),B=n([]),p=n("post"),H=n(+T.query.p||1),R=n(1),A=n(1),G=n(1),Y=n(1),t=n(+T.query.p||1),h=n(20),r=n(0),J=n(0),K=n(0),O=n(0),Q=n(0),X=n(0),F=n(!1),Z=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),g=a=>{Z.value=a,F.value=!0},te=()=>{F.value=!1},N=()=>{switch(p.value){case"post":V();break;case"comment":D();break;case"highlight":U();break;case"media":W();break;case"star":j();break}},V=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"post",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),S.value=s.value,J.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},D=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"comment",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),$.value=s.value,K.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},U=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"highlight",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),C.value=s.value,O.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},W=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"media",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),L.value=s.value,Q.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},j=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"star",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),B.value=s.value,X.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},se=a=>{switch(p.value=a,p.value){case"post":s.value=S.value,t.value=H.value,r.value=J.value,V();break;case"comment":s.value=$.value,t.value=R.value,r.value=K.value,D();break;case"highlight":s.value=C.value,t.value=A.value,r.value=O.value,U();break;case"media":s.value=L.value,t.value=G.value,r.value=Q.value,W();break;case"star":s.value=B.value,t.value=Y.value,r.value=X.value,j();break}},le=()=>{switch(p.value){case"post":H.value=t.value,V();break;case"comment":R.value=t.value,D();break;case"highlight":A.value=t.value,U();break;case"media":G.value=t.value,W();break;case"star":Y.value=t.value,j();break}},oe=()=>{t.value{N()}),Pe(()=>({path:T.path,query:T.query,refresh:i.state.refresh}),(a,P)=>{if(a.refresh!==P.refresh){t.value=+T.query.p||1,setTimeout(()=>{N()},0);return}P.path!=="/post"&&a.path==="/profile"&&(t.value=+T.query.p||1,setTimeout(()=>{N()},0))}),(a,P)=>{const ne=ye,ue=Ce,ie=Le,ee=Ie("router-link"),M=Be,re=Fe,ce=ke,ve=Ne,z=he,k=De,q=ge,_e=fe,me=Se,pe=Ve,de=$e;return e(),o("div",null,[u(ne,{title:"主页"}),_(i).state.userInfo.id>0?(e(),d(me,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:c(()=>[f("div",Ue,[f("div",We,[u(ue,{size:72,src:_(i).state.userInfo.avatar},null,8,["src"])]),f("div",je,[f("div",Ee,[f("strong",null,I(_(i).state.userInfo.nickname),1),f("span",null," @"+I(_(i).state.userInfo.username),1),_(i).state.userInfo.is_admin?(e(),d(ie,{key:0,class:"top-tag",type:"error",size:"small",round:""},{default:c(()=>[E(" 管理员 ")]),_:1})):m("",!0)]),f("div",He,[f("span",Re,"UID. "+I(_(i).state.userInfo.id),1),f("span",Ae,I(_(ze)(_(i).state.userInfo.created_on))+" 加入",1)]),f("div",Ge,[f("span",Ye,[u(ee,{onClick:P[0]||(P[0]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"follows"}}},{default:c(()=>[E(" 关注  "+I(_(i).state.userInfo.follows),1)]),_:1},8,["to"])]),f("span",Je,[u(ee,{onClick:P[1]||(P[1]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"followings"}}},{default:c(()=>[E(" 粉丝  "+I(_(i).state.userInfo.followings),1)]),_:1},8,["to"])])])])]),u(re,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:c(()=>[u(M,{name:"post",tab:"泡泡"}),u(M,{name:"comment",tab:"评论"}),u(M,{name:"highlight",tab:"亮点"}),u(M,{name:"media",tab:"图文"}),u(M,{name:"star",tab:"喜欢"})]),_:1}),v.value&&s.value.length===0?(e(),o("div",Ke,[u(ce,{num:h.value},null,8,["num"])])):(e(),o("div",Oe,[s.value.length===0?(e(),o("div",Qe,[u(ve,{size:"large",description:"暂无数据"})])):m("",!0),_(i).state.desktopModelShow?(e(),o("div",Xe,[p.value==="post"?(e(),o("div",Ze,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",ea,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",aa,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ta,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",sa,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)])):(e(),o("div",la,[p.value==="post"?(e(),o("div",oa,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",na,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",ua,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ia,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",ra,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)]))])),u(_e,{show:F.value,user:Z.value,onSuccess:te},null,8,["show","user"])]),_:1})):m("",!0),r.value>0?(e(),d(de,{key:1,justify:"center"},{default:c(()=>[u(_(xe),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:P[2]||(P[2]=l=>oe())},{spinner:c(()=>[f("div",ca,[b.value?m("",!0):(e(),d(pe,{key:0,size:14})),f("span",va,I(b.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):m("",!0)])}}});const Ga=qe(_a,[["__scopeId","data-v-756dadd0"]]);export{Ga as default}; +import{_ as fe}from"./whisper-d959da10.js";import{_ as he,a as ge}from"./post-item.vue_vue_type_style_index_0_lang-d5631a43.js";import{_ as ke}from"./post-skeleton-47a1ebec.js";import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{d as we,H as n,b as be,E as Pe,r as Ie,f as o,k as u,bf as _,q as d,w as c,Y as m,e,j as f,x as I,A as E,y as ae,F as y,u as w}from"./@vue-a481fc63.js";import{u as Te}from"./vuex-44de225f.js";import{b as Me}from"./vue-router-e5a2430e.js";import{e as x,F as ze,_ as qe}from"./index-5faa66a7.js";import{W as xe}from"./v3-infinite-loading-2c58ec2f.js";import{F as Se,a as $e,o as Ce,M as Le,f as Be,g as Fe,I as Ne,k as Ve,G as De}from"./naive-ui-d8de3dda.js";import"./content-2d41ca0a.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"profile-baseinfo"},We={class:"avatar"},je={class:"base-info"},Ee={class:"username"},He={class:"userinfo"},Re={class:"info-item"},Ae={class:"info-item"},Ge={class:"userinfo"},Ye={class:"info-item"},Je={class:"info-item"},Ke={key:0,class:"skeleton-wrap"},Oe={key:1},Qe={key:0,class:"empty-wrap"},Xe={key:1},Ze={key:0},ea={key:1},aa={key:2},ta={key:3},sa={key:4},la={key:2},oa={key:0},na={key:1},ua={key:2},ia={key:3},ra={key:4},ca={class:"load-more-wrap"},va={class:"load-more-spinner"},_a=we({__name:"Profile",setup(ma){const i=Te(),T=Me(),v=n(!1),b=n(!1),s=n([]),S=n([]),$=n([]),C=n([]),L=n([]),B=n([]),p=n("post"),H=n(+T.query.p||1),R=n(1),A=n(1),G=n(1),Y=n(1),t=n(+T.query.p||1),h=n(20),r=n(0),J=n(0),K=n(0),O=n(0),Q=n(0),X=n(0),F=n(!1),Z=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),g=a=>{Z.value=a,F.value=!0},te=()=>{F.value=!1},N=()=>{switch(p.value){case"post":V();break;case"comment":D();break;case"highlight":U();break;case"media":W();break;case"star":j();break}},V=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"post",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),S.value=s.value,J.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},D=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"comment",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),$.value=s.value,K.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},U=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"highlight",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),C.value=s.value,O.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},W=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"media",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),L.value=s.value,Q.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},j=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"star",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),B.value=s.value,X.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},se=a=>{switch(p.value=a,p.value){case"post":s.value=S.value,t.value=H.value,r.value=J.value,V();break;case"comment":s.value=$.value,t.value=R.value,r.value=K.value,D();break;case"highlight":s.value=C.value,t.value=A.value,r.value=O.value,U();break;case"media":s.value=L.value,t.value=G.value,r.value=Q.value,W();break;case"star":s.value=B.value,t.value=Y.value,r.value=X.value,j();break}},le=()=>{switch(p.value){case"post":H.value=t.value,V();break;case"comment":R.value=t.value,D();break;case"highlight":A.value=t.value,U();break;case"media":G.value=t.value,W();break;case"star":Y.value=t.value,j();break}},oe=()=>{t.value{N()}),Pe(()=>({path:T.path,query:T.query,refresh:i.state.refresh}),(a,P)=>{if(a.refresh!==P.refresh){t.value=+T.query.p||1,setTimeout(()=>{N()},0);return}P.path!=="/post"&&a.path==="/profile"&&(t.value=+T.query.p||1,setTimeout(()=>{N()},0))}),(a,P)=>{const ne=ye,ue=Ce,ie=Le,ee=Ie("router-link"),M=Be,re=Fe,ce=ke,ve=Ne,z=he,k=De,q=ge,_e=fe,me=Se,pe=Ve,de=$e;return e(),o("div",null,[u(ne,{title:"主页"}),_(i).state.userInfo.id>0?(e(),d(me,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:c(()=>[f("div",Ue,[f("div",We,[u(ue,{size:72,src:_(i).state.userInfo.avatar},null,8,["src"])]),f("div",je,[f("div",Ee,[f("strong",null,I(_(i).state.userInfo.nickname),1),f("span",null," @"+I(_(i).state.userInfo.username),1),_(i).state.userInfo.is_admin?(e(),d(ie,{key:0,class:"top-tag",type:"error",size:"small",round:""},{default:c(()=>[E(" 管理员 ")]),_:1})):m("",!0)]),f("div",He,[f("span",Re,"UID. "+I(_(i).state.userInfo.id),1),f("span",Ae,I(_(ze)(_(i).state.userInfo.created_on))+" 加入",1)]),f("div",Ge,[f("span",Ye,[u(ee,{onClick:P[0]||(P[0]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"follows"}}},{default:c(()=>[E(" 关注  "+I(_(i).state.userInfo.follows),1)]),_:1},8,["to"])]),f("span",Je,[u(ee,{onClick:P[1]||(P[1]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"followings"}}},{default:c(()=>[E(" 粉丝  "+I(_(i).state.userInfo.followings),1)]),_:1},8,["to"])])])])]),u(re,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:c(()=>[u(M,{name:"post",tab:"泡泡"}),u(M,{name:"comment",tab:"评论"}),u(M,{name:"highlight",tab:"亮点"}),u(M,{name:"media",tab:"图文"}),u(M,{name:"star",tab:"喜欢"})]),_:1}),v.value&&s.value.length===0?(e(),o("div",Ke,[u(ce,{num:h.value},null,8,["num"])])):(e(),o("div",Oe,[s.value.length===0?(e(),o("div",Qe,[u(ve,{size:"large",description:"暂无数据"})])):m("",!0),_(i).state.desktopModelShow?(e(),o("div",Xe,[p.value==="post"?(e(),o("div",Ze,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",ea,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",aa,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ta,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",sa,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)])):(e(),o("div",la,[p.value==="post"?(e(),o("div",oa,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",na,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",ua,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ia,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",ra,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)]))])),u(_e,{show:F.value,user:Z.value,onSuccess:te},null,8,["show","user"])]),_:1})):m("",!0),r.value>0?(e(),d(de,{key:1,justify:"center"},{default:c(()=>[u(_(xe),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:P[2]||(P[2]=l=>oe())},{spinner:c(()=>[f("div",ca,[b.value?m("",!0):(e(),d(pe,{key:0,size:14})),f("span",va,I(b.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):m("",!0)])}}});const Ga=qe(_a,[["__scopeId","data-v-756dadd0"]]);export{Ga as default}; diff --git a/web/dist/assets/Setting-04697376.js b/web/dist/assets/Setting-22e8a111.js similarity index 98% rename from web/dist/assets/Setting-04697376.js rename to web/dist/assets/Setting-22e8a111.js index eb5cc7c8..46553b0e 100644 --- a/web/dist/assets/Setting-04697376.js +++ b/web/dist/assets/Setting-22e8a111.js @@ -1 +1 @@ -import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{d as ye,H as d,R as Q,b as ke,f as g,k as t,w as s,q as b,Y as _,e as r,j as m,bf as u,A as p,x as R,O as be,D as Ce,Z as q,y as A,$ as Ie,a0 as $e}from"./@vue-a481fc63.js";import{u as Pe}from"./vuex-44de225f.js";import{a0 as X,a1 as Se,a2 as Ue,a3 as Re,a4 as qe,a5 as Ae,a6 as Be,_ as Ne}from"./index-fcb35ad4.js";import{Y as ze}from"./@vicons-7a4ef312.js";import{h as Ke,o as xe,e as De,B as Fe,b as je,j as Oe,S as Te,$ as Ve,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-d8de3dda.js";import"./vue-router-e5a2430e.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const j=B=>(Ie("data-v-a681720e"),B=B(),$e(),B),Ye={class:"base-line avatar"},Ge={class:"base-line"},He=j(()=>m("span",{class:"base-label"},"昵称",-1)),Je={key:0},Ze={class:"base-line"},Qe=j(()=>m("span",{class:"base-label"},"用户名",-1)),Xe={key:0},et={key:1},tt=j(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=j(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},pt={class:"captcha-img-wrap"},ct={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(B){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),N=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),z=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),S=d(!1),U=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),H=d(),J=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return N.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):N.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&N.value==="public/avatar"&&Se({avatar:f.data.content}).then(c=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(c=>{console.log(c)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=J.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=H.value)==null||e.validate(v=>{v||(x.value=!0,Ue({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(z.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{z.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{z.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&T()}))})},O=()=>{X().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},T=()=>{X().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},pe=()=>{Ae({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},ce=()=>{if(!(I.value>0&&U.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Be({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{U.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,U.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&O(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),O(),T()}),(n,e)=>{const v=we,f=xe,c=De,D=Fe,h=je,ge=Oe,F=Ke,Z=Te,w=Ve,he=Ee,V=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:N.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(c,{size:"small"},{default:s(()=>[p("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[He,C.value?_("",!0):(r(),g("div",Je,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:pe,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(c,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(ze))]),_:1})]),_:1})):_("",!0)]),m("div",Ze,[Qe,p(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Xe,[p(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[p(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Z,{title:"手机绑定提示",type:"warning"},{default:s(()=>[p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:O},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(c,{type:"primary",ghost:"",disabled:U.value,loading:P.value,onClick:ce},{default:s(()=>[p(R(I.value>0&&U.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",lt,[t(c,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ue},{default:s(()=>[p(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[p(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[p(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Z,{title:"激活码激活提示",type:"warning"},{default:s(()=>[p(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",pt,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",ct,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:T},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",mt,[t(c,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[p(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[p(" 您已设置密码 "),S.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[p(" 重置密码 ")]),_:1})),S.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:H,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:J,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",ft,[t(c,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[p(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=Ne(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; +import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{d as ye,H as d,R as Q,b as ke,f as g,k as t,w as s,q as b,Y as _,e as r,j as m,bf as u,A as p,x as R,O as be,D as Ce,Z as q,y as A,$ as Ie,a0 as $e}from"./@vue-a481fc63.js";import{u as Pe}from"./vuex-44de225f.js";import{a0 as X,a1 as Se,a2 as Ue,a3 as Re,a4 as qe,a5 as Ae,a6 as Be,_ as Ne}from"./index-5faa66a7.js";import{Y as ze}from"./@vicons-7a4ef312.js";import{h as Ke,o as xe,e as De,B as Fe,b as je,j as Oe,S as Te,$ as Ve,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-d8de3dda.js";import"./vue-router-e5a2430e.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const j=B=>(Ie("data-v-a681720e"),B=B(),$e(),B),Ye={class:"base-line avatar"},Ge={class:"base-line"},He=j(()=>m("span",{class:"base-label"},"昵称",-1)),Je={key:0},Ze={class:"base-line"},Qe=j(()=>m("span",{class:"base-label"},"用户名",-1)),Xe={key:0},et={key:1},tt=j(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=j(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},pt={class:"captcha-img-wrap"},ct={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(B){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),N=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),z=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),S=d(!1),U=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),H=d(),J=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return N.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):N.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&N.value==="public/avatar"&&Se({avatar:f.data.content}).then(c=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(c=>{console.log(c)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=J.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=H.value)==null||e.validate(v=>{v||(x.value=!0,Ue({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(z.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{z.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{z.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&T()}))})},O=()=>{X().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},T=()=>{X().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},pe=()=>{Ae({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},ce=()=>{if(!(I.value>0&&U.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Be({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{U.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,U.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&O(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),O(),T()}),(n,e)=>{const v=we,f=xe,c=De,D=Fe,h=je,ge=Oe,F=Ke,Z=Te,w=Ve,he=Ee,V=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:N.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(c,{size:"small"},{default:s(()=>[p("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[He,C.value?_("",!0):(r(),g("div",Je,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:pe,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(c,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(ze))]),_:1})]),_:1})):_("",!0)]),m("div",Ze,[Qe,p(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Xe,[p(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[p(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Z,{title:"手机绑定提示",type:"warning"},{default:s(()=>[p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:O},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(c,{type:"primary",ghost:"",disabled:U.value,loading:P.value,onClick:ce},{default:s(()=>[p(R(I.value>0&&U.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",lt,[t(c,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ue},{default:s(()=>[p(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[p(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[p(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Z,{title:"激活码激活提示",type:"warning"},{default:s(()=>[p(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",pt,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",ct,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:T},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",mt,[t(c,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[p(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[p(" 您已设置密码 "),S.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[p(" 重置密码 ")]),_:1})),S.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:H,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:J,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",ft,[t(c,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[p(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=Ne(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Topic-8586b7d5.js b/web/dist/assets/Topic-5e96d43f.js similarity index 97% rename from web/dist/assets/Topic-8586b7d5.js rename to web/dist/assets/Topic-5e96d43f.js index 30fab9dc..d43f9b03 100644 --- a/web/dist/assets/Topic-8586b7d5.js +++ b/web/dist/assets/Topic-5e96d43f.js @@ -1 +1 @@ -import{A as $,B as M,C as O,D as x,_ as z}from"./index-fcb35ad4.js";import{x as D}from"./@vicons-7a4ef312.js";import{d as F,H as i,c as A,b as q,r as U,e as c,f as _,k as n,w as s,q as b,A as B,x as f,Y as u,bf as h,E as j,al as H,F as Y,u as G}from"./@vue-a481fc63.js";import{o as J,M as C,j as K,e as P,O as Q,L as R,F as W,f as X,g as Z,a as ee,k as oe}from"./naive-ui-d8de3dda.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{u as ne}from"./vuex-44de225f.js";import"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=F({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=A(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":O({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":M({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return q(()=>{r.value=!1}),(e,o)=>{const w=U("router-link"),g=J,k=C,a=K,d=P,v=Q,p=R;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[B(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(D))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=F({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);j(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=A({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,x({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return q(()=>{g()}),(a,d)=>{const v=te,p=X,L=C,V=Z,N=ie,S=ee,E=oe,I=W;return c(),_("div",null,[n(v,{title:"话题"}),n(I,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(V,{type:"line",animated:"","onUpdate:value":k},H({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(L,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[B(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(E,{show:l.value},{default:s(()=>[n(S,null,{default:s(()=>[(c(!0),_(Y,null,G(r.value,y=>(c(),b(N,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Se=z(_e,[["__scopeId","data-v-1fb31ecf"]]);export{Se as default}; +import{A as $,B as M,C as O,D as x,_ as z}from"./index-5faa66a7.js";import{x as D}from"./@vicons-7a4ef312.js";import{d as F,H as i,c as A,b as q,r as U,e as c,f as _,k as n,w as s,q as b,A as B,x as f,Y as u,bf as h,E as j,al as H,F as Y,u as G}from"./@vue-a481fc63.js";import{o as J,M as C,j as K,e as P,O as Q,L as R,F as W,f as X,g as Z,a as ee,k as oe}from"./naive-ui-d8de3dda.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as ne}from"./vuex-44de225f.js";import"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=F({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=A(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":O({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":M({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return q(()=>{r.value=!1}),(e,o)=>{const w=U("router-link"),g=J,k=C,a=K,d=P,v=Q,p=R;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[B(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(D))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=F({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);j(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=A({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,x({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return q(()=>{g()}),(a,d)=>{const v=te,p=X,L=C,V=Z,N=ie,S=ee,E=oe,I=W;return c(),_("div",null,[n(v,{title:"话题"}),n(I,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(V,{type:"line",animated:"","onUpdate:value":k},H({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(L,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[B(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(E,{show:l.value},{default:s(()=>[n(S,null,{default:s(()=>[(c(!0),_(Y,null,G(r.value,y=>(c(),b(N,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Se=z(_e,[["__scopeId","data-v-1fb31ecf"]]);export{Se as default}; diff --git a/web/dist/assets/User-e3580113.js b/web/dist/assets/User-a35461e8.js similarity index 97% rename from web/dist/assets/User-e3580113.js rename to web/dist/assets/User-a35461e8.js index 58b2b1d5..6e4914bf 100644 --- a/web/dist/assets/User-e3580113.js +++ b/web/dist/assets/User-a35461e8.js @@ -1 +1 @@ -import{_ as Re,a as He}from"./post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js";import{_ as Ne}from"./post-skeleton-f060289d.js";import{_ as Ve}from"./whisper-150920d0.js";import{_ as je}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{d as pe,H as i,e as s,q as m,w as r,j as f,k as t,A as U,x,R as Ge,c as Ee,b as Je,E as Ke,r as Ye,f as u,Y as d,bf as k,y as ce,F as $,u as T,h as _e}from"./@vue-a481fc63.js";import{u as Qe}from"./vuex-44de225f.js";import{b as Xe}from"./vue-router-e5a2430e.js";import{G as Ze,_ as me,H as ea,F as aa,e as V,I as sa,J as ta,K as la,L as na}from"./index-fcb35ad4.js";import{R as oa,H as ua,S as ia,b as ra,e as fe,i as ca,T as _a,F as va,a as da,j as ve,o as pa,M as ma,O as fa,k as ha,f as ga,g as wa,I as ka,G as ya}from"./naive-ui-d8de3dda.js";import{W as ba}from"./v3-infinite-loading-2c58ec2f.js";import{i as Pa,p as $a,y as de,z as Ta,v as xa,D as za,G as Ua}from"./@vicons-7a4ef312.js";import"./content-d73d8961.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Fa={class:"whisper-wrap"},Ia={class:"whisper-line"},qa={class:"whisper-line send-wrap"},Ca=pe({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(ue,{emit:O}){const y=ue,g=i(""),F=i(!1),c=()=>{O("success")},h=()=>{F.value=!0,Ze({user_id:y.user.id,greetings:g.value}).then(a=>{window.$message.success("发送成功"),F.value=!1,g.value="",c()}).catch(a=>{F.value=!1})};return(a,v)=>{const L=oa,A=ua,l=ia,I=ra,q=fe,C=ca;return s(),m(C,{show:a.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:r(()=>[f("div",Fa,[t(l,{"show-icon":!1},{default:r(()=>[U(" 发送添加朋友申请给: "),t(A,{style:{"max-width":"100%"}},{default:r(()=>[t(L,{type:"success"},{default:r(()=>[U(x(a.user.nickname)+"@"+x(a.user.username),1)]),_:1})]),_:1})]),_:1}),f("div",Ia,[t(I,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:g.value,"onUpdate:value":v[0]||(v[0]=M=>g.value=M),maxlength:"120","show-count":""},null,8,["value"])]),f("div",qa,[t(q,{strong:"",secondary:"",type:"primary",loading:F.value,onClick:h},{default:r(()=>[U(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ma=me(Ca,[["__scopeId","data-v-60be56a2"]]),Sa={key:0,class:"profile-baseinfo"},Wa={class:"avatar"},La={class:"base-info"},Oa={class:"username"},Aa={class:"userinfo"},Ba={class:"info-item"},Da={class:"info-item"},Ra={class:"userinfo"},Ha={class:"info-item"},Na={class:"info-item"},Va={key:0,class:"user-opts"},ja={key:0,class:"skeleton-wrap"},Ga={key:1},Ea={key:0,class:"empty-wrap"},Ja={key:1},Ka={key:0},Ya={key:1},Qa={key:2},Xa={key:3},Za={key:4},es={key:2},as={key:0},ss={key:1},ts={key:2},ls={key:3},ns={key:4},os={class:"load-more-wrap"},us={class:"load-more-spinner"},is=pe({__name:"User",setup(ue){const O=_a(),y=Qe(),g=Xe(),F="true".toLowerCase()==="true",c=i(!1),h=i(!1),a=Ge({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),v=i(!1),L=i(!1),A=i(!1),l=i([]),I=i([]),q=i([]),C=i([]),M=i([]),B=i([]),S=i(g.query.s||""),n=i(+g.query.p||1),p=i("post"),G=i(+g.query.p||1),E=i(1),J=i(1),K=i(1),Y=i(1),w=i(20),_=i(0),Q=i(0),X=i(0),Z=i(0),ee=i(0),ae=i(0),b=e=>{a.id=e.id,a.username=e.username,a.nickname=e.nickname,a.avatar=e.avatar,L.value=!0},he=()=>{h.value=!1,l.value=[],I.value=[],q.value=[],C.value=[],M.value=[],B.value=[],p.value="post",n.value=1,G.value=1,E.value=1,J.value=1,K.value=1,Y.value=1,_.value=0,Q.value=0,X.value=0,Z.value=0,ee.value=0,ae.value=0},ge=()=>{switch(p.value){case"post":j();break;case"comment":se();break;case"highlight":te();break;case"media":le();break;case"star":ne();break}},j=()=>{c.value=!0,V({username:S.value,style:"post",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),I.value=l.value,Q.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},se=()=>{c.value=!0,V({username:S.value,style:"comment",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),q.value=l.value,X.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},te=()=>{c.value=!0,V({username:S.value,style:"highlight",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),C.value=l.value,Z.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},le=()=>{c.value=!0,V({username:S.value,style:"media",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),M.value=l.value,ee.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},ne=()=>{c.value=!0,V({username:S.value,style:"star",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),B.value=l.value,ae.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},we=e=>{switch(p.value=e,p.value){case"post":l.value=I.value,n.value=G.value,_.value=Q.value,j();break;case"comment":l.value=q.value,n.value=E.value,_.value=X.value,se();break;case"highlight":l.value=C.value,n.value=J.value,_.value=Z.value,te();break;case"media":l.value=M.value,n.value=K.value,_.value=ee.value,le();break;case"star":l.value=B.value,n.value=Y.value,_.value=ae.value,ne();break}},D=()=>{v.value=!0,ea({username:S.value}).then(e=>{v.value=!1,a.id=e.id,a.avatar=e.avatar,a.username=e.username,a.nickname=e.nickname,a.is_admin=e.is_admin,a.is_friend=e.is_friend,a.created_on=e.created_on,a.is_following=e.is_following,a.follows=e.follows,a.followings=e.followings,a.status=e.status,ge()}).catch(e=>{v.value=!1,console.log(e)})},ke=()=>{switch(p.value){case"post":G.value=n.value,j();break;case"comment":E.value=n.value,se();break;case"highlight":J.value=n.value,te();break;case"media":K.value=n.value,le();break;case"star":Y.value=n.value,ne();break}},ye=()=>{L.value=!0},be=()=>{A.value=!0},Pe=()=>{L.value=!1},$e=()=>{A.value=!1},W=e=>()=>_e(ve,null,{default:()=>_e(e)}),Te=Ee(()=>{let e=[{label:"私信",key:"whisper",icon:W($a)}];return y.state.userInfo.is_admin&&(a.status===1?e.push({label:"禁言",key:"banned",icon:W(de)}):e.push({label:"解封",key:"deblocking",icon:W(de)})),a.is_following?e.push({label:"取消关注",key:"unfollow",icon:W(Ta)}):e.push({label:"关注",key:"follow",icon:W(xa)}),F&&(a.is_friend?e.push({label:"删除好友",key:"delete",icon:W(za)}):e.push({label:"添加朋友",key:"requesting",icon:W(Ua)})),e}),xe=e=>{switch(e){case"whisper":ye();break;case"delete":ze();break;case"requesting":be();break;case"follow":case"unfollow":Ue();break;case"banned":case"deblocking":Fe();break}},ze=()=>{O.warning({title:"删除好友",content:"将好友 “"+a.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,sa({user_id:a.id}).then(e=>{v.value=!1,a.is_friend=!1,j()}).catch(e=>{v.value=!1,console.log(e)})}})},Ue=()=>{O.success({title:"提示",content:"确定"+(a.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,a.is_following?ta({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("取消关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)}):la({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Fe=()=>{O.warning({title:"警告",content:"确定对该用户进行"+(a.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,na({id:a.id,status:a.status===1?2:1}).then(e=>{v.value=!1,a.status===1?window.$message.success("禁言成功"):window.$message.success("解封成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Ie=()=>{n.value<_.value||_.value==0?(h.value=!1,n.value++,ke()):h.value=!0};return Je(()=>{D()}),Ke(()=>({path:g.path,query:g.query}),(e,z)=>{z.path==="/u"&&e.path==="/u"&&(S.value=g.query.s||"",he(),D())}),(e,z)=>{const qe=je,Ce=pa,oe=ma,ie=Ye("router-link"),Me=fe,Se=fa,We=Ve,re=ha,R=ga,Le=wa,Oe=Ne,Ae=ka,H=Re,P=ya,N=He,Be=va,De=da;return s(),u("div",null,[t(qe,{title:"用户详情"}),t(Be,{class:"main-content-wrap profile-wrap",bordered:""},{default:r(()=>[t(re,{show:v.value},{default:r(()=>[a.id>0?(s(),u("div",Sa,[f("div",Wa,[t(Ce,{size:72,src:a.avatar},null,8,["src"])]),f("div",La,[f("div",Oa,[f("strong",null,x(a.nickname),1),f("span",null," @"+x(a.username),1),F&&k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_friend?(s(),m(oe,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:r(()=>[U(" 好友 ")]),_:1})):d("",!0),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_following?(s(),m(oe,{key:1,class:"top-tag",type:"success",size:"small",round:""},{default:r(()=>[U(" 已关注 ")]),_:1})):d("",!0),a.is_admin?(s(),m(oe,{key:2,class:"top-tag",type:"error",size:"small",round:""},{default:r(()=>[U(" 管理员 ")]),_:1})):d("",!0)]),f("div",Aa,[f("span",Ba,"UID. "+x(a.id),1),f("span",Da,x(k(aa)(a.created_on))+" 加入",1)]),f("div",Ra,[f("span",Ha,[t(ie,{onClick:z[0]||(z[0]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"follows"}}},{default:r(()=>[U(" 关注  "+x(a.follows),1)]),_:1},8,["to"])]),f("span",Na,[t(ie,{onClick:z[1]||(z[1]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"followings"}}},{default:r(()=>[U(" 粉丝  "+x(a.followings),1)]),_:1},8,["to"])])])]),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username?(s(),u("div",Va,[t(Se,{placement:"bottom-end",trigger:"click",size:"small",options:Te.value,onSelect:xe},{default:r(()=>[t(Me,{quaternary:"",circle:""},{icon:r(()=>[t(k(ve),null,{default:r(()=>[t(k(Pa))]),_:1})]),_:1})]),_:1},8,["options"])])):d("",!0)])):d("",!0),t(We,{show:L.value,user:a,onSuccess:Pe},null,8,["show","user"]),t(Ma,{show:A.value,user:a,onSuccess:$e},null,8,["show","user"])]),_:1},8,["show"]),t(Le,{class:"profile-tabs-wrap",type:"line",animated:"",value:p.value,"onUpdate:value":we},{default:r(()=>[t(R,{name:"post",tab:"泡泡"}),t(R,{name:"comment",tab:"评论"}),t(R,{name:"highlight",tab:"亮点"}),t(R,{name:"media",tab:"图文"}),t(R,{name:"star",tab:"喜欢"})]),_:1},8,["value"]),c.value&&l.value.length===0?(s(),u("div",ja,[t(Oe,{num:w.value},null,8,["num"])])):(s(),u("div",Ga,[l.value.length===0?(s(),u("div",Ea,[t(Ae,{size:"large",description:"暂无数据"})])):d("",!0),k(y).state.desktopModelShow?(s(),u("div",Ja,[p.value==="post"?(s(),u("div",Ka,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",Ya,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",Qa,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",Xa,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",Za,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)])):(s(),u("div",es,[p.value==="post"?(s(),u("div",as,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",ss,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",ts,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",ls,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",ns,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)]))]))]),_:1}),_.value>0?(s(),m(De,{key:0,justify:"center"},{default:r(()=>[t(k(ba),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:z[2]||(z[2]=o=>Ie())},{spinner:r(()=>[f("div",os,[h.value?d("",!0):(s(),m(re,{key:0,size:14})),f("span",us,x(h.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):d("",!0)])}}});const Rs=me(is,[["__scopeId","data-v-ebc19734"]]);export{Rs as default}; +import{_ as Re,a as He}from"./post-item.vue_vue_type_style_index_0_lang-d5631a43.js";import{_ as Ne}from"./post-skeleton-47a1ebec.js";import{_ as Ve}from"./whisper-d959da10.js";import{_ as je}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{d as pe,H as i,e as s,q as m,w as r,j as f,k as t,A as U,x,R as Ge,c as Ee,b as Je,E as Ke,r as Ye,f as u,Y as d,bf as k,y as ce,F as $,u as T,h as _e}from"./@vue-a481fc63.js";import{u as Qe}from"./vuex-44de225f.js";import{b as Xe}from"./vue-router-e5a2430e.js";import{G as Ze,_ as me,H as ea,F as aa,e as V,I as sa,J as ta,K as la,L as na}from"./index-5faa66a7.js";import{R as oa,H as ua,S as ia,b as ra,e as fe,i as ca,T as _a,F as va,a as da,j as ve,o as pa,M as ma,O as fa,k as ha,f as ga,g as wa,I as ka,G as ya}from"./naive-ui-d8de3dda.js";import{W as ba}from"./v3-infinite-loading-2c58ec2f.js";import{i as Pa,p as $a,y as de,z as Ta,v as xa,D as za,G as Ua}from"./@vicons-7a4ef312.js";import"./content-2d41ca0a.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Fa={class:"whisper-wrap"},Ia={class:"whisper-line"},qa={class:"whisper-line send-wrap"},Ca=pe({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(ue,{emit:O}){const y=ue,g=i(""),F=i(!1),c=()=>{O("success")},h=()=>{F.value=!0,Ze({user_id:y.user.id,greetings:g.value}).then(a=>{window.$message.success("发送成功"),F.value=!1,g.value="",c()}).catch(a=>{F.value=!1})};return(a,v)=>{const L=oa,A=ua,l=ia,I=ra,q=fe,C=ca;return s(),m(C,{show:a.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:r(()=>[f("div",Fa,[t(l,{"show-icon":!1},{default:r(()=>[U(" 发送添加朋友申请给: "),t(A,{style:{"max-width":"100%"}},{default:r(()=>[t(L,{type:"success"},{default:r(()=>[U(x(a.user.nickname)+"@"+x(a.user.username),1)]),_:1})]),_:1})]),_:1}),f("div",Ia,[t(I,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:g.value,"onUpdate:value":v[0]||(v[0]=M=>g.value=M),maxlength:"120","show-count":""},null,8,["value"])]),f("div",qa,[t(q,{strong:"",secondary:"",type:"primary",loading:F.value,onClick:h},{default:r(()=>[U(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ma=me(Ca,[["__scopeId","data-v-60be56a2"]]),Sa={key:0,class:"profile-baseinfo"},Wa={class:"avatar"},La={class:"base-info"},Oa={class:"username"},Aa={class:"userinfo"},Ba={class:"info-item"},Da={class:"info-item"},Ra={class:"userinfo"},Ha={class:"info-item"},Na={class:"info-item"},Va={key:0,class:"user-opts"},ja={key:0,class:"skeleton-wrap"},Ga={key:1},Ea={key:0,class:"empty-wrap"},Ja={key:1},Ka={key:0},Ya={key:1},Qa={key:2},Xa={key:3},Za={key:4},es={key:2},as={key:0},ss={key:1},ts={key:2},ls={key:3},ns={key:4},os={class:"load-more-wrap"},us={class:"load-more-spinner"},is=pe({__name:"User",setup(ue){const O=_a(),y=Qe(),g=Xe(),F="true".toLowerCase()==="true",c=i(!1),h=i(!1),a=Ge({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),v=i(!1),L=i(!1),A=i(!1),l=i([]),I=i([]),q=i([]),C=i([]),M=i([]),B=i([]),S=i(g.query.s||""),n=i(+g.query.p||1),p=i("post"),G=i(+g.query.p||1),E=i(1),J=i(1),K=i(1),Y=i(1),w=i(20),_=i(0),Q=i(0),X=i(0),Z=i(0),ee=i(0),ae=i(0),b=e=>{a.id=e.id,a.username=e.username,a.nickname=e.nickname,a.avatar=e.avatar,L.value=!0},he=()=>{h.value=!1,l.value=[],I.value=[],q.value=[],C.value=[],M.value=[],B.value=[],p.value="post",n.value=1,G.value=1,E.value=1,J.value=1,K.value=1,Y.value=1,_.value=0,Q.value=0,X.value=0,Z.value=0,ee.value=0,ae.value=0},ge=()=>{switch(p.value){case"post":j();break;case"comment":se();break;case"highlight":te();break;case"media":le();break;case"star":ne();break}},j=()=>{c.value=!0,V({username:S.value,style:"post",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),I.value=l.value,Q.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},se=()=>{c.value=!0,V({username:S.value,style:"comment",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),q.value=l.value,X.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},te=()=>{c.value=!0,V({username:S.value,style:"highlight",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),C.value=l.value,Z.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},le=()=>{c.value=!0,V({username:S.value,style:"media",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),M.value=l.value,ee.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},ne=()=>{c.value=!0,V({username:S.value,style:"star",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),B.value=l.value,ae.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},we=e=>{switch(p.value=e,p.value){case"post":l.value=I.value,n.value=G.value,_.value=Q.value,j();break;case"comment":l.value=q.value,n.value=E.value,_.value=X.value,se();break;case"highlight":l.value=C.value,n.value=J.value,_.value=Z.value,te();break;case"media":l.value=M.value,n.value=K.value,_.value=ee.value,le();break;case"star":l.value=B.value,n.value=Y.value,_.value=ae.value,ne();break}},D=()=>{v.value=!0,ea({username:S.value}).then(e=>{v.value=!1,a.id=e.id,a.avatar=e.avatar,a.username=e.username,a.nickname=e.nickname,a.is_admin=e.is_admin,a.is_friend=e.is_friend,a.created_on=e.created_on,a.is_following=e.is_following,a.follows=e.follows,a.followings=e.followings,a.status=e.status,ge()}).catch(e=>{v.value=!1,console.log(e)})},ke=()=>{switch(p.value){case"post":G.value=n.value,j();break;case"comment":E.value=n.value,se();break;case"highlight":J.value=n.value,te();break;case"media":K.value=n.value,le();break;case"star":Y.value=n.value,ne();break}},ye=()=>{L.value=!0},be=()=>{A.value=!0},Pe=()=>{L.value=!1},$e=()=>{A.value=!1},W=e=>()=>_e(ve,null,{default:()=>_e(e)}),Te=Ee(()=>{let e=[{label:"私信",key:"whisper",icon:W($a)}];return y.state.userInfo.is_admin&&(a.status===1?e.push({label:"禁言",key:"banned",icon:W(de)}):e.push({label:"解封",key:"deblocking",icon:W(de)})),a.is_following?e.push({label:"取消关注",key:"unfollow",icon:W(Ta)}):e.push({label:"关注",key:"follow",icon:W(xa)}),F&&(a.is_friend?e.push({label:"删除好友",key:"delete",icon:W(za)}):e.push({label:"添加朋友",key:"requesting",icon:W(Ua)})),e}),xe=e=>{switch(e){case"whisper":ye();break;case"delete":ze();break;case"requesting":be();break;case"follow":case"unfollow":Ue();break;case"banned":case"deblocking":Fe();break}},ze=()=>{O.warning({title:"删除好友",content:"将好友 “"+a.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,sa({user_id:a.id}).then(e=>{v.value=!1,a.is_friend=!1,j()}).catch(e=>{v.value=!1,console.log(e)})}})},Ue=()=>{O.success({title:"提示",content:"确定"+(a.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,a.is_following?ta({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("取消关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)}):la({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Fe=()=>{O.warning({title:"警告",content:"确定对该用户进行"+(a.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,na({id:a.id,status:a.status===1?2:1}).then(e=>{v.value=!1,a.status===1?window.$message.success("禁言成功"):window.$message.success("解封成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Ie=()=>{n.value<_.value||_.value==0?(h.value=!1,n.value++,ke()):h.value=!0};return Je(()=>{D()}),Ke(()=>({path:g.path,query:g.query}),(e,z)=>{z.path==="/u"&&e.path==="/u"&&(S.value=g.query.s||"",he(),D())}),(e,z)=>{const qe=je,Ce=pa,oe=ma,ie=Ye("router-link"),Me=fe,Se=fa,We=Ve,re=ha,R=ga,Le=wa,Oe=Ne,Ae=ka,H=Re,P=ya,N=He,Be=va,De=da;return s(),u("div",null,[t(qe,{title:"用户详情"}),t(Be,{class:"main-content-wrap profile-wrap",bordered:""},{default:r(()=>[t(re,{show:v.value},{default:r(()=>[a.id>0?(s(),u("div",Sa,[f("div",Wa,[t(Ce,{size:72,src:a.avatar},null,8,["src"])]),f("div",La,[f("div",Oa,[f("strong",null,x(a.nickname),1),f("span",null," @"+x(a.username),1),F&&k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_friend?(s(),m(oe,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:r(()=>[U(" 好友 ")]),_:1})):d("",!0),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_following?(s(),m(oe,{key:1,class:"top-tag",type:"success",size:"small",round:""},{default:r(()=>[U(" 已关注 ")]),_:1})):d("",!0),a.is_admin?(s(),m(oe,{key:2,class:"top-tag",type:"error",size:"small",round:""},{default:r(()=>[U(" 管理员 ")]),_:1})):d("",!0)]),f("div",Aa,[f("span",Ba,"UID. "+x(a.id),1),f("span",Da,x(k(aa)(a.created_on))+" 加入",1)]),f("div",Ra,[f("span",Ha,[t(ie,{onClick:z[0]||(z[0]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"follows"}}},{default:r(()=>[U(" 关注  "+x(a.follows),1)]),_:1},8,["to"])]),f("span",Na,[t(ie,{onClick:z[1]||(z[1]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"followings"}}},{default:r(()=>[U(" 粉丝  "+x(a.followings),1)]),_:1},8,["to"])])])]),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username?(s(),u("div",Va,[t(Se,{placement:"bottom-end",trigger:"click",size:"small",options:Te.value,onSelect:xe},{default:r(()=>[t(Me,{quaternary:"",circle:""},{icon:r(()=>[t(k(ve),null,{default:r(()=>[t(k(Pa))]),_:1})]),_:1})]),_:1},8,["options"])])):d("",!0)])):d("",!0),t(We,{show:L.value,user:a,onSuccess:Pe},null,8,["show","user"]),t(Ma,{show:A.value,user:a,onSuccess:$e},null,8,["show","user"])]),_:1},8,["show"]),t(Le,{class:"profile-tabs-wrap",type:"line",animated:"",value:p.value,"onUpdate:value":we},{default:r(()=>[t(R,{name:"post",tab:"泡泡"}),t(R,{name:"comment",tab:"评论"}),t(R,{name:"highlight",tab:"亮点"}),t(R,{name:"media",tab:"图文"}),t(R,{name:"star",tab:"喜欢"})]),_:1},8,["value"]),c.value&&l.value.length===0?(s(),u("div",ja,[t(Oe,{num:w.value},null,8,["num"])])):(s(),u("div",Ga,[l.value.length===0?(s(),u("div",Ea,[t(Ae,{size:"large",description:"暂无数据"})])):d("",!0),k(y).state.desktopModelShow?(s(),u("div",Ja,[p.value==="post"?(s(),u("div",Ka,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",Ya,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",Qa,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",Xa,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",Za,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)])):(s(),u("div",es,[p.value==="post"?(s(),u("div",as,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",ss,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",ts,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",ls,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",ns,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)]))]))]),_:1}),_.value>0?(s(),m(De,{key:0,justify:"center"},{default:r(()=>[t(k(ba),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:z[2]||(z[2]=o=>Ie())},{spinner:r(()=>[f("div",os,[h.value?d("",!0):(s(),m(re,{key:0,size:14})),f("span",us,x(h.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):d("",!0)])}}});const Rs=me(is,[["__scopeId","data-v-ebc19734"]]);export{Rs as default}; diff --git a/web/dist/assets/Wallet-135fd43e.js b/web/dist/assets/Wallet-a477a3e7.js similarity index 95% rename from web/dist/assets/Wallet-135fd43e.js rename to web/dist/assets/Wallet-a477a3e7.js index 98e9b167..773bb39c 100644 --- a/web/dist/assets/Wallet-135fd43e.js +++ b/web/dist/assets/Wallet-a477a3e7.js @@ -1 +1 @@ -import{_ as G}from"./post-skeleton-f060289d.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-31fef671.js";import{d as K,H as c,b as J,f as _,k as e,w as o,e as a,bf as y,Y as w,j as n,A as k,F as q,u as z,O as ee,D as te,x as r,q as N,l as oe,y as ne,$ as ae,a0 as se}from"./@vue-a481fc63.js";import{u as le}from"./vuex-44de225f.js";import{b as ce}from"./vue-router-e5a2430e.js";import{b as ie}from"./qrcode-9719fc56.js";import{X as _e,Y as re,Z as ue,$ as pe,E as de,_ as me}from"./index-fcb35ad4.js";import{X as ge}from"./@vicons-7a4ef312.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,Q as be,I as xe,j as Ce,l as Ie,h as Se,G as Ae}from"./naive-ui-d8de3dda.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const B=m=>(ae("data-v-870bd246"),m=m(),se(),m),Re={class:"balance-wrap"},$e={class:"balance-line"},qe={class:"balance-opts"},ze={key:0,class:"pagination-wrap"},Ne={key:0,class:"skeleton-wrap"},Be={key:1},Ee={key:0,class:"empty-wrap"},Fe={class:"bill-line"},Oe={key:0,class:"amount-options"},Pe={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},We=B(()=>n("canvas",{id:"qrcode-container"},null,-1)),De={class:"pay-tips"},Le={class:"pay-sub-tips"},Ue=B(()=>n("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ve=K({__name:"Wallet",setup(m){const i=le(),E=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+E.query.p||1),C=c(20),I=c(0),F=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),A=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},O=s=>{x.value=s,A()},R=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),A()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},P=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",R())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},W=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{R()}),(s,l)=>{const S=H,d=fe,D=ye,f=we,$=ke,L=be,U=G,V=xe,M=Ae,Y=ve,j=Ce,Q=Ie,X=Se,Z=he;return a(),_("div",null,[e(S,{title:"钱包"}),e(Y,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(a(),_("div",ze,[e(L,{page:x.value,"onUpdate:page":O,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[n("div",Re,[n("div",$e,[e(D,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),n("div",qe,[e($,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:P},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:W},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(a(),_("div",Ne,[e(U,{num:C.value},null,8,["num"])])):(a(),_("div",Be,[b.value.length===0?(a(),_("div",Ee,[e(V,{size:"large",description:"暂无数据"})])):w("",!0),(a(!0),_(q,null,z(b.value,t=>(a(),N(M,{key:t.id},{default:o(()=>[n("div",Fe,[n("div",null,"NO."+r(t.id),1),n("div",null,r(t.reason),1),n("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),n("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(Z,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(X,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(a(),_("div",Oe,[e($,{align:"baseline"},{default:o(()=>[(a(!0),_(q,null,z(F.value,t=>(a(),N(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ne(Me=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(a(),_("div",Pe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(n("div",Te,[We,n("div",De," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),n("div",Le,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ue])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const ft=me(Ve,[["__scopeId","data-v-870bd246"]]);export{ft as default}; +import{_ as G}from"./post-skeleton-47a1ebec.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{d as K,H as c,b as J,f as _,k as e,w as o,e as a,bf as y,Y as w,j as n,A as k,F as q,u as z,O as ee,D as te,x as r,q as N,l as oe,y as ne,$ as ae,a0 as se}from"./@vue-a481fc63.js";import{u as le}from"./vuex-44de225f.js";import{b as ce}from"./vue-router-e5a2430e.js";import{b as ie}from"./qrcode-9719fc56.js";import{X as _e,Y as re,Z as ue,$ as pe,E as de,_ as me}from"./index-5faa66a7.js";import{X as ge}from"./@vicons-7a4ef312.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,Q as be,I as xe,j as Ce,l as Ie,h as Se,G as Ae}from"./naive-ui-d8de3dda.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const B=m=>(ae("data-v-870bd246"),m=m(),se(),m),Re={class:"balance-wrap"},$e={class:"balance-line"},qe={class:"balance-opts"},ze={key:0,class:"pagination-wrap"},Ne={key:0,class:"skeleton-wrap"},Be={key:1},Ee={key:0,class:"empty-wrap"},Fe={class:"bill-line"},Oe={key:0,class:"amount-options"},Pe={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},We=B(()=>n("canvas",{id:"qrcode-container"},null,-1)),De={class:"pay-tips"},Le={class:"pay-sub-tips"},Ue=B(()=>n("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ve=K({__name:"Wallet",setup(m){const i=le(),E=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+E.query.p||1),C=c(20),I=c(0),F=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),A=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},O=s=>{x.value=s,A()},R=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),A()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},P=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",R())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},W=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{R()}),(s,l)=>{const S=H,d=fe,D=ye,f=we,$=ke,L=be,U=G,V=xe,M=Ae,Y=ve,j=Ce,Q=Ie,X=Se,Z=he;return a(),_("div",null,[e(S,{title:"钱包"}),e(Y,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(a(),_("div",ze,[e(L,{page:x.value,"onUpdate:page":O,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[n("div",Re,[n("div",$e,[e(D,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),n("div",qe,[e($,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:P},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:W},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(a(),_("div",Ne,[e(U,{num:C.value},null,8,["num"])])):(a(),_("div",Be,[b.value.length===0?(a(),_("div",Ee,[e(V,{size:"large",description:"暂无数据"})])):w("",!0),(a(!0),_(q,null,z(b.value,t=>(a(),N(M,{key:t.id},{default:o(()=>[n("div",Fe,[n("div",null,"NO."+r(t.id),1),n("div",null,r(t.reason),1),n("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),n("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(Z,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(X,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(a(),_("div",Oe,[e($,{align:"baseline"},{default:o(()=>[(a(!0),_(q,null,z(F.value,t=>(a(),N(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ne(Me=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(a(),_("div",Pe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(n("div",Te,[We,n("div",De," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),n("div",Le,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ue])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const ft=me(Ve,[["__scopeId","data-v-870bd246"]]);export{ft as default}; diff --git a/web/dist/assets/content-d73d8961.js b/web/dist/assets/content-2d41ca0a.js similarity index 98% rename from web/dist/assets/content-d73d8961.js rename to web/dist/assets/content-2d41ca0a.js index 60a99108..6ad73b97 100644 --- a/web/dist/assets/content-d73d8961.js +++ b/web/dist/assets/content-2d41ca0a.js @@ -1 +1 @@ -import{d as h,e,f as r,F as a,u as m,k as s,w as o,bf as c,j as C,y as k,x as I,q as d,Y as g,H as j,A as N,h as b}from"./@vue-a481fc63.js";import{R as V,U as T}from"./@vicons-7a4ef312.js";import{j as $,V as A,W as B,m as U,X as z,e as F,i as L}from"./naive-ui-d8de3dda.js";import{_ as D,S as R,T as M}from"./index-fcb35ad4.js";import{e as O}from"./paopao-video-player-2fe58954.js";const P={class:"link-wrap"},S={class:"link-txt-wrap"},q=["href"],H={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",P,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(V))]),_:1}),C("div",S,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",H,I(n.content),1)],8,q)])]))),128))])}}});const ot=D(W,[["__scopeId","data-v-36eef76b"]]),X={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=A,n=B;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(O),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=U,_=A,f=B,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},G=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),R({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{M({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=F,i=L;return e(),r("div",Z,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(T))]),_:1})]),default:o(()=>[N(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=D(G,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; +import{d as h,e,f as r,F as a,u as m,k as s,w as o,bf as c,j as C,y as k,x as I,q as d,Y as g,H as j,A as N,h as b}from"./@vue-a481fc63.js";import{R as V,U as T}from"./@vicons-7a4ef312.js";import{j as $,V as A,W as B,m as U,X as z,e as F,i as L}from"./naive-ui-d8de3dda.js";import{_ as D,S as R,T as M}from"./index-5faa66a7.js";import{e as O}from"./paopao-video-player-2fe58954.js";const P={class:"link-wrap"},S={class:"link-txt-wrap"},q=["href"],H={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",P,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(V))]),_:1}),C("div",S,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",H,I(n.content),1)],8,q)])]))),128))])}}});const ot=D(W,[["__scopeId","data-v-36eef76b"]]),X={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=A,n=B;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(O),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=U,_=A,f=B,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},G=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),R({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{M({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=F,i=L;return e(),r("div",Z,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(T))]),_:1})]),default:o(()=>[N(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=D(G,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; diff --git a/web/dist/assets/index-fcb35ad4.js b/web/dist/assets/index-5faa66a7.js similarity index 90% rename from web/dist/assets/index-fcb35ad4.js rename to web/dist/assets/index-5faa66a7.js index ce405550..8bba078c 100644 --- a/web/dist/assets/index-fcb35ad4.js +++ b/web/dist/assets/index-5faa66a7.js @@ -1 +1 @@ -import{d as Y,H as k,R as oe,b as Z,e as w,q as K,w as a,j as y,k as s,f as E,A as U,Z as q,y as N,Y as M,bf as f,c as J,E as Q,r as me,F as se,u as ne,x as A,h as P,a5 as Pe,s as re,l as Oe,ag as Le}from"./@vue-a481fc63.js";import{c as Te,a as Ae,u as pe,b as Ee}from"./vue-router-e5a2430e.js";import{c as Ie,u as B}from"./vuex-44de225f.js";import{a as Re}from"./axios-4a70c6fc.js";import{_ as Ce,N as $e,a as _e,b as he,c as Me,d as Se,e as ge,f as Ue,g as De,h as fe,i as xe,j as W,k as qe,u as Ne,l as Ke,m as Fe,n as Ve,o as ze,p as He,q as We,r as Ye,s as Be,t as je}from"./naive-ui-d8de3dda.js";import{h as D}from"./moment-2ab8298d.js";import{S as Ge,M as Qe,L as Ze,C as Je,B as Xe,P as et,W as tt,a as ot,H as ae,b as le,c as ue}from"./@vicons-7a4ef312.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))c(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function r(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function c(i){if(i.ep)return;i.ep=!0;const n=r(i);fetch(i.href,n)}})();const st="modulepreload",nt=function(e){return"/"+e},ie={},T=function(t,r,c){if(!r||r.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(r.map(n=>{if(n=nt(n),n in ie)return;ie[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!c)for(let b=i.length-1;b>=0;b--){const _=i[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":st,m||(v.as="script",v.crossOrigin=""),v.href=n,document.head.appendChild(v),m)return new Promise((b,_)=>{v.addEventListener("load",b),v.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},rt=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>T(()=>import("./Home-9f453b75.js"),["assets/Home-9f453b75.js","assets/whisper-150920d0.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js","assets/content-d73d8961.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/IEnum-5453a777.js","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/@opentiny-d73a2d67.js","assets/vue-1e3b54ec.js","assets/xss-a5544f63.js","assets/cssfilter-af71ba68.js","assets/@opentiny-0f942bd4.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Home-63775b21.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"泡泡详情"},component:()=>T(()=>import("./Post-e2d22a4a.js"),["assets/Post-e2d22a4a.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/IEnum-5453a777.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-d73d8961.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vue-router-e5a2430e.js","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/@babel-725317a4.js","assets/whisper-150920d0.js","assets/whisper-61451957.css","assets/copy-to-clipboard-4ef7d3eb.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Post-1ac7281c.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>T(()=>import("./Topic-8586b7d5.js"),["assets/Topic-8586b7d5.js","assets/@vicons-7a4ef312.js","assets/@vue-a481fc63.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Topic-384e019e.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>T(()=>import("./Anouncement-a5b70f32.js"),["assets/Anouncement-a5b70f32.js","assets/post-skeleton-f060289d.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>T(()=>import("./Profile-9492f6bb.js"),["assets/Profile-9492f6bb.js","assets/whisper-150920d0.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js","assets/content-d73d8961.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Profile-3ffb7be9.css","assets/vfonts-7afd136d.css"])},{path:"/u",name:"user",meta:{title:"用户详情"},component:()=>T(()=>import("./User-e3580113.js"),["assets/User-e3580113.js","assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js","assets/content-d73d8961.js","assets/@vue-a481fc63.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/whisper-150920d0.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/User-b21ba7c9.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>T(()=>import("./Messages-8b750f63.js"),["assets/Messages-8b750f63.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-150920d0.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Messages-3c6066fb.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>T(()=>import("./Collection-38566728.js"),["assets/Collection-38566728.js","assets/whisper-150920d0.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js","assets/content-d73d8961.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Collection-5c3a44e2.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>T(()=>import("./Contacts-789b01f1.js"),["assets/Contacts-789b01f1.js","assets/whisper-150920d0.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/@vicons-7a4ef312.js","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Contacts-7fa3e0d6.css","assets/vfonts-7afd136d.css"])},{path:"/following",name:"following",meta:{title:"关注"},component:()=>T(()=>import("./Following-e831211b.js"),["assets/Following-e831211b.js","assets/whisper-150920d0.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/post-skeleton-f060289d.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Following-6aa7d36c.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>T(()=>import("./Wallet-135fd43e.js"),["assets/Wallet-135fd43e.js","assets/post-skeleton-f060289d.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>T(()=>import("./Setting-04697376.js"),["assets/Setting-04697376.js","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>T(()=>import("./404-e1bbb486.js"),["assets/404-e1bbb486.js","assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],ve=Te({history:Ae(),routes:rt});ve.beforeEach((e,t,r)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,r()});const at=Ie({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:"",created_on:0,follows:0,followings:0,is_admin:!1}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:"",created_on:0,follows:0,followings:0,is_admin:!1},e.userLogined=!1}},actions:{},modules:{}}),X=Re.create({baseURL:"",timeout:3e4});X.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));X.interceptors.response.use(e=>{const{data:t={},code:r=0}=(e==null?void 0:e.data)||{};if(+r==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var r;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((r=t==null?void 0:t.data)==null?void 0:r.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return X(e)}const ce=e=>o({method:"post",url:"/v1/auth/login",data:e}),lt=e=>o({method:"post",url:"/v1/auth/register",data:e}),G=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),ut={class:"auth-wrap"},it={key:0},ct=Y({__name:"auth",setup(e){const t=k("true".toLowerCase()==="true"),r=B(),c=k(!1),i=k(),n=oe({username:"",password:""}),m=k(),d=oe({username:"",password:"",repassword:""}),S={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},v=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=i.value)==null||u.validate(I=>{I||(c.value=!0,ce({username:n.username,password:n.password}).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("登录成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),r.commit("refresh"),n.username="",n.password=""}).catch(h=>{c.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(I=>{I||(c.value=!0,lt({username:d.username,password:d.password}).then(h=>ce({username:d.username,password:d.password})).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("注册成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(h=>{c.value=!1}))})};return Z(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?G(_).then(u=>{r.commit("updateUserinfo",u),r.commit("triggerAuth",!1)}).catch(u=>{r.commit("userLogout")}):r.commit("userLogout")}),(_,u)=>{const I=Ce,h=$e,R=_e,C=he,O=Me,x=Se,l=ge,L=Ue,F=De,H=fe,V=xe;return w(),K(V,{show:f(r).state.authModalShow,"onUpdate:show":u[7]||(u[7]=p=>f(r).state.authModalShow=p),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[y("div",ut,[s(H,{bordered:!1},{default:a(()=>[t.value?M("",!0):(w(),E("div",it,[s(R,{justify:"center"},{default:a(()=>[s(h,null,{default:a(()=>[s(I,{type:"success"},{default:a(()=>[U("账号登录")]),_:1})]),_:1})]),_:1}),s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[0]||(u[0]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])])),t.value?(w(),K(F,{key:1,"default-value":f(r).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(L,{name:"signin",tab:"登录"},{default:a(()=>[s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[2]||(u[2]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(L,{name:"signup",tab:"注册"},{default:a(()=>[s(x,{ref_key:"registerRef",ref:m,model:d,rules:S},{default:a(()=>[s(O,{label:"用户名",path:"username"},{default:a(()=>[s(C,{value:d.username,"onUpdate:value":u[4]||(u[4]=p=>d.username=p),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=p=>d.password=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"重复密码",path:"repassword"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=p=>d.repassword=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:b},{default:a(()=>[U(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const we=(e,t)=>{const r=e.__vccOpts||e;for(const[c,i]of t)r[c]=i;return r},dt=we(ct,[["__scopeId","data-v-053dfa44"]]),io=e=>o({method:"get",url:"/v1/posts",params:e}),mt=e=>o({method:"get",url:"/v1/tags",params:e}),co=e=>o({method:"get",url:"/v1/post",params:e}),mo=e=>o({method:"get",url:"/v1/post/star",params:e}),po=e=>o({method:"post",url:"/v1/post/star",data:e}),_o=e=>o({method:"get",url:"/v1/post/collection",params:e}),ho=e=>o({method:"post",url:"/v1/post/collection",data:e}),go=e=>o({method:"get",url:"/v1/post/comments",params:e}),fo=e=>o({method:"get",url:"/v1/user/contacts",params:e}),vo=e=>o({method:"post",url:"/v1/post",data:e}),wo=e=>o({method:"delete",url:"/v1/post",data:e}),yo=e=>o({method:"post",url:"/v1/post/lock",data:e}),bo=e=>o({method:"post",url:"/v1/post/stick",data:e}),ko=e=>o({method:"post",url:"/v1/post/highlight",data:e}),Po=e=>o({method:"post",url:"/v1/post/visibility",data:e}),Oo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),Lo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),To=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),Ao=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),Eo=e=>o({method:"post",url:"/v1/post/comment",data:e}),Io=e=>o({method:"delete",url:"/v1/post/comment",data:e}),Ro=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),Co=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),$o=e=>o({method:"post",url:"/v1/topic/stick",data:e}),Mo=e=>o({method:"post",url:"/v1/topic/follow",data:e}),So=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),Uo=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Do=e=>o({method:"post",url:"/v1/captcha",data:e}),xo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),qo=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),No=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ko=e=>o({method:"post",url:"/v1/user/follow",data:e}),Fo=e=>o({method:"post",url:"/v1/user/unfollow",data:e}),Vo=e=>o({method:"get",url:"/v1/user/follows",params:e}),zo=e=>o({method:"get",url:"/v1/user/followings",params:e}),Ho=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Wo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Yo=e=>o({method:"post",url:"/v1/user/phone",data:e}),Bo=e=>o({method:"post",url:"/v1/user/activate",data:e}),jo=e=>o({method:"post",url:"/v1/user/password",data:e}),Go=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Qo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),de=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Zo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Jo=e=>o({method:"post",url:"/v1/user/message/read",data:e}),Xo=e=>o({method:"get",url:"/v1/user/collections",params:e}),es=e=>o({method:"get",url:"/v1/user/profile",params:e}),ts=e=>o({method:"get",url:"/v1/user/posts",params:e}),os=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),ss=e=>o({method:"post",url:"/v1/user/recharge",data:e}),ns=e=>o({method:"get",url:"/v1/user/recharge",params:e}),rs=e=>o({method:"get",url:"/v1/suggest/users",params:e}),as=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),ls=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),us=e=>o({method:"get",url:"/v1/attachment",params:e}),is=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),pt=()=>o({method:"get",url:"/v1/admin/site/status"});D.locale("zh-cn");const _t=e=>D.unix(e).fromNow(),cs=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()},ds=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD"):t.fromNow()},ms=e=>D.unix(e).utc(!0).format("YYYY年MM月"),ht={key:0,class:"rightbar-wrap"},gt={class:"search-wrap"},ft={class:"post-num"},vt={class:"post-num"},wt={class:"copyright"},yt=["href"],bt=["href"],kt={class:"site-info-item"},Pt=Y({__name:"rightbar",setup(e){const t=k([]),r=k([]),c=k(!1),i=k(""),n=B(),m=pe(),d=k(0),S=k(0),v=k(0),b=k(0),_=k(null),u="2023 paopao.info",I="Roc's Me",h="",R="泡泡(PaoPao)开源社区",C="https://www.paopao.info",O=+"6",x=+"12",l=()=>{pt().then(g=>{d.value=g.register_user_count,S.value=g.online_user_count,v.value=g.history_max_online,b.value=g.server_up_time}).catch(g=>{}),p.disconnect()},L=()=>{c.value=!0,mt({type:"hot_extral",num:x,extral_num:O}).then(g=>{t.value=g.topics,r.value=g.extral_topics??[],V.value=!0,c.value=!1}).catch(g=>{c.value=!1})},F=g=>g>=1e3?(g/1e3).toFixed(1)+"k":g,H=()=>{m.push({name:"home",query:{q:i.value}})},V=J({get:()=>n.state.userLogined&&r.value.length!==0,set:g=>{}});Q(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(g,z)=>{(g.refreshTopicFollow!==z.refreshTopicFollow||g.userLogined)&&L(),n.state.userInfo.is_admin&&l()});const p=new IntersectionObserver(g=>{g.forEach(z=>{z.isIntersecting&&l()})},{root:null,rootMargin:"0px",threshold:1});return Z(()=>{_.value&&p.observe(_.value),L()}),(g,z)=>{const ye=W,be=he,ee=me("router-link"),te=qe,j=fe,ke=_e;return f(n).state.collapsedRight?M("",!0):(w(),E("div",ht,[y("div",gt,[s(be,{round:"",clearable:"",placeholder:"搜一搜...",value:i.value,"onUpdate:value":z[0]||(z[0]=$=>i.value=$),onKeyup:q(N(H,["prevent"]),["enter"])},{prefix:a(()=>[s(ye,{component:f(Ge)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),V.value?(w(),K(j,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(r.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",ft,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(j,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(t.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",vt,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(j,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[y("div",wt,"© "+A(f(u)),1),y("div",null,[s(ke,null,{default:a(()=>[y("a",{href:f(h),target:"_blank",class:"hash-link"},A(f(I)),9,yt),y("a",{href:f(C),target:"_blank",class:"hash-link"},A(f(R)),9,bt)]),_:1})])]),_:1}),f(n).state.userInfo.is_admin?(w(),E("div",{key:1,class:"site-info",ref_key:"userInfoElement",ref:_},[y("span",kt,A(d.value)+" 注册用户,"+A(S.value)+" 人在线,最高在线 "+A(v.value)+" 人,站点上线于 "+A(f(_t)(b.value)),1)],512)):M("",!0)]))}}});const Ot=we(Pt,[["__scopeId","data-v-0a6cd0b6"]]),Lt="/assets/logo-52afee68.png",Tt={class:"sidebar-wrap"},At={class:"logo-wrap"},Et={key:0,class:"user-wrap"},It={class:"user-info"},Rt={class:"nickname"},Ct={class:"nickname-txt"},$t={class:"username"},Mt={class:"user-mini-wrap"},St={key:1,class:"user-wrap"},Ut={key:0,class:"login-only-wrap"},Dt={key:1,class:"login-wrap"},xt=Y({__name:"sidebar",setup(e){const t=B(),r=Ee(),c=pe(),i=k(!1),n=k(r.name||""),m=k(),d="true".toLowerCase()==="true",S="false".toLowerCase()==="true",v="false".toLocaleLowerCase()==="true",b=k("true".toLowerCase()==="true"),_=+"5000";Q(r,()=>{n.value=r.name}),Q(t.state,()=>{t.state.userInfo.id>0?m.value||(de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)}),m.value=setInterval(()=>{de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)})},_)):m.value&&clearInterval(m.value)}),Z(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const u=J(()=>{const l=[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}];return S&&l.push({label:"公告",key:"anouncement",icon:()=>P(Qe),href:"/anouncement"}),l.push({label:"主页",key:"profile",icon:()=>P(Ze),href:"/profile"}),l.push({label:"消息",key:"messages",icon:()=>P(Je),href:"/messages"}),l.push({label:"收藏",key:"collection",icon:()=>P(Xe),href:"/collection"}),d&&l.push({label:"好友",key:"contacts",icon:()=>P(et),href:"/contacts"}),v&&l.push({label:"钱包",key:"wallet",icon:()=>P(tt),href:"/wallet"}),l.push({label:"设置",key:"setting",icon:()=>P(ot),href:"/setting"}),t.state.userInfo.id>0?l:[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}]}),I=l=>"href"in l?P("div",{},l.label):l.label,h=l=>l.key==="messages"?P(Ke,{dot:!0,show:i.value,processing:!0},{default:()=>P(W,{color:l.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:l.icon})}):P(W,null,{default:l.icon}),R=(l,L={})=>{n.value=l,c.push({name:l,query:{t:new Date().getTime()}})},C=()=>{r.path==="/"&&t.commit("refresh"),R("home")},O=l=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",l)},x=()=>{t.commit("userLogout"),t.commit("refresh"),C()};return window.$store=t,window.$message=Ne(),(l,L)=>{const F=Fe,H=Ve,V=ze,p=ge;return w(),E("div",Tt,[y("div",At,[s(F,{class:"logo-img",width:"36",src:f(Lt),"preview-disabled":!0,onClick:C},null,8,["src"])]),s(H,{accordion:!0,"icon-size":24,options:u.value,"render-label":I,"render-icon":h,value:n.value,"onUpdate:value":R},null,8,["options","value"]),f(t).state.userInfo.id>0?(w(),E("div",Et,[s(V,{class:"user-avatar",round:"",size:34,src:f(t).state.userInfo.avatar},null,8,["src"]),y("div",It,[y("div",Rt,[y("span",Ct,A(f(t).state.userInfo.nickname),1),s(p,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:x},{icon:a(()=>[s(f(W),null,{default:a(()=>[s(f(ue))]),_:1})]),_:1})]),y("div",$t,"@"+A(f(t).state.userInfo.username),1)]),y("div",Mt,[s(p,{class:"logout",quaternary:"",circle:"",onClick:x},{icon:a(()=>[s(f(W),{size:24},{default:a(()=>[s(f(ue))]),_:1})]),_:1})])])):(w(),E("div",St,[b.value?M("",!0):(w(),E("div",Ut,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[0]||(L[0]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1})])),b.value?(w(),E("div",Dt,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[1]||(L[1]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1}),s(p,{strong:"",secondary:"",round:"",type:"info",onClick:L[2]||(L[2]=g=>O("signup"))},{default:a(()=>[U(" 注册 ")]),_:1})])):M("",!0)]))])}}});const qt={"has-sider":"",class:"main-wrap",position:"static"},Nt={key:0},Kt={class:"content-wrap"},Ft=Y({__name:"App",setup(e){const t=B(),r=J(()=>t.state.theme==="dark"?We:null);return(c,i)=>{const n=xt,m=me("router-view"),d=Ot,S=dt,v=Ye,b=Be,_=je,u=He;return w(),K(u,{theme:r.value},{default:a(()=>[s(b,null,{default:a(()=>[s(v,null,{default:a(()=>{var I;return[y("div",{class:Oe(["app-container",{dark:((I=r.value)==null?void 0:I.name)==="dark",mobile:!f(t).state.desktopModelShow}])},[y("div",qt,[f(t).state.desktopModelShow?(w(),E("div",Nt,[s(n)])):M("",!0),y("div",Kt,[s(m,{class:"app-wrap"},{default:a(({Component:h})=>[(w(),K(Pe,null,[c.$route.meta.keepAlive?(w(),K(re(h),{key:0})):M("",!0)],1024)),c.$route.meta.keepAlive?M("",!0):(w(),K(re(h),{key:0}))]),_:1})]),s(d)]),s(S)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});Le(Ft).use(ve).use(at).mount("#app");export{ns as $,$o as A,So as B,Mo as C,mt as D,_t as E,ms as F,qo as G,es as H,Wo as I,Fo as J,Ko as K,is as L,No as M,Ho as N,Jo as O,Zo as P,Xo as Q,ds as R,ls as S,us as T,Vo as U,zo as V,xo as W,G as X,os as Y,ss as Z,we as _,as as a,Uo as a0,Qo as a1,jo as a2,Yo as a3,Bo as a4,Go as a5,Do as a6,xt as a7,fo as b,vo as c,io as d,ts as e,cs as f,rs as g,Ao as h,Co as i,Oo as j,Lo as k,Ro as l,Io as m,Eo as n,mo as o,_o as p,wo as q,yo as r,bo as s,To as t,ko as u,Po as v,po as w,ho as x,co as y,go as z}; +import{d as Y,H as k,R as oe,b as Z,e as w,q as K,w as a,j as y,k as s,f as E,A as U,Z as q,y as N,Y as M,bf as f,c as J,E as Q,r as me,F as se,u as ne,x as A,h as P,a5 as Pe,s as re,l as Oe,ag as Le}from"./@vue-a481fc63.js";import{c as Te,a as Ae,u as pe,b as Ee}from"./vue-router-e5a2430e.js";import{c as Ie,u as B}from"./vuex-44de225f.js";import{a as Re}from"./axios-4a70c6fc.js";import{_ as Ce,N as $e,a as _e,b as he,c as Me,d as Se,e as ge,f as Ue,g as De,h as fe,i as xe,j as W,k as qe,u as Ne,l as Ke,m as Fe,n as Ve,o as ze,p as He,q as We,r as Ye,s as Be,t as je}from"./naive-ui-d8de3dda.js";import{h as D}from"./moment-2ab8298d.js";import{S as Ge,M as Qe,L as Ze,C as Je,B as Xe,P as et,W as tt,a as ot,H as ae,b as le,c as ue}from"./@vicons-7a4ef312.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))c(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function r(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function c(i){if(i.ep)return;i.ep=!0;const n=r(i);fetch(i.href,n)}})();const st="modulepreload",nt=function(e){return"/"+e},ie={},T=function(t,r,c){if(!r||r.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(r.map(n=>{if(n=nt(n),n in ie)return;ie[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!c)for(let b=i.length-1;b>=0;b--){const _=i[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":st,m||(v.as="script",v.crossOrigin=""),v.href=n,document.head.appendChild(v),m)return new Promise((b,_)=>{v.addEventListener("load",b),v.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},rt=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>T(()=>import("./Home-0382696a.js"),["assets/Home-0382696a.js","assets/whisper-d959da10.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js","assets/content-2d41ca0a.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/IEnum-5453a777.js","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/@opentiny-d73a2d67.js","assets/vue-1e3b54ec.js","assets/xss-a5544f63.js","assets/cssfilter-af71ba68.js","assets/@opentiny-0f942bd4.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Home-2a6423f9.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"泡泡详情"},component:()=>T(()=>import("./Post-b40cc86e.js"),["assets/Post-b40cc86e.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/IEnum-5453a777.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-2d41ca0a.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vue-router-e5a2430e.js","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/@babel-725317a4.js","assets/whisper-d959da10.js","assets/whisper-61451957.css","assets/copy-to-clipboard-4ef7d3eb.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Post-3a79fbc3.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>T(()=>import("./Topic-5e96d43f.js"),["assets/Topic-5e96d43f.js","assets/@vicons-7a4ef312.js","assets/@vue-a481fc63.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Topic-384e019e.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>T(()=>import("./Anouncement-9133d100.js"),["assets/Anouncement-9133d100.js","assets/post-skeleton-47a1ebec.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>T(()=>import("./Profile-e00fa856.js"),["assets/Profile-e00fa856.js","assets/whisper-d959da10.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js","assets/content-2d41ca0a.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Profile-3ffb7be9.css","assets/vfonts-7afd136d.css"])},{path:"/u",name:"user",meta:{title:"用户详情"},component:()=>T(()=>import("./User-a35461e8.js"),["assets/User-a35461e8.js","assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js","assets/content-2d41ca0a.js","assets/@vue-a481fc63.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/whisper-d959da10.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/User-b21ba7c9.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>T(()=>import("./Messages-c3fa26d0.js"),["assets/Messages-c3fa26d0.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-d959da10.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Messages-3c6066fb.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>T(()=>import("./Collection-2ba2fc81.js"),["assets/Collection-2ba2fc81.js","assets/whisper-d959da10.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js","assets/content-2d41ca0a.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Collection-5c3a44e2.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>T(()=>import("./Contacts-e25841ce.js"),["assets/Contacts-e25841ce.js","assets/whisper-d959da10.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/@vicons-7a4ef312.js","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Contacts-7fa3e0d6.css","assets/vfonts-7afd136d.css"])},{path:"/following",name:"following",meta:{title:"关注"},component:()=>T(()=>import("./Following-0d52a2ca.js"),["assets/Following-0d52a2ca.js","assets/whisper-d959da10.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Following-6aa7d36c.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>T(()=>import("./Wallet-a477a3e7.js"),["assets/Wallet-a477a3e7.js","assets/post-skeleton-47a1ebec.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>T(()=>import("./Setting-22e8a111.js"),["assets/Setting-22e8a111.js","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>T(()=>import("./404-d844c63e.js"),["assets/404-d844c63e.js","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],ve=Te({history:Ae(),routes:rt});ve.beforeEach((e,t,r)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,r()});const at=Ie({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:"",created_on:0,follows:0,followings:0,is_admin:!1}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:"",created_on:0,follows:0,followings:0,is_admin:!1},e.userLogined=!1}},actions:{},modules:{}}),X=Re.create({baseURL:"",timeout:3e4});X.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));X.interceptors.response.use(e=>{const{data:t={},code:r=0}=(e==null?void 0:e.data)||{};if(+r==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var r;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((r=t==null?void 0:t.data)==null?void 0:r.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return X(e)}const ce=e=>o({method:"post",url:"/v1/auth/login",data:e}),lt=e=>o({method:"post",url:"/v1/auth/register",data:e}),G=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),ut={class:"auth-wrap"},it={key:0},ct=Y({__name:"auth",setup(e){const t=k("true".toLowerCase()==="true"),r=B(),c=k(!1),i=k(),n=oe({username:"",password:""}),m=k(),d=oe({username:"",password:"",repassword:""}),S={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},v=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=i.value)==null||u.validate(I=>{I||(c.value=!0,ce({username:n.username,password:n.password}).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("登录成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),r.commit("refresh"),n.username="",n.password=""}).catch(h=>{c.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(I=>{I||(c.value=!0,lt({username:d.username,password:d.password}).then(h=>ce({username:d.username,password:d.password})).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("注册成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(h=>{c.value=!1}))})};return Z(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?G(_).then(u=>{r.commit("updateUserinfo",u),r.commit("triggerAuth",!1)}).catch(u=>{r.commit("userLogout")}):r.commit("userLogout")}),(_,u)=>{const I=Ce,h=$e,R=_e,C=he,O=Me,x=Se,l=ge,L=Ue,F=De,H=fe,V=xe;return w(),K(V,{show:f(r).state.authModalShow,"onUpdate:show":u[7]||(u[7]=p=>f(r).state.authModalShow=p),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[y("div",ut,[s(H,{bordered:!1},{default:a(()=>[t.value?M("",!0):(w(),E("div",it,[s(R,{justify:"center"},{default:a(()=>[s(h,null,{default:a(()=>[s(I,{type:"success"},{default:a(()=>[U("账号登录")]),_:1})]),_:1})]),_:1}),s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[0]||(u[0]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])])),t.value?(w(),K(F,{key:1,"default-value":f(r).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(L,{name:"signin",tab:"登录"},{default:a(()=>[s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[2]||(u[2]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(L,{name:"signup",tab:"注册"},{default:a(()=>[s(x,{ref_key:"registerRef",ref:m,model:d,rules:S},{default:a(()=>[s(O,{label:"用户名",path:"username"},{default:a(()=>[s(C,{value:d.username,"onUpdate:value":u[4]||(u[4]=p=>d.username=p),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=p=>d.password=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"重复密码",path:"repassword"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=p=>d.repassword=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:b},{default:a(()=>[U(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const we=(e,t)=>{const r=e.__vccOpts||e;for(const[c,i]of t)r[c]=i;return r},dt=we(ct,[["__scopeId","data-v-053dfa44"]]),io=e=>o({method:"get",url:"/v1/posts",params:e}),mt=e=>o({method:"get",url:"/v1/tags",params:e}),co=e=>o({method:"get",url:"/v1/post",params:e}),mo=e=>o({method:"get",url:"/v1/post/star",params:e}),po=e=>o({method:"post",url:"/v1/post/star",data:e}),_o=e=>o({method:"get",url:"/v1/post/collection",params:e}),ho=e=>o({method:"post",url:"/v1/post/collection",data:e}),go=e=>o({method:"get",url:"/v1/post/comments",params:e}),fo=e=>o({method:"get",url:"/v1/user/contacts",params:e}),vo=e=>o({method:"post",url:"/v1/post",data:e}),wo=e=>o({method:"delete",url:"/v1/post",data:e}),yo=e=>o({method:"post",url:"/v1/post/lock",data:e}),bo=e=>o({method:"post",url:"/v1/post/stick",data:e}),ko=e=>o({method:"post",url:"/v1/post/highlight",data:e}),Po=e=>o({method:"post",url:"/v1/post/visibility",data:e}),Oo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),Lo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),To=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),Ao=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),Eo=e=>o({method:"post",url:"/v1/post/comment",data:e}),Io=e=>o({method:"delete",url:"/v1/post/comment",data:e}),Ro=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),Co=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),$o=e=>o({method:"post",url:"/v1/topic/stick",data:e}),Mo=e=>o({method:"post",url:"/v1/topic/follow",data:e}),So=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),Uo=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Do=e=>o({method:"post",url:"/v1/captcha",data:e}),xo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),qo=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),No=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ko=e=>o({method:"post",url:"/v1/user/follow",data:e}),Fo=e=>o({method:"post",url:"/v1/user/unfollow",data:e}),Vo=e=>o({method:"get",url:"/v1/user/follows",params:e}),zo=e=>o({method:"get",url:"/v1/user/followings",params:e}),Ho=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Wo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Yo=e=>o({method:"post",url:"/v1/user/phone",data:e}),Bo=e=>o({method:"post",url:"/v1/user/activate",data:e}),jo=e=>o({method:"post",url:"/v1/user/password",data:e}),Go=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Qo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),de=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Zo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Jo=e=>o({method:"post",url:"/v1/user/message/read",data:e}),Xo=e=>o({method:"get",url:"/v1/user/collections",params:e}),es=e=>o({method:"get",url:"/v1/user/profile",params:e}),ts=e=>o({method:"get",url:"/v1/user/posts",params:e}),os=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),ss=e=>o({method:"post",url:"/v1/user/recharge",data:e}),ns=e=>o({method:"get",url:"/v1/user/recharge",params:e}),rs=e=>o({method:"get",url:"/v1/suggest/users",params:e}),as=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),ls=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),us=e=>o({method:"get",url:"/v1/attachment",params:e}),is=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),pt=()=>o({method:"get",url:"/v1/admin/site/status"});D.locale("zh-cn");const _t=e=>D.unix(e).fromNow(),cs=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()},ds=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD"):t.fromNow()},ms=e=>D.unix(e).utc(!0).format("YYYY年MM月"),ht={key:0,class:"rightbar-wrap"},gt={class:"search-wrap"},ft={class:"post-num"},vt={class:"post-num"},wt={class:"copyright"},yt=["href"],bt=["href"],kt={class:"site-info-item"},Pt=Y({__name:"rightbar",setup(e){const t=k([]),r=k([]),c=k(!1),i=k(""),n=B(),m=pe(),d=k(0),S=k(0),v=k(0),b=k(0),_=k(null),u="2023 paopao.info",I="Roc's Me",h="",R="泡泡(PaoPao)开源社区",C="https://www.paopao.info",O=+"6",x=+"12",l=()=>{pt().then(g=>{d.value=g.register_user_count,S.value=g.online_user_count,v.value=g.history_max_online,b.value=g.server_up_time}).catch(g=>{}),p.disconnect()},L=()=>{c.value=!0,mt({type:"hot_extral",num:x,extral_num:O}).then(g=>{t.value=g.topics,r.value=g.extral_topics??[],V.value=!0,c.value=!1}).catch(g=>{c.value=!1})},F=g=>g>=1e3?(g/1e3).toFixed(1)+"k":g,H=()=>{m.push({name:"home",query:{q:i.value}})},V=J({get:()=>n.state.userLogined&&r.value.length!==0,set:g=>{}});Q(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(g,z)=>{(g.refreshTopicFollow!==z.refreshTopicFollow||g.userLogined)&&L(),n.state.userInfo.is_admin&&l()});const p=new IntersectionObserver(g=>{g.forEach(z=>{z.isIntersecting&&l()})},{root:null,rootMargin:"0px",threshold:1});return Z(()=>{_.value&&p.observe(_.value),L()}),(g,z)=>{const ye=W,be=he,ee=me("router-link"),te=qe,j=fe,ke=_e;return f(n).state.collapsedRight?M("",!0):(w(),E("div",ht,[y("div",gt,[s(be,{round:"",clearable:"",placeholder:"搜一搜...",value:i.value,"onUpdate:value":z[0]||(z[0]=$=>i.value=$),onKeyup:q(N(H,["prevent"]),["enter"])},{prefix:a(()=>[s(ye,{component:f(Ge)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),V.value?(w(),K(j,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(r.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",ft,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(j,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(t.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",vt,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(j,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[y("div",wt,"© "+A(f(u)),1),y("div",null,[s(ke,null,{default:a(()=>[y("a",{href:f(h),target:"_blank",class:"hash-link"},A(f(I)),9,yt),y("a",{href:f(C),target:"_blank",class:"hash-link"},A(f(R)),9,bt)]),_:1})])]),_:1}),f(n).state.userInfo.is_admin?(w(),E("div",{key:1,class:"site-info",ref_key:"userInfoElement",ref:_},[y("span",kt,A(d.value)+" 注册用户,"+A(S.value)+" 人在线,最高在线 "+A(v.value)+" 人,站点上线于 "+A(f(_t)(b.value)),1)],512)):M("",!0)]))}}});const Ot=we(Pt,[["__scopeId","data-v-0a6cd0b6"]]),Lt="/assets/logo-52afee68.png",Tt={class:"sidebar-wrap"},At={class:"logo-wrap"},Et={key:0,class:"user-wrap"},It={class:"user-info"},Rt={class:"nickname"},Ct={class:"nickname-txt"},$t={class:"username"},Mt={class:"user-mini-wrap"},St={key:1,class:"user-wrap"},Ut={key:0,class:"login-only-wrap"},Dt={key:1,class:"login-wrap"},xt=Y({__name:"sidebar",setup(e){const t=B(),r=Ee(),c=pe(),i=k(!1),n=k(r.name||""),m=k(),d="true".toLowerCase()==="true",S="false".toLowerCase()==="true",v="false".toLocaleLowerCase()==="true",b=k("true".toLowerCase()==="true"),_=+"5000";Q(r,()=>{n.value=r.name}),Q(t.state,()=>{t.state.userInfo.id>0?m.value||(de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)}),m.value=setInterval(()=>{de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)})},_)):m.value&&clearInterval(m.value)}),Z(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const u=J(()=>{const l=[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}];return S&&l.push({label:"公告",key:"anouncement",icon:()=>P(Qe),href:"/anouncement"}),l.push({label:"主页",key:"profile",icon:()=>P(Ze),href:"/profile"}),l.push({label:"消息",key:"messages",icon:()=>P(Je),href:"/messages"}),l.push({label:"收藏",key:"collection",icon:()=>P(Xe),href:"/collection"}),d&&l.push({label:"好友",key:"contacts",icon:()=>P(et),href:"/contacts"}),v&&l.push({label:"钱包",key:"wallet",icon:()=>P(tt),href:"/wallet"}),l.push({label:"设置",key:"setting",icon:()=>P(ot),href:"/setting"}),t.state.userInfo.id>0?l:[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}]}),I=l=>"href"in l?P("div",{},l.label):l.label,h=l=>l.key==="messages"?P(Ke,{dot:!0,show:i.value,processing:!0},{default:()=>P(W,{color:l.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:l.icon})}):P(W,null,{default:l.icon}),R=(l,L={})=>{n.value=l,c.push({name:l,query:{t:new Date().getTime()}})},C=()=>{r.path==="/"&&t.commit("refresh"),R("home")},O=l=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",l)},x=()=>{t.commit("userLogout"),t.commit("refresh"),C()};return window.$store=t,window.$message=Ne(),(l,L)=>{const F=Fe,H=Ve,V=ze,p=ge;return w(),E("div",Tt,[y("div",At,[s(F,{class:"logo-img",width:"36",src:f(Lt),"preview-disabled":!0,onClick:C},null,8,["src"])]),s(H,{accordion:!0,"icon-size":24,options:u.value,"render-label":I,"render-icon":h,value:n.value,"onUpdate:value":R},null,8,["options","value"]),f(t).state.userInfo.id>0?(w(),E("div",Et,[s(V,{class:"user-avatar",round:"",size:34,src:f(t).state.userInfo.avatar},null,8,["src"]),y("div",It,[y("div",Rt,[y("span",Ct,A(f(t).state.userInfo.nickname),1),s(p,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:x},{icon:a(()=>[s(f(W),null,{default:a(()=>[s(f(ue))]),_:1})]),_:1})]),y("div",$t,"@"+A(f(t).state.userInfo.username),1)]),y("div",Mt,[s(p,{class:"logout",quaternary:"",circle:"",onClick:x},{icon:a(()=>[s(f(W),{size:24},{default:a(()=>[s(f(ue))]),_:1})]),_:1})])])):(w(),E("div",St,[b.value?M("",!0):(w(),E("div",Ut,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[0]||(L[0]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1})])),b.value?(w(),E("div",Dt,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[1]||(L[1]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1}),s(p,{strong:"",secondary:"",round:"",type:"info",onClick:L[2]||(L[2]=g=>O("signup"))},{default:a(()=>[U(" 注册 ")]),_:1})])):M("",!0)]))])}}});const qt={"has-sider":"",class:"main-wrap",position:"static"},Nt={key:0},Kt={class:"content-wrap"},Ft=Y({__name:"App",setup(e){const t=B(),r=J(()=>t.state.theme==="dark"?We:null);return(c,i)=>{const n=xt,m=me("router-view"),d=Ot,S=dt,v=Ye,b=Be,_=je,u=He;return w(),K(u,{theme:r.value},{default:a(()=>[s(b,null,{default:a(()=>[s(v,null,{default:a(()=>{var I;return[y("div",{class:Oe(["app-container",{dark:((I=r.value)==null?void 0:I.name)==="dark",mobile:!f(t).state.desktopModelShow}])},[y("div",qt,[f(t).state.desktopModelShow?(w(),E("div",Nt,[s(n)])):M("",!0),y("div",Kt,[s(m,{class:"app-wrap"},{default:a(({Component:h})=>[(w(),K(Pe,null,[c.$route.meta.keepAlive?(w(),K(re(h),{key:0})):M("",!0)],1024)),c.$route.meta.keepAlive?M("",!0):(w(),K(re(h),{key:0}))]),_:1})]),s(d)]),s(S)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});Le(Ft).use(ve).use(at).mount("#app");export{ns as $,$o as A,So as B,Mo as C,mt as D,_t as E,ms as F,qo as G,es as H,Wo as I,Fo as J,Ko as K,is as L,No as M,Ho as N,Jo as O,Zo as P,Xo as Q,ds as R,ls as S,us as T,Vo as U,zo as V,xo as W,G as X,os as Y,ss as Z,we as _,as as a,Uo as a0,Qo as a1,jo as a2,Yo as a3,Bo as a4,Go as a5,Do as a6,xt as a7,fo as b,vo as c,io as d,ts as e,cs as f,rs as g,Ao as h,Co as i,Oo as j,Lo as k,Ro as l,Io as m,Eo as n,mo as o,_o as p,wo as q,yo as r,bo as s,To as t,ko as u,Po as v,po as w,ho as x,co as y,go as z}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js similarity index 96% rename from web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js rename to web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js index 2d5049da..0622e32b 100644 --- a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-31fef671.js +++ b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js @@ -1 +1 @@ -import{a7 as A}from"./index-fcb35ad4.js";import{u as B}from"./vuex-44de225f.js";import{u as E}from"./vue-router-e5a2430e.js";import{j as z}from"./vooks-6d99783e.js";import{Z as C,_ as N,$ as P,a0 as D}from"./@vicons-7a4ef312.js";import{u as R,a3 as $,a4 as x,j as H,e as I,a5 as V,h as j}from"./naive-ui-d8de3dda.js";import{d as q,H as h,b as F,e as n,f,bf as a,k as e,w as t,Y as c,j as L,q as _,A as U,x as Y,F as Z}from"./@vue-a481fc63.js";const G={key:0},J={class:"navbar"},ae=q({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(w){const i=w,o=B(),m=E(),l=h(!1),g=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),o.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),o.commit("triggerTheme","light"))},k=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return F(()=>{localStorage.getItem("PAOPAO_THEME")||u(z()==="dark"),o.state.desktopModelShow||(window.$store=o,window.$message=R())}),(s,d)=>{const b=A,y=$,M=x,r=H,p=I,O=V,S=j;return n(),f(Z,null,[a(o).state.drawerModelShow?(n(),f("div",G,[e(M,{show:l.value,"onUpdate:show":d[0]||(d[0]=T=>l.value=T),width:212,placement:g.value,resizable:""},{default:t(()=>[e(y,null,{default:t(()=>[e(b)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(S,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[L("div",J,[a(o).state.drawerModelShow&&!s.back?(n(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(C))]),_:1})]),_:1})):c("",!0),s.back?(n(),_(p,{key:1,class:"back-btn",onClick:k,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(N))]),_:1})]),_:1})):c("",!0),U(" "+Y(i.title)+" ",1),i.theme?(n(),_(O,{key:2,value:a(o).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:a(P)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:a(D)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{ae as _}; +import{a7 as A}from"./index-5faa66a7.js";import{u as B}from"./vuex-44de225f.js";import{u as E}from"./vue-router-e5a2430e.js";import{j as z}from"./vooks-6d99783e.js";import{Z as C,_ as N,$ as P,a0 as D}from"./@vicons-7a4ef312.js";import{u as R,a3 as $,a4 as x,j as H,e as I,a5 as V,h as j}from"./naive-ui-d8de3dda.js";import{d as q,H as h,b as F,e as n,f,bf as a,k as e,w as t,Y as c,j as L,q as _,A as U,x as Y,F as Z}from"./@vue-a481fc63.js";const G={key:0},J={class:"navbar"},ae=q({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(w){const i=w,o=B(),m=E(),l=h(!1),g=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),o.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),o.commit("triggerTheme","light"))},k=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return F(()=>{localStorage.getItem("PAOPAO_THEME")||u(z()==="dark"),o.state.desktopModelShow||(window.$store=o,window.$message=R())}),(s,d)=>{const b=A,y=$,M=x,r=H,p=I,O=V,S=j;return n(),f(Z,null,[a(o).state.drawerModelShow?(n(),f("div",G,[e(M,{show:l.value,"onUpdate:show":d[0]||(d[0]=T=>l.value=T),width:212,placement:g.value,resizable:""},{default:t(()=>[e(y,null,{default:t(()=>[e(b)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(S,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[L("div",J,[a(o).state.drawerModelShow&&!s.back?(n(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(C))]),_:1})]),_:1})):c("",!0),s.back?(n(),_(p,{key:1,class:"back-btn",onClick:k,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(N))]),_:1})]),_:1})):c("",!0),U(" "+Y(i.title)+" ",1),i.theme?(n(),_(O,{key:2,value:a(o).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:a(P)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:a(D)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{ae as _}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js similarity index 98% rename from web/dist/assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js rename to web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js index eeff6abd..f9737587 100644 --- a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-cfdf25e9.js +++ b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js @@ -1 +1 @@ -import{p as R,a as V,_ as E,b as Y,c as G}from"./content-d73d8961.js";import{d as J,c as x,r as K,e as a,f,k as n,al as Q,w as o,j as i,F as U,u as W,y as m,bf as l,A as r,x as p,q as u,Y as c,h as C}from"./@vue-a481fc63.js";import{u as X}from"./vuex-44de225f.js";import{u as Z}from"./vue-router-e5a2430e.js";import{R as ee,w as te,x as se}from"./index-fcb35ad4.js";import{c as oe}from"./copy-to-clipboard-4ef7d3eb.js";import{i as ne,j as ae,l as le,m as ie,p as ue,o as ce}from"./@vicons-7a4ef312.js";import{j as v,o as re,M as pe,e as _e,O as me,a as ve,L as de}from"./naive-ui-d8de3dda.js";const he={class:"post-item"},ge={class:"nickname-wrap"},ke={class:"username-wrap"},ye={class:"timestamp-mobile"},fe={class:"item-header-extra"},we=["innerHTML"],be=["onClick"],xe=["onClick"],Ne=J({__name:"mobile-post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",he,[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",ge,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",ke," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0),i("div",null,[i("span",ye,p(l(ee)(e.value.created_on))+" "+p(e.value.ip_loc),1)])]),"header-extra":o(()=>[i("div",fe,[n(D,{placement:"bottom-end",trigger:"click",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,be),i("div",{class:"opt-item",onClick:s[3]||(s[3]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,xe)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[i("div",{onClick:s[2]||(s[2]=h=>k(e.value.id))},[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,we))),128))])]),key:"0"}:void 0]),1024)])}}});const Ce={class:"nickname-wrap"},$e={class:"username-wrap"},ze={class:"item-header-extra"},Te={class:"timestamp"},qe=["innerHTML"],Pe=["onClick"],Le=["onClick"],Ae=J({__name:"post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",{class:"post-item",onClick:s[3]||(s[3]=h=>k(e.value.id))},[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",Ce,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",$e," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":o(()=>[i("div",ze,[i("span",Te,p(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+p(l(ee)(e.value.created_on)),1),n(D,{placement:"bottom-end",trigger:"hover",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item hover",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,Pe),i("div",{class:"opt-item hover",onClick:s[2]||(s[2]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item hover",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,Le)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text hover",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,qe))),128))]),key:"0"}:void 0]),1024)])}}});export{Ae as _,Ne as a}; +import{p as R,a as V,_ as E,b as Y,c as G}from"./content-2d41ca0a.js";import{d as J,c as x,r as K,e as a,f,k as n,al as Q,w as o,j as i,F as U,u as W,y as m,bf as l,A as r,x as p,q as u,Y as c,h as C}from"./@vue-a481fc63.js";import{u as X}from"./vuex-44de225f.js";import{u as Z}from"./vue-router-e5a2430e.js";import{R as ee,w as te,x as se}from"./index-5faa66a7.js";import{c as oe}from"./copy-to-clipboard-4ef7d3eb.js";import{i as ne,j as ae,l as le,m as ie,p as ue,o as ce}from"./@vicons-7a4ef312.js";import{j as v,o as re,M as pe,e as _e,O as me,a as ve,L as de}from"./naive-ui-d8de3dda.js";const he={class:"post-item"},ge={class:"nickname-wrap"},ke={class:"username-wrap"},ye={class:"timestamp-mobile"},fe={class:"item-header-extra"},we=["innerHTML"],be=["onClick"],xe=["onClick"],Ne=J({__name:"mobile-post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",he,[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",ge,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",ke," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0),i("div",null,[i("span",ye,p(l(ee)(e.value.created_on))+" "+p(e.value.ip_loc),1)])]),"header-extra":o(()=>[i("div",fe,[n(D,{placement:"bottom-end",trigger:"click",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,be),i("div",{class:"opt-item",onClick:s[3]||(s[3]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,xe)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[i("div",{onClick:s[2]||(s[2]=h=>k(e.value.id))},[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,we))),128))])]),key:"0"}:void 0]),1024)])}}});const Ce={class:"nickname-wrap"},$e={class:"username-wrap"},ze={class:"item-header-extra"},Te={class:"timestamp"},qe=["innerHTML"],Pe=["onClick"],Le=["onClick"],Ae=J({__name:"post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",{class:"post-item",onClick:s[3]||(s[3]=h=>k(e.value.id))},[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",Ce,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",$e," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":o(()=>[i("div",ze,[i("span",Te,p(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+p(l(ee)(e.value.created_on)),1),n(D,{placement:"bottom-end",trigger:"hover",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item hover",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,Pe),i("div",{class:"opt-item hover",onClick:s[2]||(s[2]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item hover",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,Le)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text hover",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,qe))),128))]),key:"0"}:void 0]),1024)])}}});export{Ae as _,Ne as a}; diff --git a/web/dist/assets/post-skeleton-f060289d.js b/web/dist/assets/post-skeleton-47a1ebec.js similarity index 88% rename from web/dist/assets/post-skeleton-f060289d.js rename to web/dist/assets/post-skeleton-47a1ebec.js index e10891dd..10635ed5 100644 --- a/web/dist/assets/post-skeleton-f060289d.js +++ b/web/dist/assets/post-skeleton-47a1ebec.js @@ -1 +1 @@ -import{U as r}from"./naive-ui-d8de3dda.js";import{d as c,e as s,f as n,u as p,j as o,k as t,F as l}from"./@vue-a481fc63.js";import{_ as i}from"./index-fcb35ad4.js";const m={class:"user"},u={class:"content"},d=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",u,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(d,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; +import{U as r}from"./naive-ui-d8de3dda.js";import{d as c,e as s,f as n,u as p,j as o,k as t,F as l}from"./@vue-a481fc63.js";import{_ as i}from"./index-5faa66a7.js";const m={class:"user"},u={class:"content"},d=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",u,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(d,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/assets/whisper-150920d0.js b/web/dist/assets/whisper-d959da10.js similarity index 95% rename from web/dist/assets/whisper-150920d0.js rename to web/dist/assets/whisper-d959da10.js index 5fb8f548..0dd00b98 100644 --- a/web/dist/assets/whisper-150920d0.js +++ b/web/dist/assets/whisper-d959da10.js @@ -1 +1 @@ -import{W as b,_ as k}from"./index-fcb35ad4.js";import{R as B,H as C,S as N,b as R,e as U,i as V}from"./naive-ui-d8de3dda.js";import{d as W,H as p,e as $,q as z,w as s,j as a,k as n,A as _,x as i}from"./@vue-a481fc63.js";const H={class:"whisper-wrap"},S={class:"whisper-line"},j={class:"whisper-line send-wrap"},q=W({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(r,{emit:u}){const d=r,o=p(""),t=p(!1),c=()=>{u("success")},m=()=>{t.value=!0,b({user_id:d.user.id,content:o.value}).then(e=>{window.$message.success("发送成功"),t.value=!1,o.value="",c()}).catch(e=>{t.value=!1})};return(e,l)=>{const h=B,w=C,f=N,v=R,g=U,y=V;return $(),z(y,{show:e.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:s(()=>[a("div",H,[n(f,{"show-icon":!1},{default:s(()=>[_(" 即将发送私信给: "),n(w,{style:{"max-width":"100%"}},{default:s(()=>[n(h,{type:"success"},{default:s(()=>[_(i(e.user.nickname)+"@"+i(e.user.username),1)]),_:1})]),_:1})]),_:1}),a("div",S,[n(v,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":l[0]||(l[0]=x=>o.value=x),maxlength:"200","show-count":""},null,8,["value"])]),a("div",j,[n(g,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:m},{default:s(()=>[_(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const M=k(q,[["__scopeId","data-v-0cbfe47c"]]);export{M as _}; +import{W as b,_ as k}from"./index-5faa66a7.js";import{R as B,H as C,S as N,b as R,e as U,i as V}from"./naive-ui-d8de3dda.js";import{d as W,H as p,e as $,q as z,w as s,j as a,k as n,A as _,x as i}from"./@vue-a481fc63.js";const H={class:"whisper-wrap"},S={class:"whisper-line"},j={class:"whisper-line send-wrap"},q=W({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(r,{emit:u}){const d=r,o=p(""),t=p(!1),c=()=>{u("success")},m=()=>{t.value=!0,b({user_id:d.user.id,content:o.value}).then(e=>{window.$message.success("发送成功"),t.value=!1,o.value="",c()}).catch(e=>{t.value=!1})};return(e,l)=>{const h=B,w=C,f=N,v=R,g=U,y=V;return $(),z(y,{show:e.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:s(()=>[a("div",H,[n(f,{"show-icon":!1},{default:s(()=>[_(" 即将发送私信给: "),n(w,{style:{"max-width":"100%"}},{default:s(()=>[n(h,{type:"success"},{default:s(()=>[_(i(e.user.nickname)+"@"+i(e.user.username),1)]),_:1})]),_:1})]),_:1}),a("div",S,[n(v,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":l[0]||(l[0]=x=>o.value=x),maxlength:"200","show-count":""},null,8,["value"])]),a("div",j,[n(g,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:m},{default:s(()=>[_(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const M=k(q,[["__scopeId","data-v-0cbfe47c"]]);export{M as _}; diff --git a/web/dist/index.html b/web/dist/index.html index 4d1e2e78..445eddf0 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -8,7 +8,7 @@ 泡泡 - + diff --git a/web/src/components/post-detail.vue b/web/src/components/post-detail.vue index 75b599b7..7cdcea1a 100644 --- a/web/src/components/post-detail.vue +++ b/web/src/components/post-detail.vue @@ -604,16 +604,11 @@ const execHighlightAction = () => { }); }; const execVisibilityAction = () => { - // TODO: 暂时following等价于public - let fixedVisit = tempVisibility.value - if (fixedVisit == 3) { - fixedVisit = 0 - } visibilityPost({ id: post.value.id, - visibility: fixedVisit + visibility: tempVisibility.value }) - .then((res) => { + .then((_res) => { emit('reload'); window.$message.success('修改可见性成功'); }) diff --git a/web/src/types/NetParams.d.ts b/web/src/types/NetParams.d.ts index e143fd02..6c473f28 100644 --- a/web/src/types/NetParams.d.ts +++ b/web/src/types/NetParams.d.ts @@ -152,6 +152,7 @@ declare module NetParams { interface PostGetPosts { query: string | null; type: string; + style: "newest" | "hots" | "following" | "search"; page: number; page_size: number; } diff --git a/web/src/views/Home.vue b/web/src/views/Home.vue index a1d4c963..85c87a1c 100644 --- a/web/src/views/Home.vue +++ b/web/src/views/Home.vue @@ -168,16 +168,14 @@ const handleBarClick = (data: Item.SlideBarItem, index: number) => { } switch (data.style) { case 1: - loadPosts(); + loadPosts("newest"); break; case 2: - // todo: add some other logic - loadPosts(); + loadPosts("hots"); break; case 3: - // todo: add some other logic route.query.q=null - loadPosts(); + loadPosts("following"); break; case 21: targetUsername.value = data.username; @@ -220,11 +218,12 @@ const loadContacts = () => { }); }; -const loadPosts = () => { +const loadPosts = (style : "newest" | "hots" | "following" | "search") => { loading.value = true; getPosts({ query: route.query.q ? decodeURIComponent(route.query.q as string) : null, type: route.query.t as string, + style: style, page: page.value, page_size: pageSize.value, }) @@ -317,19 +316,17 @@ const onPostSuccess = (post: Item.PostProps) => { const loadMorePosts = () => { switch (targetStyle.value) { case 1: - loadPosts(); + loadPosts("newest"); break; case 2: - // todo: add some other logic - loadPosts(); + loadPosts("hots"); break; case 3: - // todo: add some other logic - loadPosts(); + loadPosts("following"); break; case 21: if (route.query.q) { - loadPosts(); + loadPosts("search"); } else { loadUserPosts(); } @@ -352,7 +349,7 @@ const nextPage = () => { onMounted(() => { reset(); loadContacts() - loadPosts(); + loadPosts("newest"); }); watch( diff --git a/web/src/views/Post.vue b/web/src/views/Post.vue index 1fcc1fbc..4a25492f 100644 --- a/web/src/views/Post.vue +++ b/web/src/views/Post.vue @@ -121,7 +121,6 @@ const loadDefaultComments = ($state: any) => { if (defaultNoMore.value) { return } - getPostComments({ id: post.value.id as number, sort_strategy: 'default', From 7c6cb0a463f33df4ba64ca0c8aba644526ba42bd Mon Sep 17 00:00:00 2001 From: Michael Li Date: Sun, 17 Sep 2023 22:30:09 +0800 Subject: [PATCH 13/26] fixed sqlite3 sql migration script error and optimize following tweets order to DESC --- internal/dao/jinzhu/tweets.go | 2 +- .../sqlite3/0011_home_timeline.down.sql | 4 ++-- .../sqlite3/0011_home_timeline.up.sql | 18 +++++++++--------- scripts/paopao-sqlite3.sql | 14 +++++++------- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/internal/dao/jinzhu/tweets.go b/internal/dao/jinzhu/tweets.go index b0db4b7e..c06f388d 100644 --- a/internal/dao/jinzhu/tweets.go +++ b/internal/dao/jinzhu/tweets.go @@ -489,7 +489,7 @@ func (s *tweetSrv) ListFollowingTweets(userId int64, limit, offset int) (res []* if offset >= 0 && limit > 0 { db = db.Offset(offset).Limit(limit) } - if err = db.Find(&res).Error; err != nil { + if err = db.Order("is_top DESC, latest_replied_on DESC").Find(&res).Error; err != nil { return } return diff --git a/scripts/migration/sqlite3/0011_home_timeline.down.sql b/scripts/migration/sqlite3/0011_home_timeline.down.sql index b914a617..f48b9804 100644 --- a/scripts/migration/sqlite3/0011_home_timeline.down.sql +++ b/scripts/migration/sqlite3/0011_home_timeline.down.sql @@ -2,7 +2,7 @@ DROP TABLE IF EXISTS "p_post_metric"; -- 原来的可见性: 0公开 1私密 2好友可见 3关注可见 -- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 -UPDATE p_post a +UPDATE p_post AS a SET visibility = ( SELECT CASE visibility @@ -13,7 +13,7 @@ SET visibility = ( ELSE 0 END FROM - p_post b + p_post AS b WHERE a.ID = b.ID ); diff --git a/scripts/migration/sqlite3/0011_home_timeline.up.sql b/scripts/migration/sqlite3/0011_home_timeline.up.sql index fad40a55..5aed4970 100644 --- a/scripts/migration/sqlite3/0011_home_timeline.up.sql +++ b/scripts/migration/sqlite3/0011_home_timeline.up.sql @@ -2,13 +2,13 @@ CREATE TABLE "p_post_metric" ( "id" integer NOT NULL, "post_id" integer NOT NULL, "rank_score" integer NOT NULL, - "incentive_score" integer NOT NULL, - "decay_factor" integer NOT NULL, - "motivation_factor" integer NOT NULL, - "is_del" integer NOT NULL, - "created_on" integer NOT NULL, - "modified_on" integer NOT NULL, - "deleted_on" integer NOT NULL, + "incentive_score" integer NOT NULL DEFAULT 0, + "decay_factor" integer NOT NULL DEFAULT 0, + "motivation_factor" integer NOT NULL DEFAULT 0, + "is_del" integer NOT NULL DEFAULT 0, + "created_on" integer NOT NULL DEFAULT 0, + "modified_on" integer NOT NULL DEFAULT 0, + "deleted_on" integer NOT NULL DEFAULT 0, PRIMARY KEY ("id") ); @@ -27,7 +27,7 @@ WHERE is_del=0; -- 原来的可见性: 0公开 1私密 2好友可见 3关注可见 -- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 -UPDATE p_post a +UPDATE p_post AS a SET visibility = ( SELECT CASE visibility @@ -38,7 +38,7 @@ SET visibility = ( ELSE 0 END FROM - p_post b + p_post AS b WHERE a.ID = b.ID ); diff --git a/scripts/paopao-sqlite3.sql b/scripts/paopao-sqlite3.sql index 80f334ef..0c5de46f 100644 --- a/scripts/paopao-sqlite3.sql +++ b/scripts/paopao-sqlite3.sql @@ -221,13 +221,13 @@ CREATE TABLE "p_post_metric" ( "id" integer NOT NULL, "post_id" integer NOT NULL, "rank_score" integer NOT NULL, - "incentive_score" integer NOT NULL, - "decay_factor" integer NOT NULL, - "motivation_factor" integer NOT NULL, - "is_del" integer NOT NULL, - "created_on" integer NOT NULL, - "modified_on" integer NOT NULL, - "deleted_on" integer NOT NULL, + "incentive_score" integer NOT NULL DEFAULT 0, + "decay_factor" integer NOT NULL DEFAULT 0, + "motivation_factor" integer NOT NULL DEFAULT 0, + "is_del" integer NOT NULL DEFAULT 0, + "created_on" integer NOT NULL DEFAULT 0, + "modified_on" integer NOT NULL DEFAULT 0, + "deleted_on" integer NOT NULL DEFAULT 0, PRIMARY KEY ("id") ); From dfdf736b9c5f45523e16c281085649851ef0f996 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Sep 2023 02:03:47 +0000 Subject: [PATCH 14/26] mod: bump github.com/go-resty/resty/v2 from 2.7.0 to 2.8.0 Bumps [github.com/go-resty/resty/v2](https://github.com/go-resty/resty) from 2.7.0 to 2.8.0. - [Release notes](https://github.com/go-resty/resty/releases) - [Commits](https://github.com/go-resty/resty/compare/v2.7.0...v2.8.0) --- updated-dependencies: - dependency-name: github.com/go-resty/resty/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- go.mod | 10 +++++----- go.sum | 39 ++++++++++++++++++++++++++++----------- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/go.mod b/go.mod index b9a10fe5..1d9b9d1e 100644 --- a/go.mod +++ b/go.mod @@ -17,7 +17,7 @@ require ( github.com/getsentry/sentry-go v0.24.0 github.com/gin-contrib/cors v1.4.0 github.com/gin-gonic/gin v1.9.1 - github.com/go-resty/resty/v2 v2.7.0 + github.com/go-resty/resty/v2 v2.8.0 github.com/goccy/go-json v0.10.2 github.com/gofrs/uuid/v5 v5.0.0 github.com/golang-jwt/jwt/v5 v5.0.0 @@ -126,12 +126,12 @@ require ( github.com/valyala/fasthttp v1.40.0 // indirect go.uber.org/atomic v1.9.0 // indirect golang.org/x/arch v0.3.0 // indirect - golang.org/x/crypto v0.12.0 // indirect + golang.org/x/crypto v0.13.0 // indirect golang.org/x/image v0.0.0-20210216034530-4410531fe030 // indirect golang.org/x/mod v0.12.0 // indirect - golang.org/x/net v0.14.0 // indirect - golang.org/x/sys v0.11.0 // indirect - golang.org/x/text v0.12.0 // indirect + golang.org/x/net v0.15.0 // indirect + golang.org/x/sys v0.12.0 // indirect + golang.org/x/text v0.13.0 // indirect golang.org/x/time v0.3.0 // indirect golang.org/x/tools v0.12.0 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect diff --git a/go.sum b/go.sum index 35f7efaf..60ffd56c 100644 --- a/go.sum +++ b/go.sum @@ -518,8 +518,8 @@ github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91 github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos= github.com/go-playground/validator/v10 v10.14.0 h1:vgvQWe3XCz3gIeFDm/HnTIbj6UGmg/+t63MyGU2n5js= github.com/go-playground/validator/v10 v10.14.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU= -github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= -github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I= +github.com/go-resty/resty/v2 v2.8.0 h1:J29d0JFWwSWrDCysnOK/YjsPMLQTx0TvgJEHVGvf2L8= +github.com/go-resty/resty/v2 v2.8.0/go.mod h1:UCui0cMHekLrSntoMyofdSTaPpinlRHFtPpizuyDW2w= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= @@ -1296,6 +1296,7 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= @@ -1391,8 +1392,8 @@ golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5y golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= -golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= +golang.org/x/crypto v0.13.0 h1:mvySKfSWJ+UKUii46M40LOvyWfN0s2U+46/jDd0e6Ck= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1442,6 +1443,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1506,14 +1509,16 @@ golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211029224645-99673261e6eb/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220111093109-d55c255bac03/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= -golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= +golang.org/x/net v0.15.0 h1:ugBLEUaxABaB5AJqW9enI0ACdci2RUd4eP51NTBvuJ8= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/oauth2 v0.0.0-20180227000427-d7d64896b5ff/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -1544,6 +1549,8 @@ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= golang.org/x/sys v0.0.0-20180224232135-f6cff0780e54/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1667,18 +1674,24 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220111092808-5a964db01320/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220317061510-51cd9980dadf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= -golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0 h1:CM0HF96J0hcLAwsHPJZjfdNzs0gftsLfgKt57wWHJ0o= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= +golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1688,8 +1701,10 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= -golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1780,6 +1795,8 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss= golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= From fa337361165755a0d264a7bcdc0e78510034eaf3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Sep 2023 02:03:56 +0000 Subject: [PATCH 15/26] mod: bump github.com/redis/rueidis from 1.0.17 to 1.0.18 Bumps [github.com/redis/rueidis](https://github.com/redis/rueidis) from 1.0.17 to 1.0.18. - [Release notes](https://github.com/redis/rueidis/releases) - [Commits](https://github.com/redis/rueidis/compare/v1.0.17...v1.0.18) --- updated-dependencies: - dependency-name: github.com/redis/rueidis dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b9a10fe5..0ba265c7 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/onsi/ginkgo/v2 v2.12.0 github.com/onsi/gomega v1.27.10 github.com/pyroscope-io/client v0.7.2 - github.com/redis/rueidis v1.0.17 + github.com/redis/rueidis v1.0.18 github.com/robfig/cron/v3 v3.0.1 github.com/sirupsen/logrus v1.9.3 github.com/smartwalle/alipay/v3 v3.2.16 diff --git a/go.sum b/go.sum index 35f7efaf..26892584 100644 --- a/go.sum +++ b/go.sum @@ -1121,8 +1121,8 @@ github.com/pyroscope-io/client v0.7.2 h1:OX2qdUQsS8RSkn/3C8isD7f/P0YiZQlRbAlecAa github.com/pyroscope-io/client v0.7.2/go.mod h1:FEocnjn+Ngzxy6EtU9ZxXWRvQ0+pffkrBxHLnPpxwi8= github.com/pyroscope-io/godeltaprof v0.1.2 h1:MdlEmYELd5w+lvIzmZvXGNMVzW2Qc9jDMuJaPOR75g4= github.com/pyroscope-io/godeltaprof v0.1.2/go.mod h1:psMITXp90+8pFenXkKIpNhrfmI9saQnPbba27VIaiQE= -github.com/redis/rueidis v1.0.17 h1:RyjiBVnPcKxjgiUpkyqbRw/OFJV5vX2bMM/oMPdz8JE= -github.com/redis/rueidis v1.0.17/go.mod h1:8B+r5wdnjwK3lTFml5VtxjzGOQAC+5UmujoD12pDrEo= +github.com/redis/rueidis v1.0.18 h1:yfqQ22QCfIey+w1LHAp006dlJXwATePVUM+1w2ePrIo= +github.com/redis/rueidis v1.0.18/go.mod h1:8B+r5wdnjwK3lTFml5VtxjzGOQAC+5UmujoD12pDrEo= github.com/remyoudompheng/bigfft v0.0.0-20190728182440-6a916e37a237/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo= github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE= From 03e5221da2f66c5871b34c374008cc86479a2015 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 18 Sep 2023 02:04:04 +0000 Subject: [PATCH 16/26] mod: bump google.golang.org/grpc from 1.58.0 to 1.58.1 Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.58.0 to 1.58.1. - [Release notes](https://github.com/grpc/grpc-go/releases) - [Commits](https://github.com/grpc/grpc-go/compare/v1.58.0...v1.58.1) --- updated-dependencies: - dependency-name: google.golang.org/grpc dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b9a10fe5..8611ff70 100644 --- a/go.mod +++ b/go.mod @@ -39,7 +39,7 @@ require ( github.com/tencentyun/cos-go-sdk-v5 v0.7.43 github.com/yinheli/mahonia v0.0.0-20131226213531-0eef680515cc go.uber.org/automaxprocs v1.5.3 - google.golang.org/grpc v1.58.0 + google.golang.org/grpc v1.58.1 google.golang.org/protobuf v1.31.0 gopkg.in/natefinch/lumberjack.v2 v2.2.1 gopkg.in/resty.v1 v1.12.0 diff --git a/go.sum b/go.sum index 35f7efaf..99181875 100644 --- a/go.sum +++ b/go.sum @@ -1943,8 +1943,8 @@ google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9K google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o= -google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= +google.golang.org/grpc v1.58.1 h1:OL+Vz23DTtrrldqHK49FUOPHyY75rvFqJfXC84NYW58= +google.golang.org/grpc v1.58.1/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= From 2a44f94f3e21945a4ee8d554dbad5bb79eddaf9a Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 18 Sep 2023 12:57:16 +0800 Subject: [PATCH 17/26] optimize update/create/delete tweet logic --- internal/core/cache.go | 4 +- internal/core/core.go | 5 +- internal/core/cs/metrics.go | 25 ++++++++ internal/core/metrics.go | 15 +++++ internal/dao/cache/events.go | 96 ++++++++++++++++++++++++++++++ internal/dao/cache/tweets.go | 49 +++++++++++++++ internal/dao/jinzhu/dbr/metrics.go | 32 ++++++++++ internal/dao/jinzhu/jinzhu.go | 35 ++--------- internal/dao/jinzhu/metrics.go | 45 ++++++++++++++ internal/servants/web/events.go | 24 -------- internal/servants/web/loose.go | 4 +- internal/servants/web/priv.go | 2 - 12 files changed, 275 insertions(+), 61 deletions(-) create mode 100644 internal/core/cs/metrics.go create mode 100644 internal/core/metrics.go create mode 100644 internal/dao/cache/events.go create mode 100644 internal/dao/cache/tweets.go create mode 100644 internal/dao/jinzhu/dbr/metrics.go create mode 100644 internal/dao/jinzhu/metrics.go diff --git a/internal/core/cache.go b/internal/core/cache.go index 3fdcf3fb..bff7ca5c 100644 --- a/internal/core/cache.go +++ b/internal/core/cache.go @@ -68,14 +68,14 @@ func NewIndexActionA(act IdxAct, tweet *cs.TweetInfo) *IndexActionA { // CacheIndexService cache index service interface type CacheIndexService interface { - IndexPostsService + // IndexPostsService SendAction(act IdxAct, post *dbr.Post) } // CacheIndexServantA cache index service interface type CacheIndexServantA interface { - IndexPostsServantA + // IndexPostsServantA SendAction(act IdxAct, tweet *cs.TweetInfo) } diff --git a/internal/core/core.go b/internal/core/core.go index 810d1e97..cb56e9d6 100644 --- a/internal/core/core.go +++ b/internal/core/core.go @@ -16,13 +16,16 @@ type DataService interface { TopicService // 广场泡泡服务 - IndexPostsService + // IndexPostsService // 推文服务 TweetService TweetManageService TweetHelpService + // 推文指标服务 + TweetMetricServantA + // 评论服务 CommentService CommentManageService diff --git a/internal/core/cs/metrics.go b/internal/core/cs/metrics.go new file mode 100644 index 00000000..c8347dfa --- /dev/null +++ b/internal/core/cs/metrics.go @@ -0,0 +1,25 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +// Package cs contain core data service interface type +// model define + +package cs + +type TweetMetric struct { + PostId int64 + CommentCount int64 + UpvoteCount int64 + CollectionCount int64 + ShareCount int64 + ThumbdownCount int64 + ThumbupCount int64 +} + +func (m *TweetMetric) RankScore(motivationFactor int) int64 { + if motivationFactor == 0 { + motivationFactor = 1 + } + return (m.CommentCount + m.UpvoteCount*2 + m.CollectionCount*4 + m.ShareCount*8) * int64(motivationFactor) +} diff --git a/internal/core/metrics.go b/internal/core/metrics.go new file mode 100644 index 00000000..790cee74 --- /dev/null +++ b/internal/core/metrics.go @@ -0,0 +1,15 @@ +// Copyright 2022 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package core + +import ( + "github.com/rocboss/paopao-ce/internal/core/cs" +) + +type TweetMetricServantA interface { + UpdateRankScore(metric *cs.TweetMetric) error + AddTweetMetric(postId int64) error + DeleteTweetMetric(postId int64) error +} diff --git a/internal/dao/cache/events.go b/internal/dao/cache/events.go new file mode 100644 index 00000000..4f137200 --- /dev/null +++ b/internal/dao/cache/events.go @@ -0,0 +1,96 @@ +// Copyright 2022 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cache + +import ( + "fmt" + + "github.com/alimy/tryst/event" + "github.com/rocboss/paopao-ce/internal/conf" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" + "github.com/rocboss/paopao-ce/internal/events" +) + +type expireIndexTweetsEvent struct { + event.UnimplementedEvent + tweet *ms.Post + ac core.AppCache + keysPattern []string +} + +type expireHotsTweetsEvent struct { + event.UnimplementedEvent + tweet *ms.Post + ac core.AppCache + keyPattern string +} + +type expireFollowTweetsEvent struct { + event.UnimplementedEvent + tweet *ms.Post + ac core.AppCache + keyPattern string +} + +func onExpireIndexTweetEvent(tweet *ms.Post) { + events.OnEvent(&expireIndexTweetsEvent{ + tweet: tweet, + ac: _appCache, + keysPattern: []string{ + conf.PrefixIdxTweetsNewest + "*", + conf.PrefixIdxTweetsHots + "*", + fmt.Sprintf("%s%d:*", conf.PrefixUserTweets, tweet.UserID), + }, + }) +} + +func onExpireHotsTweetEvent(tweet *ms.Post) { + events.OnEvent(&expireHotsTweetsEvent{ + tweet: tweet, + ac: _appCache, + keyPattern: conf.PrefixHotsTweets + "*", + }) +} + +func onExpireFollowTweetEvent(tweet *ms.Post) { + events.OnEvent(&expireFollowTweetsEvent{ + tweet: tweet, + ac: _appCache, + keyPattern: conf.PrefixFollowingTweets + "*", + }) +} + +func (e *expireIndexTweetsEvent) Name() string { + return "expireIndexTweetsEvent" +} + +func (e *expireIndexTweetsEvent) Action() (err error) { + // logrus.Debug("expireIndexTweetsEvent action running") + for _, pattern := range e.keysPattern { + e.ac.DelAny(pattern) + } + return +} + +func (e *expireHotsTweetsEvent) Name() string { + return "expireHotsTweetsEvent" +} + +func (e *expireHotsTweetsEvent) Action() (err error) { + // logrus.Debug("expireHotsTweetsEvent action running") + e.ac.DelAny(e.keyPattern) + return +} + +func (e *expireFollowTweetsEvent) Name() string { + return "expireFollowTweetsEvent" +} + +func (e *expireFollowTweetsEvent) Action() (err error) { + // logrus.Debug("expireFollowTweetsEvent action running") + e.ac.DelAny(e.keyPattern) + return +} diff --git a/internal/dao/cache/tweets.go b/internal/dao/cache/tweets.go new file mode 100644 index 00000000..ba89021d --- /dev/null +++ b/internal/dao/cache/tweets.go @@ -0,0 +1,49 @@ +// Copyright 2022 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cache + +import ( + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/core/ms" + "github.com/sirupsen/logrus" +) + +type eventCacheIndexSrv struct { + tms core.TweetMetricServantA +} + +func (s *eventCacheIndexSrv) SendAction(act core.IdxAct, post *ms.Post) { + err := error(nil) + switch act { + case core.IdxActUpdatePost: + err = s.tms.UpdateRankScore(&cs.TweetMetric{ + PostId: post.ID, + CommentCount: post.CommentCount, + UpvoteCount: post.UpvoteCount, + CollectionCount: post.CollectionCount, + ShareCount: post.ShareCount, + }) + onExpireIndexTweetEvent(post) + case core.IdxActCreatePost: + err = s.tms.AddTweetMetric(post.ID) + onExpireIndexTweetEvent(post) + case core.IdxActDeletePost: + err = s.tms.DeleteTweetMetric(post.ID) + onExpireIndexTweetEvent(post) + case core.IdxActStickPost, core.IdxActVisiblePost: + onExpireIndexTweetEvent(post) + } + if err != nil { + logrus.Errorf("eventCacheIndexSrv.SendAction(%s) occurs error: %s", act, err) + } +} + +func NewEventCacheIndexSrv(tms core.TweetMetricServantA) core.CacheIndexService { + lazyInitial() + return &eventCacheIndexSrv{ + tms: tms, + } +} diff --git a/internal/dao/jinzhu/dbr/metrics.go b/internal/dao/jinzhu/dbr/metrics.go new file mode 100644 index 00000000..82e105eb --- /dev/null +++ b/internal/dao/jinzhu/dbr/metrics.go @@ -0,0 +1,32 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package dbr + +import ( + "time" + + "gorm.io/gorm" +) + +type PostMetric struct { + *Model + PostId int64 + RankScore int64 + IncentiveScore int + DecayFactor int + MotivationFactor int +} + +func (p *PostMetric) Create(db *gorm.DB) (*PostMetric, error) { + err := db.Create(&p).Error + return p, err +} + +func (p *PostMetric) Delete(db *gorm.DB) error { + return db.Model(p).Where("post_id", p.PostId).Updates(map[string]any{ + "deleted_on": time.Now().Unix(), + "is_del": 1, + }).Error +} diff --git a/internal/dao/jinzhu/jinzhu.go b/internal/dao/jinzhu/jinzhu.go index 5d4f8333..0645bd5b 100644 --- a/internal/dao/jinzhu/jinzhu.go +++ b/internal/dao/jinzhu/jinzhu.go @@ -12,12 +12,10 @@ import ( "sync" "github.com/Masterminds/semver/v3" - "github.com/alimy/tryst/cfg" "github.com/rocboss/paopao-ce/internal/conf" "github.com/rocboss/paopao-ce/internal/core" "github.com/rocboss/paopao-ce/internal/dao/cache" "github.com/rocboss/paopao-ce/internal/dao/security" - "github.com/sirupsen/logrus" ) var ( @@ -31,13 +29,14 @@ var ( ) type dataSrv struct { - core.IndexPostsService + // core.IndexPostsService core.WalletService core.MessageService core.TopicService core.TweetService core.TweetManageService core.TweetHelpService + core.TweetMetricServantA core.CommentService core.CommentManageService core.UserManageService @@ -57,37 +56,13 @@ type webDataSrvA struct { func NewDataService() (core.DataService, core.VersionInfo) { lazyInitial() - var ( - v core.VersionInfo - cis core.CacheIndexService - ) db := conf.MustGormDB() pvs := security.NewPhoneVerifyService() - ams := NewAuthorizationManageService() - ths := newTweetHelpService(db) - ips := newShipIndexService(db, ams, ths) - - // initialize core.CacheIndexService - cfg.On(cfg.Actions{ - "SimpleCacheIndex": func() { - // simpleCache use special post index service - ips = newSimpleIndexPostsService(db, ths) - cis, v = cache.NewSimpleCacheIndexService(ips) - }, - "BigCacheIndex": func() { - cis, v = cache.NewBigCacheIndexService(ips, ams) - }, - "RedisCacheIndex": func() { - cis, v = cache.NewRedisCacheIndexService(ips, ams) - }, - }, func() { - // defualt no cache - cis, v = cache.NewNoneCacheIndexService(ips) - }) - logrus.Infof("use %s as cache index service by version: %s", v.Name(), v.Version()) + tms := NewTweetMetricServentA(db) + cis := cache.NewEventCacheIndexSrv(tms) ds := &dataSrv{ - IndexPostsService: cis, + TweetMetricServantA: tms, WalletService: newWalletService(db), MessageService: newMessageService(db), TopicService: newTopicService(db), diff --git a/internal/dao/jinzhu/metrics.go b/internal/dao/jinzhu/metrics.go new file mode 100644 index 00000000..129439e9 --- /dev/null +++ b/internal/dao/jinzhu/metrics.go @@ -0,0 +1,45 @@ +// Copyright 2022 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package jinzhu + +import ( + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/cs" + "github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr" + "gorm.io/gorm" +) + +type tweetMetricSrvA struct { + db *gorm.DB +} + +func (s *tweetMetricSrvA) UpdateRankScore(metric *cs.TweetMetric) error { + return s.db.Transaction(func(tx *gorm.DB) (err error) { + postMetric := &dbr.PostMetric{} + db := s.db.Model(postMetric).Where("post_id=?", metric.PostId) + if err = db.First(postMetric).Error; err != nil { + return + } + postMetric.RankScore = metric.RankScore(postMetric.MotivationFactor) + err = db.Save(postMetric).Error + return + }) + +} + +func (s *tweetMetricSrvA) AddTweetMetric(postId int64) (err error) { + _, err = (&dbr.PostMetric{}).Create(s.db) + return +} + +func (s *tweetMetricSrvA) DeleteTweetMetric(postId int64) (err error) { + return (&dbr.PostMetric{PostId: postId}).Delete(s.db) +} + +func NewTweetMetricServentA(db *gorm.DB) core.TweetMetricServantA { + return &tweetMetricSrvA{ + db: db, + } +} diff --git a/internal/servants/web/events.go b/internal/servants/web/events.go index fb50e739..f3879d5e 100644 --- a/internal/servants/web/events.go +++ b/internal/servants/web/events.go @@ -14,7 +14,6 @@ import ( "github.com/rocboss/paopao-ce/internal/events" "github.com/rocboss/paopao-ce/internal/model/joint" "github.com/rocboss/paopao-ce/internal/model/web" - "github.com/sirupsen/logrus" ) type cacheUnreadMsgEvent struct { @@ -31,12 +30,6 @@ type createMessageEvent struct { message *ms.Message } -type createTweetEvent struct { - event.UnimplementedEvent - tweet *ms.Post - ac core.AppCache -} - func onCacheUnreadMsgEvent(uid int64) { events.OnEvent(&cacheUnreadMsgEvent{ ds: _ds, @@ -53,13 +46,6 @@ func onCreateMessageEvent(data *ms.Message) { }) } -func onCreateTweetEvent(tweet *ms.Post) { - events.OnEvent(&createTweetEvent{ - ac: _ac, - tweet: tweet, - }) -} - func (e *cacheUnreadMsgEvent) Name() string { return "cacheUnreadMsgEvent" } @@ -100,13 +86,3 @@ func (e *createMessageEvent) Action() (err error) { } return } - -func (e *createTweetEvent) Name() string { - return "createTweetEvent" -} - -func (e *createTweetEvent) Action() (err error) { - // TODO: 过期缓存,重新计算rank等 - logrus.Debug("createTweetEvent post action running") - return -} diff --git a/internal/servants/web/loose.go b/internal/servants/web/loose.go index df74f50c..2ef89d10 100644 --- a/internal/servants/web/loose.go +++ b/internal/servants/web/loose.go @@ -175,10 +175,10 @@ func (s *looseSrv) GetUserTweets(req *web.GetUserTweetsReq) (res *web.GetUserTwe func (s *looseSrv) userTweetsFromCache(req *web.GetUserTweetsReq, user *cs.VistUser) (res *web.GetUserTweetsResp, key string, ok bool) { switch req.Style { case web.UserPostsStylePost, web.UserPostsStyleHighlight, web.UserPostsStyleMedia: - key = fmt.Sprintf("%s%s:%s:%s:%d:%d", s.prefixUserTweets, req.Username, req.Style, user.RelTyp, req.Page, req.PageSize) + key = fmt.Sprintf("%s%d:%s:%s:%d:%d", s.prefixUserTweets, req.User.ID, req.Style, user.RelTyp, req.Page, req.PageSize) default: visitUserName := lets.If(user.RelTyp != cs.RelationGuest, user.Username, "_") - key = fmt.Sprintf("%s%s:%s:%s:%d:%d", s.prefixUserTweets, req.Username, req.Style, visitUserName, req.Page, req.PageSize) + key = fmt.Sprintf("%s%d:%s:%s:%d:%d", s.prefixUserTweets, req.User.ID, req.Style, visitUserName, req.Page, req.PageSize) } if data, err := s.ac.Get(key); err == nil { ok, res = true, &web.GetUserTweetsResp{ diff --git a/internal/servants/web/priv.go b/internal/servants/web/priv.go index 72e3db55..15083388 100644 --- a/internal/servants/web/priv.go +++ b/internal/servants/web/priv.go @@ -309,8 +309,6 @@ func (s *privSrv) CreateTweet(req *web.CreateTweetReq) (_ *web.CreateTweetResp, logrus.Infof("Ds.RevampPosts err: %s", err) return nil, web.ErrCreatePostFailed } - // 发推后处理 - onCreateTweetEvent(post) return (*web.CreateTweetResp)(formatedPosts[0]), nil } From 8c280e11343739b012c5a86cb2dc656ae6fcff02 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 18 Sep 2023 13:39:50 +0800 Subject: [PATCH 18/26] add cache support for get user info --- internal/conf/cache.go | 7 ++++ internal/conf/config.yaml | 1 + internal/conf/setting.go | 1 + internal/dao/cache/common.go | 61 +++++++++++++++++++++++++++++++++++ internal/dao/cache/events.go | 33 +++++++++++++++++++ internal/dao/jinzhu/jinzhu.go | 2 +- 6 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 internal/dao/cache/common.go diff --git a/internal/conf/cache.go b/internal/conf/cache.go index 0acc1be6..9f61a309 100644 --- a/internal/conf/cache.go +++ b/internal/conf/cache.go @@ -26,6 +26,9 @@ const ( PrefixIdxTweetsNewest = "paopao:index:tweets:newest:" PrefixIdxTweetsHots = "paopao:index:tweets:hots:" PrefixIdxTweetsFollowing = "paopao:index:tweets:following:" + PrefixUserInfo = "paopao:userinfo:" + PrefixUserInfoById = "paopao:userinfo:id:" + PrefixUserInfoByName = "paopao:userinfo:name:" KeySiteStatus = "paopao:sitestatus" KeyHistoryMaxOnline = "history.max.online" ) @@ -37,6 +40,8 @@ var ( KeyFollowingTweets cache.KeyPool[string] KeyUnreadMsg cache.KeyPool[int64] KeyOnlineUser cache.KeyPool[int64] + KeyUserInfoById cache.KeyPool[int64] + KeyUserInfoByName cache.KeyPool[string] ) func initCacheKeyPool() { @@ -49,6 +54,8 @@ func initCacheKeyPool() { KeyFollowingTweets = strKeyPool(poolSize, PrefixFollowingTweets) KeyUnreadMsg = intKeyPool[int64](poolSize, PrefixUnreadmsg) KeyOnlineUser = intKeyPool[int64](poolSize, PrefixOnlineUser) + KeyUserInfoById = intKeyPool[int64](poolSize, PrefixUserInfoById) + KeyUserInfoByName = strKeyPool(poolSize, PrefixUserInfoById) } func strKeyPool(size int, prefix string) cache.KeyPool[string] { diff --git a/internal/conf/config.yaml b/internal/conf/config.yaml index 3e3ede5f..7c53f4aa 100644 --- a/internal/conf/config.yaml +++ b/internal/conf/config.yaml @@ -12,6 +12,7 @@ Cache: UserTweetsExpire: 60 # 获取用户推文列表过期时间,单位秒, 默认60s IndexTweetsExpire: 120 # 获取广场推文列表过期时间,单位秒, 默认120s OnlineUserExpire: 300 # 标记在线用户 过期时间,单位秒, 默认300s + UserInfoExpire: 300 # 获取用户信息过期时间,单位秒, 默认300s EventManager: # 事件管理器的配置参数 MinWorker: 64 # 最小后台工作者, 设置范围[5, ++], 默认64 MaxEventBuf: 128 # 最大log缓存条数, 设置范围[10, ++], 默认128 diff --git a/internal/conf/setting.go b/internal/conf/setting.go index 64678feb..51ad246c 100644 --- a/internal/conf/setting.go +++ b/internal/conf/setting.go @@ -103,6 +103,7 @@ type cacheConf struct { UserTweetsExpire int64 IndexTweetsExpire int64 OnlineUserExpire int64 + UserInfoExpire int64 } type eventManagerConf struct { diff --git a/internal/dao/cache/common.go b/internal/dao/cache/common.go new file mode 100644 index 00000000..f01af983 --- /dev/null +++ b/internal/dao/cache/common.go @@ -0,0 +1,61 @@ +// Copyright 2023 ROC. All rights reserved. +// Use of this source code is governed by a MIT style +// license that can be found in the LICENSE file. + +package cache + +import ( + "bytes" + "encoding/gob" + + "github.com/rocboss/paopao-ce/internal/conf" + "github.com/rocboss/paopao-ce/internal/core" + "github.com/rocboss/paopao-ce/internal/core/ms" +) + +type cacheDataService struct { + core.DataService + ac core.AppCache +} + +func NewCacheDataService(ds core.DataService) core.DataService { + lazyInitial() + return &cacheDataService{ + DataService: ds, + ac: _appCache, + } +} + +func (s *cacheDataService) GetUserByID(id int64) (res *ms.User, err error) { + // 先从缓存获取, 不处理错误 + key := conf.KeyUserInfoById.Get(id) + if data, xerr := s.ac.Get(key); xerr == nil { + buf := bytes.NewBuffer(data) + res = &ms.User{} + err = gob.NewDecoder(buf).Decode(res) + return + } + // 最后查库 + if res, err = s.DataService.GetUserByID(id); err == nil { + // 更新缓存 + onCacheUserInfoEvent(key, res) + } + return +} + +func (s *cacheDataService) GetUserByUsername(username string) (res *ms.User, err error) { + // 先从缓存获取, 不处理错误 + key := conf.KeyUserInfoByName.Get(username) + if data, xerr := s.ac.Get(key); xerr == nil { + buf := bytes.NewBuffer(data) + res = &ms.User{} + err = gob.NewDecoder(buf).Decode(res) + return + } + // 最后查库 + if res, err = s.DataService.GetUserByUsername(username); err == nil { + // 更新缓存 + onCacheUserInfoEvent(key, res) + } + return +} diff --git a/internal/dao/cache/events.go b/internal/dao/cache/events.go index 4f137200..17bdbdfb 100644 --- a/internal/dao/cache/events.go +++ b/internal/dao/cache/events.go @@ -5,6 +5,8 @@ package cache import ( + "bytes" + "encoding/gob" "fmt" "github.com/alimy/tryst/event" @@ -35,6 +37,15 @@ type expireFollowTweetsEvent struct { keyPattern string } +type cacheUserInfoEvent struct { + event.UnimplementedEvent + tweet *ms.Post + ac core.AppCache + key string + data *ms.User + expire int64 +} + func onExpireIndexTweetEvent(tweet *ms.Post) { events.OnEvent(&expireIndexTweetsEvent{ tweet: tweet, @@ -63,6 +74,15 @@ func onExpireFollowTweetEvent(tweet *ms.Post) { }) } +func onCacheUserInfoEvent(key string, data *ms.User) { + events.OnEvent(&cacheUserInfoEvent{ + key: key, + data: data, + ac: _appCache, + expire: conf.CacheSetting.UserInfoExpire, + }) +} + func (e *expireIndexTweetsEvent) Name() string { return "expireIndexTweetsEvent" } @@ -94,3 +114,16 @@ func (e *expireFollowTweetsEvent) Action() (err error) { e.ac.DelAny(e.keyPattern) return } + +func (e *cacheUserInfoEvent) Name() string { + return "cacheUserInfoEvent" +} + +func (e *cacheUserInfoEvent) Action() (err error) { + buffer := &bytes.Buffer{} + ge := gob.NewEncoder(buffer) + if err = ge.Encode(e.data); err == nil { + e.ac.Set(e.key, buffer.Bytes(), e.expire) + } + return +} diff --git a/internal/dao/jinzhu/jinzhu.go b/internal/dao/jinzhu/jinzhu.go index 0645bd5b..7847b8e9 100644 --- a/internal/dao/jinzhu/jinzhu.go +++ b/internal/dao/jinzhu/jinzhu.go @@ -77,7 +77,7 @@ func NewDataService() (core.DataService, core.VersionInfo) { SecurityService: newSecurityService(db, pvs), AttachmentCheckService: security.NewAttachmentCheckService(), } - return ds, ds + return cache.NewCacheDataService(ds), ds } func NewWebDataServantA() (core.WebDataServantA, core.VersionInfo) { From eb0a1d04ba5921e2fac2e6834dc32094432990cf Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 18 Sep 2023 13:41:56 +0800 Subject: [PATCH 19/26] update CHANGELOG.md --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 613d4288..d5a9b4c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -73,6 +73,7 @@ All notable changes to paopao-ce are documented in this file. a.ID = b.ID ); ```sql + - add cache support for index/home etc. page. ## 0.4.2 ### Fixed From 555ab7962268130aa044c6bda66ea2e12ec4705f Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 18 Sep 2023 14:09:18 +0800 Subject: [PATCH 20/26] fixed mysql sql migration script error --- .../migration/mysql/0011_home_timeline.down.sql | 14 +++++--------- scripts/migration/mysql/0011_home_timeline.up.sql | 14 +++++--------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/scripts/migration/mysql/0011_home_timeline.down.sql b/scripts/migration/mysql/0011_home_timeline.down.sql index 3fb76fd7..c781500b 100644 --- a/scripts/migration/mysql/0011_home_timeline.down.sql +++ b/scripts/migration/mysql/0011_home_timeline.down.sql @@ -2,18 +2,14 @@ DROP TABLE IF EXISTS `p_post_metric`; -- 原来的可见性: 0公开 1私密 2好友可见 3关注可见 -- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 -UPDATE p_post a -SET visibility = ( - SELECT - CASE visibility +UPDATE p_post a, p_post b +SET a.visibility = ( + CASE b.visibility WHEN 90 THEN 0 WHEN 0 THEN 1 WHEN 50 THEN 2 WHEN 60 THEN 3 ELSE 0 END - FROM - p_post b - WHERE - a.ID = b.ID -); +) +WHERE a.ID = b.ID; diff --git a/scripts/migration/mysql/0011_home_timeline.up.sql b/scripts/migration/mysql/0011_home_timeline.up.sql index 98921a6d..e61fe700 100644 --- a/scripts/migration/mysql/0011_home_timeline.up.sql +++ b/scripts/migration/mysql/0011_home_timeline.up.sql @@ -22,18 +22,14 @@ WHERE is_del=0; -- 原来的可见性: 0公开 1私密 2好友可见 3关注可见 -- 现在的可见性: 0私密 10充电可见 20订阅可见 30保留 40保留 50好友可见 60关注可见 70保留 80保留 90公开 -UPDATE p_post a -SET visibility = ( - SELECT - CASE visibility +UPDATE p_post a, p_post b +SET a.visibility = ( + CASE b.visibility WHEN 0 THEN 90 WHEN 1 THEN 0 WHEN 2 THEN 50 WHEN 3 THEN 60 ELSE 0 END - FROM - p_post b - WHERE - a.ID = b.ID -); +) +WHERE a.ID = b.ID; From 4168b2ee1ea9d2bfab7a3a926b87c726c3d00bec Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 18 Sep 2023 15:06:12 +0800 Subject: [PATCH 21/26] fixed not create post metric item after create tweet error --- internal/dao/jinzhu/metrics.go | 8 +++----- internal/dao/jinzhu/tweets.go | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/internal/dao/jinzhu/metrics.go b/internal/dao/jinzhu/metrics.go index 129439e9..038bf1ac 100644 --- a/internal/dao/jinzhu/metrics.go +++ b/internal/dao/jinzhu/metrics.go @@ -17,11 +17,9 @@ type tweetMetricSrvA struct { func (s *tweetMetricSrvA) UpdateRankScore(metric *cs.TweetMetric) error { return s.db.Transaction(func(tx *gorm.DB) (err error) { - postMetric := &dbr.PostMetric{} + postMetric := &dbr.PostMetric{PostId: metric.PostId} db := s.db.Model(postMetric).Where("post_id=?", metric.PostId) - if err = db.First(postMetric).Error; err != nil { - return - } + db.First(postMetric) postMetric.RankScore = metric.RankScore(postMetric.MotivationFactor) err = db.Save(postMetric).Error return @@ -30,7 +28,7 @@ func (s *tweetMetricSrvA) UpdateRankScore(metric *cs.TweetMetric) error { } func (s *tweetMetricSrvA) AddTweetMetric(postId int64) (err error) { - _, err = (&dbr.PostMetric{}).Create(s.db) + _, err = (&dbr.PostMetric{PostId: postId}).Create(s.db) return } diff --git a/internal/dao/jinzhu/tweets.go b/internal/dao/jinzhu/tweets.go index c06f388d..1a67bc2b 100644 --- a/internal/dao/jinzhu/tweets.go +++ b/internal/dao/jinzhu/tweets.go @@ -438,7 +438,7 @@ func (s *tweetSrv) ListIndexNewestTweets(limit, offset int) (res []*ms.Post, tot } func (s *tweetSrv) ListIndexHotsTweets(limit, offset int) (res []*ms.Post, total int64, err error) { - db := s.db.Table(_post_).Joins(fmt.Sprintf("JOIN %s metric ON %s.id=metric.post_id", _post_metric_, _post_)).Where("visibility >= ?", cs.TweetVisitPublic) + db := s.db.Table(_post_).Joins(fmt.Sprintf("LEFT JOIN %s metric ON %s.id=metric.post_id", _post_metric_, _post_)).Where("visibility >= ?", cs.TweetVisitPublic) if err = db.Count(&total).Error; err != nil { return } From d4f0fb5d1e2d6d334a63c518849424f0c6898a26 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 18 Sep 2023 15:24:09 +0800 Subject: [PATCH 22/26] frontend: optimize create tweet logic --- .../{404-d844c63e.js => 404-bd861409.js} | 2 +- ...nt-9133d100.js => Anouncement-db86fa3e.js} | 2 +- ...ion-2ba2fc81.js => Collection-8f6204ca.js} | 2 +- ...tacts-e25841ce.js => Contacts-460b1cc1.js} | 2 +- ...wing-0d52a2ca.js => Following-81df3d31.js} | 2 +- web/dist/assets/Home-0382696a.js | 1 - web/dist/assets/Home-5d6ae80a.js | 1 + .../{Home-2a6423f9.css => Home-b58ba6dd.css} | 2 +- ...sages-c3fa26d0.js => Messages-af51f2e2.js} | 2 +- .../{Post-b40cc86e.js => Post-833e907f.js} | 2 +- ...rofile-e00fa856.js => Profile-45bd0928.js} | 2 +- ...etting-22e8a111.js => Setting-5b238741.js} | 2 +- .../{Topic-5e96d43f.js => Topic-8225d9c3.js} | 2 +- .../{User-a35461e8.js => User-ab286216.js} | 2 +- ...{Wallet-a477a3e7.js => Wallet-60249712.js} | 2 +- ...ontent-2d41ca0a.js => content-1a1bcb51.js} | 2 +- .../{index-5faa66a7.js => index-fae12ace.js} | 2 +- ...e_vue_type_style_index_0_lang-96e8e840.js} | 2 +- ...e_vue_type_style_index_0_lang-eaa0dff0.js} | 2 +- ...-47a1ebec.js => post-skeleton-2311fe04.js} | 2 +- ...hisper-d959da10.js => whisper-e51c17fc.js} | 2 +- web/dist/index.html | 2 +- web/src/views/Home.vue | 67 ++++++++++--------- 23 files changed, 58 insertions(+), 51 deletions(-) rename web/dist/assets/{404-d844c63e.js => 404-bd861409.js} (85%) rename web/dist/assets/{Anouncement-9133d100.js => Anouncement-db86fa3e.js} (91%) rename web/dist/assets/{Collection-2ba2fc81.js => Collection-8f6204ca.js} (84%) rename web/dist/assets/{Contacts-e25841ce.js => Contacts-460b1cc1.js} (92%) rename web/dist/assets/{Following-0d52a2ca.js => Following-81df3d31.js} (95%) delete mode 100644 web/dist/assets/Home-0382696a.js create mode 100644 web/dist/assets/Home-5d6ae80a.js rename web/dist/assets/{Home-2a6423f9.css => Home-b58ba6dd.css} (62%) rename web/dist/assets/{Messages-c3fa26d0.js => Messages-af51f2e2.js} (97%) rename web/dist/assets/{Post-b40cc86e.js => Post-833e907f.js} (98%) rename web/dist/assets/{Profile-e00fa856.js => Profile-45bd0928.js} (95%) rename web/dist/assets/{Setting-22e8a111.js => Setting-5b238741.js} (98%) rename web/dist/assets/{Topic-5e96d43f.js => Topic-8225d9c3.js} (97%) rename web/dist/assets/{User-a35461e8.js => User-ab286216.js} (97%) rename web/dist/assets/{Wallet-a477a3e7.js => Wallet-60249712.js} (95%) rename web/dist/assets/{content-2d41ca0a.js => content-1a1bcb51.js} (98%) rename web/dist/assets/{index-5faa66a7.js => index-fae12ace.js} (90%) rename web/dist/assets/{main-nav.vue_vue_type_style_index_0_lang-0888b762.js => main-nav.vue_vue_type_style_index_0_lang-96e8e840.js} (96%) rename web/dist/assets/{post-item.vue_vue_type_style_index_0_lang-d5631a43.js => post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js} (98%) rename web/dist/assets/{post-skeleton-47a1ebec.js => post-skeleton-2311fe04.js} (88%) rename web/dist/assets/{whisper-d959da10.js => whisper-e51c17fc.js} (95%) diff --git a/web/dist/assets/404-d844c63e.js b/web/dist/assets/404-bd861409.js similarity index 85% rename from web/dist/assets/404-d844c63e.js rename to web/dist/assets/404-bd861409.js index 5600ff54..8345012c 100644 --- a/web/dist/assets/404-d844c63e.js +++ b/web/dist/assets/404-bd861409.js @@ -1 +1 @@ -import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as i}from"./vue-router-e5a2430e.js";import{F as a,e as c,a2 as u}from"./naive-ui-d8de3dda.js";import{d as l,f as d,k as t,w as o,e as f,A as x}from"./@vue-a481fc63.js";import{_ as g}from"./index-5faa66a7.js";import"./vuex-44de225f.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */const v=l({__name:"404",setup(h){const e=i(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=a;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const O=g(v,[["__scopeId","data-v-e62daa85"]]);export{O as default}; +import{_ as s}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{u as i}from"./vue-router-e5a2430e.js";import{F as a,e as c,a2 as u}from"./naive-ui-d8de3dda.js";import{d as l,f as d,k as t,w as o,e as f,A as x}from"./@vue-a481fc63.js";import{_ as g}from"./index-fae12ace.js";import"./vuex-44de225f.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */const v=l({__name:"404",setup(h){const e=i(),_=()=>{e.push({path:"/"})};return(k,w)=>{const n=s,p=c,r=u,m=a;return f(),d("div",null,[t(n,{title:"404"}),t(m,{class:"main-content-wrap wrap404",bordered:""},{default:o(()=>[t(r,{status:"404",title:"404 资源不存在",description:"再看看其他的吧"},{footer:o(()=>[t(p,{onClick:_},{default:o(()=>[x("回主页")]),_:1})]),_:1})]),_:1})])}}});const O=g(v,[["__scopeId","data-v-e62daa85"]]);export{O as default}; diff --git a/web/dist/assets/Anouncement-9133d100.js b/web/dist/assets/Anouncement-db86fa3e.js similarity index 91% rename from web/dist/assets/Anouncement-9133d100.js rename to web/dist/assets/Anouncement-db86fa3e.js index 8a973884..d421a1ab 100644 --- a/web/dist/assets/Anouncement-9133d100.js +++ b/web/dist/assets/Anouncement-db86fa3e.js @@ -1 +1 @@ -import{_ as F}from"./post-skeleton-47a1ebec.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as z}from"./vuex-44de225f.js";import{b as A}from"./vue-router-e5a2430e.js";import{E as R,_ as S}from"./index-5faa66a7.js";import{F as V,Q as q,I as E,G as I}from"./naive-ui-d8de3dda.js";import{d as P,H as n,b as j,f as o,k as a,w as p,e as t,bf as u,Y as l,F as D,u as G,q as H,j as s,x as _,l as L}from"./@vue-a481fc63.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const M={key:0,class:"pagination-wrap"},O={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},Y=P({__name:"Anouncement",setup($){const d=z(),g=A(),v=n(!1),i=n([]),r=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{r.value=m};return j(()=>{}),(m,J)=>{const k=N,y=q,x=F,w=E,B=I,C=V;return t(),o("div",null,[a(k,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(t(),o("div",M,[a(y,{page:r.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(t(),o("div",O,[a(x,{num:f.value},null,8,["num"])])):(t(),o("div",Q,[i.value.length===0?(t(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(t(!0),o(D,null,G(i.value,e=>(t(),H(B,{key:e.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:L({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const ke=S(Y,[["__scopeId","data-v-d4d04859"]]);export{ke as default}; +import{_ as F}from"./post-skeleton-2311fe04.js";import{_ as N}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{u as z}from"./vuex-44de225f.js";import{b as A}from"./vue-router-e5a2430e.js";import{E as R,_ as S}from"./index-fae12ace.js";import{F as V,Q as q,I as E,G as I}from"./naive-ui-d8de3dda.js";import{d as P,H as n,b as j,f as o,k as a,w as p,e as t,bf as u,Y as l,F as D,u as G,q as H,j as s,x as _,l as L}from"./@vue-a481fc63.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./@vicons-7a4ef312.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const M={key:0,class:"pagination-wrap"},O={key:0,class:"skeleton-wrap"},Q={key:1},T={key:0,class:"empty-wrap"},U={class:"bill-line"},Y=P({__name:"Anouncement",setup($){const d=z(),g=A(),v=n(!1),i=n([]),r=n(+g.query.p||1),f=n(20),c=n(0),h=m=>{r.value=m};return j(()=>{}),(m,J)=>{const k=N,y=q,x=F,w=E,B=I,C=V;return t(),o("div",null,[a(k,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:p(()=>[c.value>1?(t(),o("div",M,[a(y,{page:r.value,"onUpdate:page":h,"page-slot":u(d).state.collapsedRight?5:8,"page-count":c.value},null,8,["page","page-slot","page-count"])])):l("",!0)]),default:p(()=>[v.value?(t(),o("div",O,[a(x,{num:f.value},null,8,["num"])])):(t(),o("div",Q,[i.value.length===0?(t(),o("div",T,[a(w,{size:"large",description:"暂无数据"})])):l("",!0),(t(!0),o(D,null,G(i.value,e=>(t(),H(B,{key:e.id},{default:p(()=>[s("div",U,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:L({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(u(R)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const ke=S(Y,[["__scopeId","data-v-d4d04859"]]);export{ke as default}; diff --git a/web/dist/assets/Collection-2ba2fc81.js b/web/dist/assets/Collection-8f6204ca.js similarity index 84% rename from web/dist/assets/Collection-2ba2fc81.js rename to web/dist/assets/Collection-8f6204ca.js index 6e55d7d4..53b4c4be 100644 --- a/web/dist/assets/Collection-2ba2fc81.js +++ b/web/dist/assets/Collection-8f6204ca.js @@ -1 +1 @@ -import{_ as I}from"./whisper-d959da10.js";import{_ as N,a as Q}from"./post-item.vue_vue_type_style_index_0_lang-d5631a43.js";import{_ as V}from"./post-skeleton-47a1ebec.js";import{_ as W}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as E}from"./vuex-44de225f.js";import{b as G}from"./vue-router-e5a2430e.js";import{Q as H,_ as L}from"./index-5faa66a7.js";import{d as T,H as s,b as U,f as o,k as n,w as u,bf as h,Y as w,e,F as k,u as y,q as C}from"./@vue-a481fc63.js";import{F as Y,Q as j,I as A,G as D}from"./naive-ui-d8de3dda.js";import"./content-2d41ca0a.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={key:0,class:"skeleton-wrap"},K={key:1},O={key:0,class:"empty-wrap"},X={key:1},Z={key:2},ee={key:0,class:"pagination-wrap"},oe=T({__name:"Collection",setup(te){const m=E(),S=G(),_=s(!1),i=s([]),l=s(+S.query.p||1),p=s(20),r=s(0),c=s(!1),d=s({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),f=t=>{d.value=t,c.value=!0},b=()=>{c.value=!1},v=()=>{_.value=!0,H({page:l.value,page_size:p.value}).then(t=>{_.value=!1,i.value=t.list,r.value=Math.ceil(t.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(t=>{_.value=!1})},x=t=>{l.value=t,v()};return U(()=>{v()}),(t,ne)=>{const $=W,z=V,B=A,F=N,g=D,M=Q,P=I,R=Y,q=j;return e(),o("div",null,[n($,{title:"收藏"}),n(R,{class:"main-content-wrap",bordered:""},{default:u(()=>[_.value?(e(),o("div",J,[n(z,{num:p.value},null,8,["num"])])):(e(),o("div",K,[i.value.length===0?(e(),o("div",O,[n(B,{size:"large",description:"暂无数据"})])):w("",!0),h(m).state.desktopModelShow?(e(),o("div",X,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(F,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))])):(e(),o("div",Z,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(M,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))]))])),n(P,{show:c.value,user:d.value,onSuccess:b},null,8,["show","user"])]),_:1}),r.value>0?(e(),o("div",ee,[n(q,{page:l.value,"onUpdate:page":x,"page-slot":h(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):w("",!0)])}}});const Ne=L(oe,[["__scopeId","data-v-760779af"]]);export{Ne as default}; +import{_ as I}from"./whisper-e51c17fc.js";import{_ as N,a as Q}from"./post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js";import{_ as V}from"./post-skeleton-2311fe04.js";import{_ as W}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{u as E}from"./vuex-44de225f.js";import{b as G}from"./vue-router-e5a2430e.js";import{Q as H,_ as L}from"./index-fae12ace.js";import{d as T,H as s,b as U,f as o,k as n,w as u,bf as h,Y as w,e,F as k,u as y,q as C}from"./@vue-a481fc63.js";import{F as Y,Q as j,I as A,G as D}from"./naive-ui-d8de3dda.js";import"./content-1a1bcb51.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const J={key:0,class:"skeleton-wrap"},K={key:1},O={key:0,class:"empty-wrap"},X={key:1},Z={key:2},ee={key:0,class:"pagination-wrap"},oe=T({__name:"Collection",setup(te){const m=E(),S=G(),_=s(!1),i=s([]),l=s(+S.query.p||1),p=s(20),r=s(0),c=s(!1),d=s({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),f=t=>{d.value=t,c.value=!0},b=()=>{c.value=!1},v=()=>{_.value=!0,H({page:l.value,page_size:p.value}).then(t=>{_.value=!1,i.value=t.list,r.value=Math.ceil(t.pager.total_rows/p.value),window.scrollTo(0,0)}).catch(t=>{_.value=!1})},x=t=>{l.value=t,v()};return U(()=>{v()}),(t,ne)=>{const $=W,z=V,B=A,F=N,g=D,M=Q,P=I,R=Y,q=j;return e(),o("div",null,[n($,{title:"收藏"}),n(R,{class:"main-content-wrap",bordered:""},{default:u(()=>[_.value?(e(),o("div",J,[n(z,{num:p.value},null,8,["num"])])):(e(),o("div",K,[i.value.length===0?(e(),o("div",O,[n(B,{size:"large",description:"暂无数据"})])):w("",!0),h(m).state.desktopModelShow?(e(),o("div",X,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(F,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))])):(e(),o("div",Z,[(e(!0),o(k,null,y(i.value,a=>(e(),C(g,{key:a.id},{default:u(()=>[n(M,{post:a,onSendWhisper:f},null,8,["post"])]),_:2},1024))),128))]))])),n(P,{show:c.value,user:d.value,onSuccess:b},null,8,["show","user"])]),_:1}),r.value>0?(e(),o("div",ee,[n(q,{page:l.value,"onUpdate:page":x,"page-slot":h(m).state.collapsedRight?5:8,"page-count":r.value},null,8,["page","page-slot","page-count"])])):w("",!0)])}}});const Ne=L(oe,[["__scopeId","data-v-760779af"]]);export{Ne as default}; diff --git a/web/dist/assets/Contacts-e25841ce.js b/web/dist/assets/Contacts-460b1cc1.js similarity index 92% rename from web/dist/assets/Contacts-e25841ce.js rename to web/dist/assets/Contacts-460b1cc1.js index ba7d1d57..7bf2d797 100644 --- a/web/dist/assets/Contacts-e25841ce.js +++ b/web/dist/assets/Contacts-460b1cc1.js @@ -1 +1 @@ -import{_ as T}from"./whisper-d959da10.js";import{d as F,c as j,r as A,e as s,f as c,k as t,w as n,j as i,y as H,A as L,x as v,bf as g,h as I,H as a,b as U,Y as S,F as z,u as W,q as E}from"./@vue-a481fc63.js";import{F as G,_ as N,b as Q}from"./index-5faa66a7.js";import{i as Y,p as J}from"./@vicons-7a4ef312.js";import{j as x,o as K,e as X,O as Z,L as ee,F as te,Q as ne,I as oe,G as se}from"./naive-ui-d8de3dda.js";import{_ as ae}from"./post-skeleton-47a1ebec.js";import{_ as ce}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as ie}from"./vuex-44de225f.js";import{b as _e}from"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const re={class:"contact-item"},le={class:"nickname-wrap"},pe={class:"username-wrap"},ue={class:"user-info"},me={class:"info-item"},de={class:"info-item"},fe={class:"item-header-extra"},ve=F({__name:"contact-item",props:{contact:{}},emits:["send-whisper"],setup(C,{emit:h}){const _=C,r=e=>()=>I(x,null,{default:()=>I(e)}),l=j(()=>[{label:"私信",key:"whisper",icon:r(J)}]),u=e=>{switch(e){case"whisper":const o={id:_.contact.user_id,avatar:_.contact.avatar,username:_.contact.username,nickname:_.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};h("send-whisper",o);break}};return(e,o)=>{const m=K,d=A("router-link"),w=X,k=Z,y=ee;return s(),c("div",re,[t(y,{"content-indented":""},{avatar:n(()=>[t(m,{size:54,src:e.contact.avatar},null,8,["src"])]),header:n(()=>[i("span",le,[t(d,{onClick:o[0]||(o[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:n(()=>[L(v(e.contact.nickname),1)]),_:1},8,["to"])]),i("span",pe," @"+v(e.contact.username),1),i("div",ue,[i("span",me," UID. "+v(e.contact.user_id),1),i("span",de,v(g(G)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":n(()=>[i("div",fe,[t(k,{placement:"bottom-end",trigger:"click",size:"small",options:l.value,onSelect:u},{default:n(()=>[t(w,{quaternary:"",circle:""},{icon:n(()=>[t(g(x),null,{default:n(()=>[t(g(Y))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const ge=N(ve,[["__scopeId","data-v-d62f19da"]]),he={key:0,class:"skeleton-wrap"},we={key:1},ke={key:0,class:"empty-wrap"},ye={key:0,class:"pagination-wrap"},Ce=F({__name:"Contacts",setup(C){const h=ie(),_=_e(),r=a(!1),l=a([]),u=a(+_.query.p||1),e=a(20),o=a(0),m=a(!1),d=a({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),w=p=>{d.value=p,m.value=!0},k=()=>{m.value=!1},y=p=>{u.value=p,$()};U(()=>{$()});const $=(p=!1)=>{l.value.length===0&&(r.value=!0),Q({page:u.value,page_size:e.value}).then(f=>{r.value=!1,l.value=f.list,o.value=Math.ceil(f.pager.total_rows/e.value),p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(f=>{r.value=!1})};return(p,f)=>{const q=ce,B=ae,M=oe,P=ge,V=se,D=T,O=te,R=ne;return s(),c(z,null,[i("div",null,[t(q,{title:"好友"}),t(O,{class:"main-content-wrap",bordered:""},{default:n(()=>[r.value?(s(),c("div",he,[t(B,{num:e.value},null,8,["num"])])):(s(),c("div",we,[l.value.length===0?(s(),c("div",ke,[t(M,{size:"large",description:"暂无数据"})])):S("",!0),(s(!0),c(z,null,W(l.value,b=>(s(),E(V,{class:"list-item",key:b.user_id},{default:n(()=>[t(P,{contact:b,onSendWhisper:w},null,8,["contact"])]),_:2},1024))),128))])),t(D,{show:m.value,user:d.value,onSuccess:k},null,8,["show","user"])]),_:1})]),o.value>0?(s(),c("div",ye,[t(R,{page:u.value,"onUpdate:page":y,"page-slot":g(h).state.collapsedRight?5:8,"page-count":o.value},null,8,["page","page-slot","page-count"])])):S("",!0)],64)}}});const Qe=N(Ce,[["__scopeId","data-v-e20fef94"]]);export{Qe as default}; +import{_ as T}from"./whisper-e51c17fc.js";import{d as F,c as j,r as A,e as s,f as c,k as t,w as n,j as i,y as H,A as L,x as v,bf as g,h as I,H as a,b as U,Y as S,F as z,u as W,q as E}from"./@vue-a481fc63.js";import{F as G,_ as N,b as Q}from"./index-fae12ace.js";import{i as Y,p as J}from"./@vicons-7a4ef312.js";import{j as x,o as K,e as X,O as Z,L as ee,F as te,Q as ne,I as oe,G as se}from"./naive-ui-d8de3dda.js";import{_ as ae}from"./post-skeleton-2311fe04.js";import{_ as ce}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{u as ie}from"./vuex-44de225f.js";import{b as _e}from"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const re={class:"contact-item"},le={class:"nickname-wrap"},pe={class:"username-wrap"},ue={class:"user-info"},me={class:"info-item"},de={class:"info-item"},fe={class:"item-header-extra"},ve=F({__name:"contact-item",props:{contact:{}},emits:["send-whisper"],setup(C,{emit:h}){const _=C,r=e=>()=>I(x,null,{default:()=>I(e)}),l=j(()=>[{label:"私信",key:"whisper",icon:r(J)}]),u=e=>{switch(e){case"whisper":const o={id:_.contact.user_id,avatar:_.contact.avatar,username:_.contact.username,nickname:_.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};h("send-whisper",o);break}};return(e,o)=>{const m=K,d=A("router-link"),w=X,k=Z,y=ee;return s(),c("div",re,[t(y,{"content-indented":""},{avatar:n(()=>[t(m,{size:54,src:e.contact.avatar},null,8,["src"])]),header:n(()=>[i("span",le,[t(d,{onClick:o[0]||(o[0]=H(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:n(()=>[L(v(e.contact.nickname),1)]),_:1},8,["to"])]),i("span",pe," @"+v(e.contact.username),1),i("div",ue,[i("span",me," UID. "+v(e.contact.user_id),1),i("span",de,v(g(G)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":n(()=>[i("div",fe,[t(k,{placement:"bottom-end",trigger:"click",size:"small",options:l.value,onSelect:u},{default:n(()=>[t(w,{quaternary:"",circle:""},{icon:n(()=>[t(g(x),null,{default:n(()=>[t(g(Y))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const ge=N(ve,[["__scopeId","data-v-d62f19da"]]),he={key:0,class:"skeleton-wrap"},we={key:1},ke={key:0,class:"empty-wrap"},ye={key:0,class:"pagination-wrap"},Ce=F({__name:"Contacts",setup(C){const h=ie(),_=_e(),r=a(!1),l=a([]),u=a(+_.query.p||1),e=a(20),o=a(0),m=a(!1),d=a({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),w=p=>{d.value=p,m.value=!0},k=()=>{m.value=!1},y=p=>{u.value=p,$()};U(()=>{$()});const $=(p=!1)=>{l.value.length===0&&(r.value=!0),Q({page:u.value,page_size:e.value}).then(f=>{r.value=!1,l.value=f.list,o.value=Math.ceil(f.pager.total_rows/e.value),p&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(f=>{r.value=!1})};return(p,f)=>{const q=ce,B=ae,M=oe,P=ge,V=se,D=T,O=te,R=ne;return s(),c(z,null,[i("div",null,[t(q,{title:"好友"}),t(O,{class:"main-content-wrap",bordered:""},{default:n(()=>[r.value?(s(),c("div",he,[t(B,{num:e.value},null,8,["num"])])):(s(),c("div",we,[l.value.length===0?(s(),c("div",ke,[t(M,{size:"large",description:"暂无数据"})])):S("",!0),(s(!0),c(z,null,W(l.value,b=>(s(),E(V,{class:"list-item",key:b.user_id},{default:n(()=>[t(P,{contact:b,onSendWhisper:w},null,8,["contact"])]),_:2},1024))),128))])),t(D,{show:m.value,user:d.value,onSuccess:k},null,8,["show","user"])]),_:1})]),o.value>0?(s(),c("div",ye,[t(R,{page:u.value,"onUpdate:page":y,"page-slot":g(h).state.collapsedRight?5:8,"page-count":o.value},null,8,["page","page-slot","page-count"])])):S("",!0)],64)}}});const Qe=N(Ce,[["__scopeId","data-v-e20fef94"]]);export{Qe as default}; diff --git a/web/dist/assets/Following-0d52a2ca.js b/web/dist/assets/Following-81df3d31.js similarity index 95% rename from web/dist/assets/Following-0d52a2ca.js rename to web/dist/assets/Following-81df3d31.js index 022a1675..207e3935 100644 --- a/web/dist/assets/Following-0d52a2ca.js +++ b/web/dist/assets/Following-81df3d31.js @@ -1 +1 @@ -import{_ as K}from"./whisper-d959da10.js";import{d as B,c as Q,r as Y,e as _,f as u,k as o,w as t,j as p,y as X,A as x,x as k,q as N,Y as U,bf as g,h as C,H as r,b as Z,F as M,u as ee}from"./@vue-a481fc63.js";import{u as oe,b as ne}from"./vue-router-e5a2430e.js";import{F as te,J as se,K as ae,_ as O,U as le,V as ce}from"./index-5faa66a7.js";import{i as ie,p as _e,z as re,v as ue}from"./@vicons-7a4ef312.js";import{T as pe,j as P,o as me,M as de,e as fe,O as ge,L as ve,F as we,Q as he,f as ke,g as ye,I as be,G as $e}from"./naive-ui-d8de3dda.js";import{_ as Fe}from"./post-skeleton-47a1ebec.js";import{_ as ze}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as Te}from"./vuex-44de225f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"follow-item"},qe={class:"nickname-wrap"},Ie={class:"username-wrap"},Se={class:"user-info"},xe={class:"info-item"},Ce={class:"info-item"},Me={class:"item-header-extra"},Pe=B({__name:"follow-item",props:{contact:{}},emits:["send-whisper"],setup(q,{emit:y}){const n=q,c=pe();oe();const s=e=>()=>C(P,null,{default:()=>C(e)}),b=()=>{c.success({title:"提示",content:"确定"+(n.contact.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{n.contact.is_following?se({user_id:n.contact.user_id}).then(e=>{window.$message.success("取消关注成功"),n.contact.is_following=!1}).catch(e=>{console.log(e)}):ae({user_id:n.contact.user_id}).then(e=>{window.$message.success("关注成功"),n.contact.is_following=!0}).catch(e=>{console.log(e)})}})},v=Q(()=>{let e=[{label:"私信",key:"whisper",icon:s(_e)}];return n.contact.is_following?e.push({label:"取消关注",key:"unfollow",icon:s(re)}):e.push({label:"关注",key:"follow",icon:s(ue)}),e}),m=e=>{switch(e){case"follow":case"unfollow":b();break;case"whisper":const a={id:n.contact.user_id,avatar:n.contact.avatar,username:n.contact.username,nickname:n.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};y("send-whisper",a);break}};return(e,a)=>{const d=me,f=Y("router-link"),w=de,$=fe,F=ge,z=ve;return _(),u("div",Ue,[o(z,{"content-indented":""},{avatar:t(()=>[o(d,{size:54,src:e.contact.avatar},null,8,["src"])]),header:t(()=>[p("span",qe,[o(f,{onClick:a[0]||(a[0]=X(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:t(()=>[x(k(e.contact.nickname),1)]),_:1},8,["to"])]),p("span",Ie," @"+k(e.contact.username),1),e.contact.is_following?(_(),N(w,{key:0,class:"top-tag",type:"success",size:"small",round:""},{default:t(()=>[x(" 已关注 ")]),_:1})):U("",!0),p("div",Se,[p("span",xe," UID. "+k(e.contact.user_id),1),p("span",Ce,k(g(te)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":t(()=>[p("div",Me,[o(F,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:m},{default:t(()=>[o($,{quaternary:"",circle:""},{icon:t(()=>[o(g(P),null,{default:t(()=>[o(g(ie))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const Be=O(Pe,[["__scopeId","data-v-1fb7364a"]]),Ne={key:0,class:"skeleton-wrap"},Oe={key:1},Ve={key:0,class:"empty-wrap"},De={key:0,class:"pagination-wrap"},Re=B({__name:"Following",setup(q){const y=Te(),n=ne(),c=r(!1),s=r([]),b=n.query.n||"粉丝详情",v=n.query.s||"",m=r(n.query.t||"follows"),e=r(+n.query.p||1),a=r(20),d=r(0),f=r(!1),w=r({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),$=l=>{w.value=l,f.value=!0},F=()=>{f.value=!1},z=l=>{e.value=l,T()},V=l=>{m.value=l,T()},T=()=>{m.value==="follows"?D(v):m.value==="followings"&&R(v)},D=(l,h=!1)=>{s.value.length===0&&(c.value=!0),le({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})},R=(l,h=!1)=>{s.value.length===0&&(c.value=!0),ce({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})};return Z(()=>{T()}),(l,h)=>{const i=ze,I=ke,W=ye,j=Fe,A=be,H=Be,L=$e,E=K,G=we,J=he;return _(),u(M,null,[p("div",null,[o(i,{title:g(b),back:!0},null,8,["title"]),o(G,{class:"main-content-wrap",bordered:""},{default:t(()=>[o(W,{type:"line",animated:"","default-value":m.value,"onUpdate:value":V},{default:t(()=>[o(I,{name:"follows",tab:"正在关注"}),o(I,{name:"followings",tab:"我的粉丝"})]),_:1},8,["default-value"]),c.value?(_(),u("div",Ne,[o(j,{num:a.value},null,8,["num"])])):(_(),u("div",Oe,[s.value.length===0?(_(),u("div",Ve,[o(A,{size:"large",description:"暂无数据"})])):U("",!0),(_(!0),u(M,null,ee(s.value,S=>(_(),N(L,{key:S.user_id},{default:t(()=>[o(H,{contact:S,onSendWhisper:$},null,8,["contact"])]),_:2},1024))),128))])),o(E,{show:f.value,user:w.value,onSuccess:F},null,8,["show","user"])]),_:1})]),d.value>0?(_(),u("div",De,[o(J,{page:e.value,"onUpdate:page":z,"page-slot":g(y).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):U("",!0)],64)}}});const po=O(Re,[["__scopeId","data-v-0a10234f"]]);export{po as default}; +import{_ as K}from"./whisper-e51c17fc.js";import{d as B,c as Q,r as Y,e as _,f as u,k as o,w as t,j as p,y as X,A as x,x as k,q as N,Y as U,bf as g,h as C,H as r,b as Z,F as M,u as ee}from"./@vue-a481fc63.js";import{u as oe,b as ne}from"./vue-router-e5a2430e.js";import{F as te,J as se,K as ae,_ as O,U as le,V as ce}from"./index-fae12ace.js";import{i as ie,p as _e,z as re,v as ue}from"./@vicons-7a4ef312.js";import{T as pe,j as P,o as me,M as de,e as fe,O as ge,L as ve,F as we,Q as he,f as ke,g as ye,I as be,G as $e}from"./naive-ui-d8de3dda.js";import{_ as Fe}from"./post-skeleton-2311fe04.js";import{_ as ze}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{u as Te}from"./vuex-44de225f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"follow-item"},qe={class:"nickname-wrap"},Ie={class:"username-wrap"},Se={class:"user-info"},xe={class:"info-item"},Ce={class:"info-item"},Me={class:"item-header-extra"},Pe=B({__name:"follow-item",props:{contact:{}},emits:["send-whisper"],setup(q,{emit:y}){const n=q,c=pe();oe();const s=e=>()=>C(P,null,{default:()=>C(e)}),b=()=>{c.success({title:"提示",content:"确定"+(n.contact.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{n.contact.is_following?se({user_id:n.contact.user_id}).then(e=>{window.$message.success("取消关注成功"),n.contact.is_following=!1}).catch(e=>{console.log(e)}):ae({user_id:n.contact.user_id}).then(e=>{window.$message.success("关注成功"),n.contact.is_following=!0}).catch(e=>{console.log(e)})}})},v=Q(()=>{let e=[{label:"私信",key:"whisper",icon:s(_e)}];return n.contact.is_following?e.push({label:"取消关注",key:"unfollow",icon:s(re)}):e.push({label:"关注",key:"follow",icon:s(ue)}),e}),m=e=>{switch(e){case"follow":case"unfollow":b();break;case"whisper":const a={id:n.contact.user_id,avatar:n.contact.avatar,username:n.contact.username,nickname:n.contact.nickname,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1};y("send-whisper",a);break}};return(e,a)=>{const d=me,f=Y("router-link"),w=de,$=fe,F=ge,z=ve;return _(),u("div",Ue,[o(z,{"content-indented":""},{avatar:t(()=>[o(d,{size:54,src:e.contact.avatar},null,8,["src"])]),header:t(()=>[p("span",qe,[o(f,{onClick:a[0]||(a[0]=X(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.contact.username}}},{default:t(()=>[x(k(e.contact.nickname),1)]),_:1},8,["to"])]),p("span",Ie," @"+k(e.contact.username),1),e.contact.is_following?(_(),N(w,{key:0,class:"top-tag",type:"success",size:"small",round:""},{default:t(()=>[x(" 已关注 ")]),_:1})):U("",!0),p("div",Se,[p("span",xe," UID. "+k(e.contact.user_id),1),p("span",Ce,k(g(te)(e.contact.created_on))+" 加入 ",1)])]),"header-extra":t(()=>[p("div",Me,[o(F,{placement:"bottom-end",trigger:"click",size:"small",options:v.value,onSelect:m},{default:t(()=>[o($,{quaternary:"",circle:""},{icon:t(()=>[o(g(P),null,{default:t(()=>[o(g(ie))]),_:1})]),_:1})]),_:1},8,["options"])])]),_:1})])}}});const Be=O(Pe,[["__scopeId","data-v-1fb7364a"]]),Ne={key:0,class:"skeleton-wrap"},Oe={key:1},Ve={key:0,class:"empty-wrap"},De={key:0,class:"pagination-wrap"},Re=B({__name:"Following",setup(q){const y=Te(),n=ne(),c=r(!1),s=r([]),b=n.query.n||"粉丝详情",v=n.query.s||"",m=r(n.query.t||"follows"),e=r(+n.query.p||1),a=r(20),d=r(0),f=r(!1),w=r({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),$=l=>{w.value=l,f.value=!0},F=()=>{f.value=!1},z=l=>{e.value=l,T()},V=l=>{m.value=l,T()},T=()=>{m.value==="follows"?D(v):m.value==="followings"&&R(v)},D=(l,h=!1)=>{s.value.length===0&&(c.value=!0),le({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})},R=(l,h=!1)=>{s.value.length===0&&(c.value=!0),ce({username:l,page:e.value,page_size:a.value}).then(i=>{c.value=!1,s.value=i.list||[],d.value=Math.ceil(i.pager.total_rows/a.value),h&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(i=>{c.value=!1})};return Z(()=>{T()}),(l,h)=>{const i=ze,I=ke,W=ye,j=Fe,A=be,H=Be,L=$e,E=K,G=we,J=he;return _(),u(M,null,[p("div",null,[o(i,{title:g(b),back:!0},null,8,["title"]),o(G,{class:"main-content-wrap",bordered:""},{default:t(()=>[o(W,{type:"line",animated:"","default-value":m.value,"onUpdate:value":V},{default:t(()=>[o(I,{name:"follows",tab:"正在关注"}),o(I,{name:"followings",tab:"我的粉丝"})]),_:1},8,["default-value"]),c.value?(_(),u("div",Ne,[o(j,{num:a.value},null,8,["num"])])):(_(),u("div",Oe,[s.value.length===0?(_(),u("div",Ve,[o(A,{size:"large",description:"暂无数据"})])):U("",!0),(_(!0),u(M,null,ee(s.value,S=>(_(),N(L,{key:S.user_id},{default:t(()=>[o(H,{contact:S,onSendWhisper:$},null,8,["contact"])]),_:2},1024))),128))])),o(E,{show:f.value,user:w.value,onSuccess:F},null,8,["show","user"])]),_:1})]),d.value>0?(_(),u("div",De,[o(J,{page:e.value,"onUpdate:page":z,"page-slot":g(y).state.collapsedRight?5:8,"page-count":d.value},null,8,["page","page-slot","page-count"])])):U("",!0)],64)}}});const po=O(Re,[["__scopeId","data-v-0a10234f"]]);export{po as default}; diff --git a/web/dist/assets/Home-0382696a.js b/web/dist/assets/Home-0382696a.js deleted file mode 100644 index 43d1b765..00000000 --- a/web/dist/assets/Home-0382696a.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as Te}from"./whisper-d959da10.js";import{_ as Ue,a as Ee}from"./post-item.vue_vue_type_style_index_0_lang-d5631a43.js";import{_ as Ve}from"./post-skeleton-47a1ebec.js";import{d as _e,H as n,c as ce,b as ge,e as d,f as y,bf as B,j as A,k as a,w as l,q as O,Y as k,y as ve,A as L,x as $,F as pe,u as de,E as Ne}from"./@vue-a481fc63.js";import{u as fe}from"./vuex-44de225f.js";import{l as me}from"./lodash-e0b37ac3.js";import{g as xe,a as Re,c as qe,b as Ge,d as Oe,e as Pe,_ as Ye}from"./index-5faa66a7.js";import{p as Fe}from"./content-2d41ca0a.js";import{V as G,P as Q}from"./IEnum-5453a777.js";import{I as Le,V as Se,A as Me,d as Ke,E as We}from"./@vicons-7a4ef312.js";import{o as he,v as je,j as Qe,e as He,w as Ze,x as Je,y as Xe,z as $e,A as et,B as tt,C as at,a as we,D as st,E as ot,F as nt,G as lt,l as it,H as rt,I as ut,k as ct}from"./naive-ui-d8de3dda.js";import{_ as pt}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{b as dt,u as vt}from"./vue-router-e5a2430e.js";import{W as mt}from"./v3-infinite-loading-2c58ec2f.js";import{S as _t}from"./@opentiny-d73a2d67.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./vue-1e3b54ec.js";import"./xss-a5544f63.js";import"./cssfilter-af71ba68.js";const gt=H=>{const Y=new FileReader,b=i=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(i),T=()=>{const i=new Uint8Array(Y.result).subarray(0,4);let U="";for(let g=0;g{Y.onloadend=()=>{const g=H.type;i(g===""||g==="application/octet-stream"?T():b(g))},Y.readAsArrayBuffer(H.slice(0,4))})},ft={key:0,class:"compose-wrap"},ht={class:"compose-line"},wt={class:"compose-user"},yt={class:"compose-line compose-options"},kt={class:"attachment"},At={class:"submit-wrap"},bt={class:"attachment-list-wrap"},Ct={key:0,class:"attachment-price-wrap"},zt=A("span",null," 附件价格¥",-1),It={key:0,class:"eye-wrap"},Dt={key:1,class:"link-wrap"},Bt={key:1,class:"compose-wrap"},Tt=A("div",{class:"login-wrap"},[A("span",{class:"login-banner"}," 登录后,精彩更多")],-1),Ut={key:0,class:"login-only-wrap"},Et={key:1,class:"login-wrap"},Vt=_e({__name:"compose",emits:["post-success"],setup(H,{emit:Y}){const b=fe(),T=n([]),i=n(!1),U=n(!1),g=n(!1),P=n(!1),f=n(""),x=n([]),E=n(),V=n(0),m=n("public/image"),I=n([]),v=n([]),h=n([]),C=n([]),D=n(G.PUBLIC),R=n(G.PUBLIC),M="true".toLowerCase()==="true",F=+"400",Z=n("true".toLowerCase()==="true"),J=n("true".toLowerCase()==="true"),ee=n("true".toLowerCase()==="true"),S=n("false".toLowerCase()==="true"),te=n("true".toLowerCase()==="true"),K="/v1/attachment",q=ce(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),X=ce(()=>{let e=[{value:G.PUBLIC,label:"公开"},{value:G.PRIVATE,label:"私密"},{value:G.Following,label:"关注可见"}];return M&&e.push({value:G.FRIEND,label:"好友可见"}),e}),ae=()=>{g.value=!g.value,g.value&&P.value&&(P.value=!1)},W=()=>{P.value=!P.value,P.value&&g.value&&(g.value=!1)},se=me.debounce(e=>{xe({k:e}).then(t=>{let o=[];t.suggest.map(s=>{o.push({label:s,value:s})}),T.value=o,i.value=!1}).catch(t=>{i.value=!1})},200),c=me.debounce(e=>{Re({k:e}).then(t=>{let o=[];t.suggest.map(s=>{o.push({label:s,value:s})}),T.value=o,i.value=!1}).catch(t=>{i.value=!1})},200),p=(e,t)=>{i.value||(i.value=!0,t==="@"?se(e):c(e))},N=e=>{e.length>F?f.value=e.substring(0,F):f.value=e},w=e=>{m.value=e},z=e=>{for(let u=0;u30&&(e[u].name=o.substring(0,18)+"..."+o.substring(o.length-9)+"."+s)}I.value=e},oe=async e=>{var t,o,s,u,r;return m.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((t=e.file.file)==null?void 0:t.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):m.value==="image"&&((o=e.file.file)==null?void 0:o.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):m.value==="public/video"&&!["video/mp4","video/quicktime"].includes((s=e.file.file)==null?void 0:s.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):m.value==="public/video"&&((u=e.file.file)==null?void 0:u.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):m.value==="attachment"&&!await gt(e.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):m.value==="attachment"&&((r=e.file.file)==null?void 0:r.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},ne=({file:e,event:t})=>{var o;try{let s=JSON.parse((o=t.target)==null?void 0:o.response);s.code===0&&(m.value==="public/image"&&v.value.push({id:e.id,content:s.data.content}),m.value==="public/video"&&h.value.push({id:e.id,content:s.data.content}),m.value==="attachment"&&C.value.push({id:e.id,content:s.data.content}))}catch{window.$message.error("上传失败")}},le=({file:e,event:t})=>{var o;try{let s=JSON.parse((o=t.target)==null?void 0:o.response);if(s.code!==0){let u=s.msg||"上传失败";s.details&&s.details.length>0&&s.details.map(r=>{u+=":"+r}),window.$message.error(u)}}catch{window.$message.error("上传失败")}},ie=({file:e})=>{let t=v.value.findIndex(o=>o.id===e.id);t>-1&&v.value.splice(t,1),t=h.value.findIndex(o=>o.id===e.id),t>-1&&h.value.splice(t,1),t=C.value.findIndex(o=>o.id===e.id),t>-1&&C.value.splice(t,1)},re=()=>{if(f.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:e,users:t}=Fe(f.value);const o=[];let s=100;o.push({content:f.value,type:Q.TEXT,sort:s}),v.value.map(u=>{s++,o.push({content:u.content,type:Q.IMAGEURL,sort:s})}),h.value.map(u=>{s++,o.push({content:u.content,type:Q.VIDEOURL,sort:s})}),C.value.map(u=>{s++,o.push({content:u.content,type:Q.ATTACHMENT,sort:s})}),x.value.length>0&&x.value.map(u=>{s++,o.push({content:u,type:Q.LINKURL,sort:s})}),U.value=!0,qe({contents:o,tags:Array.from(new Set(e)),users:Array.from(new Set(t)),attachment_price:+V.value*100,visibility:D.value}).then(u=>{var r;window.$message.success("发布成功"),U.value=!1,Y("post-success",u),g.value=!1,P.value=!1,(r=E.value)==null||r.clear(),I.value=[],f.value="",x.value=[],v.value=[],h.value=[],C.value=[],D.value=R.value}).catch(u=>{U.value=!1})},j=e=>{b.commit("triggerAuth",!0),b.commit("triggerAuthKey",e)};return ge(()=>{const e="friend".toLowerCase();M&&e==="friend"?R.value=G.FRIEND:e==="following"?R.value=G.Following:e==="public"?R.value=G.PUBLIC:R.value=G.PRIVATE,D.value=R.value}),(e,t)=>{const o=he,s=je,u=Qe,r=He,ue=Ze,ye=Je,ke=Xe,Ae=$e,be=et,Ce=tt,ze=at,Ie=we,De=st,Be=ot;return d(),y("div",null,[B(b).state.userInfo.id>0?(d(),y("div",ft,[A("div",ht,[A("div",wt,[a(o,{round:"",size:30,src:B(b).state.userInfo.avatar},null,8,["src"])]),a(s,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:i.value,value:f.value,prefix:["@","#"],options:T.value,onSearch:p,"onUpdate:value":N,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(Ce,{ref_key:"uploadRef",ref:E,abstract:"","list-type":"image",multiple:!0,max:9,action:K,headers:{Authorization:q.value},data:{type:m.value},"file-list":I.value,onBeforeUpload:oe,onFinish:ne,onError:le,onRemove:ie,"onUpdate:fileList":z},{default:l(()=>[A("div",yt,[A("div",kt,[a(ue,{abstract:""},{default:l(({handleClick:_})=>[a(r,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("public/image"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Le))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),J.value?(d(),O(ue,{key:0,abstract:""},{default:l(({handleClick:_})=>[a(r,{disabled:I.value.length>0&&m.value!=="public/video"||I.value.length===9,onClick:()=>{w("public/video"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),ee.value?(d(),O(ue,{key:1,abstract:""},{default:l(({handleClick:_})=>[a(r,{disabled:I.value.length>0&&m.value==="public/video"||I.value.length===9,onClick:()=>{w("attachment"),_()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Me))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):k("",!0),a(r,{quaternary:"",circle:"",type:"primary",onClick:ve(ae,["stop"])},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(Ke))]),_:1})]),_:1},8,["onClick"]),te.value?(d(),O(r,{key:2,quaternary:"",circle:"",type:"primary",onClick:ve(W,["stop"])},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(B(We))]),_:1})]),_:1},8,["onClick"])):k("",!0)]),A("div",At,[a(ke,{trigger:"hover",placement:"bottom"},{trigger:l(()=>[a(ye,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:f.value.length/B(F)*100},null,8,["percentage"])]),default:l(()=>[L(" "+$(f.value.length)+" / "+$(B(F)),1)]),_:1}),a(r,{loading:U.value,onClick:re,type:"primary",secondary:"",round:""},{default:l(()=>[L(" 发布 ")]),_:1},8,["loading"])])]),A("div",bt,[a(Ae),C.value.length>0?(d(),y("div",Ct,[S.value?(d(),O(be,{key:0,value:V.value,"onUpdate:value":t[0]||(t[0]=_=>V.value=_),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:l(()=>[zt]),_:1},8,["value"])):k("",!0)])):k("",!0)])]),_:1},8,["headers","data","file-list"]),P.value?(d(),y("div",It,[a(De,{value:D.value,"onUpdate:value":t[1]||(t[1]=_=>D.value=_),name:"radiogroup"},{default:l(()=>[a(Ie,null,{default:l(()=>[(d(!0),y(pe,null,de(X.value,_=>(d(),O(ze,{key:_.value,value:_.value,label:_.label},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])):k("",!0),g.value?(d(),y("div",Dt,[a(Be,{value:x.value,"onUpdate:value":t[2]||(t[2]=_=>x.value=_),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":l(()=>[L(" 创建链接 ")]),_:1},8,["value"])])):k("",!0)])):(d(),y("div",Bt,[Tt,Z.value?k("",!0):(d(),y("div",Ut,[a(r,{strong:"",secondary:"",round:"",type:"primary",onClick:t[3]||(t[3]=_=>j("signin"))},{default:l(()=>[L(" 登录 ")]),_:1})])),Z.value?(d(),y("div",Et,[a(r,{strong:"",secondary:"",round:"",type:"primary",onClick:t[4]||(t[4]=_=>j("signin"))},{default:l(()=>[L(" 登录 ")]),_:1}),a(r,{strong:"",secondary:"",round:"",type:"info",onClick:t[5]||(t[5]=_=>j("signup"))},{default:l(()=>[L(" 注册 ")]),_:1})])):k("",!0)]))])}}});const Nt="data:image/png;base64,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",xt="/assets/discover-tweets-ab101944.jpeg",Rt="/assets/following-tweets-e36b4410.jpeg",qt={class:"slide-bar-item"},Gt={class:"slide-bar-item-title slide-bar-user-link"},Ot={key:1,class:"skeleton-wrap"},Pt={key:0,class:"empty-wrap"},Yt={key:1},Ft={key:2},Lt={class:"load-more-wrap"},St={class:"load-more-spinner"},Mt=_e({__name:"Home",setup(H){const Y="true".toLowerCase()==="true",b="true".toLowerCase()==="true",T=fe(),i=dt(),U=vt(),g=n(9),P=n(8),f=n([{title:"最新动态",style:1,username:"",avatar:Nt,show:!0},{title:"热门推荐",style:2,username:"",avatar:xt,show:!1},{title:"正在关注",style:3,username:"",avatar:Rt,show:!1},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0}]),x=n("泡泡广场"),E=n(!1),V=n(!1),m=n(1),I=n(""),v=n([]),h=n(1),C=n(20),D=n(0),R=n(!1),M=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),F=c=>{M.value=c,R.value=!0},Z=()=>{R.value=!1},J=()=>{x.value="泡泡广场",i.query&&i.query.q&&(i.query.t&&i.query.t==="tag"?x.value="#"+decodeURIComponent(i.query.q):x.value="搜索: "+decodeURIComponent(i.query.q))},ee=ce(()=>Y&&b&&T.state.desktopModelShow&&T.state.userInfo.id>0),S=()=>{E.value=!1,V.value=!1,v.value=[],h.value=1,D.value=0},te=(c,p)=>{switch(S(),m.value=c.style,i.query.q&&(i.query.q=null,J()),c.style){case 1:q("newest");break;case 2:q("hots");break;case 3:i.query.q=null,q("following");break;case 21:I.value=c.username,X();break}f.value[p].show=!1},K=()=>{f.value=f.value.slice(0,3),!(!Y||!b||T.state.userInfo.id===0)&&Ge({page:1,page_size:50}).then(c=>{var p=0;const N=c.list||[];let w=[];for(;p0&&(f.value=f.value.concat(w))}).catch(c=>{console.log(c)})},q=c=>{E.value=!0,Oe({query:i.query.q?decodeURIComponent(i.query.q):null,type:i.query.t,style:c,page:h.value,page_size:C.value}).then(p=>{E.value=!1,p.list.length===0&&(V.value=!0),h.value>1?v.value=v.value.concat(p.list):(v.value=p.list,window.scrollTo(0,0)),D.value=Math.ceil(p.pager.total_rows/C.value)}).catch(p=>{E.value=!1,h.value>1&&h.value--})},X=()=>{E.value=!0,Pe({username:I.value,style:"post",page:h.value,page_size:C.value}).then(c=>{E.value=!1,c.list.length===0&&(V.value=!0),h.value>1?v.value=v.value.concat(c.list):(v.value=c.list||[],window.scrollTo(0,0)),D.value=Math.ceil(c.pager.total_rows/C.value)}).catch(c=>{v.value=[],h.value>1&&h.value--,E.value=!1})},ae=c=>{if(m.value!=1){U.push({name:"post",query:{id:c.id}});return}let p=[],N=v.value.length;N==C.value&&N--;for(var w=0;w{switch(m.value){case 1:q("newest");break;case 2:q("hots");break;case 3:q("following");break;case 21:i.query.q?q("search"):X();break}},se=()=>{h.value{S(),K(),q("newest")}),Ne(()=>({path:i.path,query:i.query,refresh:T.state.refresh}),(c,p)=>{if(J(),c.refresh!==p.refresh){S(),setTimeout(()=>{K(),W()},0);return}p.path!=="/post"&&c.path==="/"&&(S(),setTimeout(()=>{K(),W()},0))}),(c,p)=>{const N=pt,w=Vt,z=lt,oe=he,ne=it,le=rt,ie=Ve,re=ut,j=Ue,e=Ee,t=Te,o=nt,s=ct,u=we;return d(),y("div",null,[a(N,{title:x.value},null,8,["title"]),a(o,{class:"main-content-wrap",bordered:""},{default:l(()=>[a(z,null,{default:l(()=>[a(w,{onPostSuccess:ae})]),_:1}),ee.value?(d(),O(z,{key:0},{default:l(()=>[a(B(_t),{modelValue:f.value,"onUpdate:modelValue":p[0]||(p[0]=r=>f.value=r),"wheel-blocks":P.value,"init-blocks":g.value,onClick:te,tag:"div","sub-tag":"div"},{default:l(r=>[A("div",qt,[a(ne,{value:"1",offset:[-4,48],dot:"",show:r.slotData.show},{default:l(()=>[a(oe,{round:"",size:48,src:r.slotData.avatar,class:"slide-bar-item-avatar"},null,8,["src"])]),_:2},1032,["show"]),A("div",Gt,[a(le,{"line-clamp":2},{default:l(()=>[L($(r.slotData.title),1)]),_:2},1024)])])]),_:1},8,["modelValue","wheel-blocks","init-blocks"])]),_:1})):k("",!0),E.value&&v.value.length===0?(d(),y("div",Ot,[a(ie,{num:C.value},null,8,["num"])])):k("",!0),A("div",null,[v.value.length===0?(d(),y("div",Pt,[a(re,{size:"large",description:"暂无数据"})])):k("",!0),B(T).state.desktopModelShow?(d(),y("div",Yt,[(d(!0),y(pe,null,de(v.value,r=>(d(),O(z,{key:r.id},{default:l(()=>[a(j,{post:r,onSendWhisper:F},null,8,["post"])]),_:2},1024))),128))])):(d(),y("div",Ft,[(d(!0),y(pe,null,de(v.value,r=>(d(),O(z,{key:r.id},{default:l(()=>[a(e,{post:r,onSendWhisper:F},null,8,["post"])]),_:2},1024))),128))]))]),a(t,{show:R.value,user:M.value,onSuccess:Z},null,8,["show","user"])]),_:1}),D.value>0?(d(),O(u,{key:0,justify:"center"},{default:l(()=>[a(B(mt),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:p[1]||(p[1]=r=>se())},{spinner:l(()=>[A("div",Lt,[V.value?k("",!0):(d(),O(s,{key:0,size:14})),A("span",St,$(V.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):k("",!0)])}}});const Ta=Ye(Mt,[["__scopeId","data-v-bae55427"]]);export{Ta as default}; diff --git a/web/dist/assets/Home-5d6ae80a.js b/web/dist/assets/Home-5d6ae80a.js new file mode 100644 index 00000000..74a71945 --- /dev/null +++ b/web/dist/assets/Home-5d6ae80a.js @@ -0,0 +1 @@ +import{_ as Te}from"./whisper-e51c17fc.js";import{_ as Ue,a as Ee}from"./post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js";import{_ as Ve}from"./post-skeleton-2311fe04.js";import{d as _e,H as n,c as ce,b as ge,e as c,f as w,bf as I,j as A,k as a,w as l,q,Y as y,y as ve,A as F,x as $,F as pe,u as de,E as Ne}from"./@vue-a481fc63.js";import{u as fe}from"./vuex-44de225f.js";import{l as me}from"./lodash-e0b37ac3.js";import{g as xe,a as Re,c as qe,b as Ge,d as Oe,e as Pe,_ as Ye}from"./index-fae12ace.js";import{p as Fe}from"./content-1a1bcb51.js";import{V as R,P as Q}from"./IEnum-5453a777.js";import{I as Le,V as Se,A as Me,d as Ke,E as We}from"./@vicons-7a4ef312.js";import{o as he,v as je,j as Qe,e as He,w as Ze,x as Je,y as Xe,z as $e,A as et,B as tt,C as at,a as we,D as st,E as ot,F as nt,G as lt,l as it,H as rt,I as ut,k as ct}from"./naive-ui-d8de3dda.js";import{_ as pt}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{b as dt,u as vt}from"./vue-router-e5a2430e.js";import{W as mt}from"./v3-infinite-loading-2c58ec2f.js";import{S as _t}from"./@opentiny-d73a2d67.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./vue-1e3b54ec.js";import"./xss-a5544f63.js";import"./cssfilter-af71ba68.js";const gt=H=>{const P=new FileReader,k=i=>["application/zip","application/x-zip","application/octet-stream","application/x-zip-compressed"].includes(i),D=()=>{const i=new Uint8Array(P.result).subarray(0,4);let B="";for(let _=0;_{P.onloadend=()=>{const _=H.type;i(_===""||_==="application/octet-stream"?D():k(_))},P.readAsArrayBuffer(H.slice(0,4))})},ft={key:0,class:"compose-wrap"},ht={class:"compose-line"},wt={class:"compose-user"},yt={class:"compose-line compose-options"},At={class:"attachment"},kt={class:"submit-wrap"},bt={class:"attachment-list-wrap"},Ct={key:0,class:"attachment-price-wrap"},zt=A("span",null," 附件价格¥",-1),It={key:0,class:"eye-wrap"},Dt={key:1,class:"link-wrap"},Bt={key:1,class:"compose-wrap"},Tt=A("div",{class:"login-wrap"},[A("span",{class:"login-banner"}," 登录后,精彩更多")],-1),Ut={key:0,class:"login-only-wrap"},Et={key:1,class:"login-wrap"},Vt=_e({__name:"compose",emits:["post-success"],setup(H,{emit:P}){const k=fe(),D=n([]),i=n(!1),B=n(!1),_=n(!1),G=n(!1),g=n(""),E=n([]),T=n(),U=n(0),f=n("public/image"),b=n([]),v=n([]),h=n([]),C=n([]),z=n(R.PUBLIC),V=n(R.PUBLIC),M="true".toLowerCase()==="true",Y=+"400",Z=n("true".toLowerCase()==="true"),J=n("true".toLowerCase()==="true"),ee=n("true".toLowerCase()==="true"),L=n("false".toLowerCase()==="true"),te=n("true".toLowerCase()==="true"),K="/v1/attachment",N=ce(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),X=ce(()=>{let e=[{value:R.PUBLIC,label:"公开"},{value:R.PRIVATE,label:"私密"},{value:R.Following,label:"关注可见"}];return M&&e.push({value:R.FRIEND,label:"好友可见"}),e}),ae=()=>{_.value=!_.value,_.value&&G.value&&(G.value=!1)},W=()=>{G.value=!G.value,G.value&&_.value&&(_.value=!1)},se=me.debounce(e=>{xe({k:e}).then(t=>{let o=[];t.suggest.map(s=>{o.push({label:s,value:s})}),D.value=o,i.value=!1}).catch(t=>{i.value=!1})},200),p=me.debounce(e=>{Re({k:e}).then(t=>{let o=[];t.suggest.map(s=>{o.push({label:s,value:s})}),D.value=o,i.value=!1}).catch(t=>{i.value=!1})},200),d=(e,t)=>{i.value||(i.value=!0,t==="@"?se(e):p(e))},S=e=>{e.length>Y?g.value=e.substring(0,Y):g.value=e},O=e=>{f.value=e},x=e=>{for(let u=0;u30&&(e[u].name=o.substring(0,18)+"..."+o.substring(o.length-9)+"."+s)}b.value=e},oe=async e=>{var t,o,s,u,r;return f.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((t=e.file.file)==null?void 0:t.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):f.value==="image"&&((o=e.file.file)==null?void 0:o.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):f.value==="public/video"&&!["video/mp4","video/quicktime"].includes((s=e.file.file)==null?void 0:s.type)?(window.$message.warning("视频仅允许 mp4/mov 格式"),!1):f.value==="public/video"&&((u=e.file.file)==null?void 0:u.size)>104857600?(window.$message.warning("视频大小不能超过100MB"),!1):f.value==="attachment"&&!await gt(e.file.file)?(window.$message.warning("附件仅允许 zip 格式"),!1):f.value==="attachment"&&((r=e.file.file)==null?void 0:r.size)>104857600?(window.$message.warning("附件大小不能超过100MB"),!1):!0},ne=({file:e,event:t})=>{var o;try{let s=JSON.parse((o=t.target)==null?void 0:o.response);s.code===0&&(f.value==="public/image"&&v.value.push({id:e.id,content:s.data.content}),f.value==="public/video"&&h.value.push({id:e.id,content:s.data.content}),f.value==="attachment"&&C.value.push({id:e.id,content:s.data.content}))}catch{window.$message.error("上传失败")}},le=({file:e,event:t})=>{var o;try{let s=JSON.parse((o=t.target)==null?void 0:o.response);if(s.code!==0){let u=s.msg||"上传失败";s.details&&s.details.length>0&&s.details.map(r=>{u+=":"+r}),window.$message.error(u)}}catch{window.$message.error("上传失败")}},ie=({file:e})=>{let t=v.value.findIndex(o=>o.id===e.id);t>-1&&v.value.splice(t,1),t=h.value.findIndex(o=>o.id===e.id),t>-1&&h.value.splice(t,1),t=C.value.findIndex(o=>o.id===e.id),t>-1&&C.value.splice(t,1)},re=()=>{if(g.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{tags:e,users:t}=Fe(g.value);const o=[];let s=100;o.push({content:g.value,type:Q.TEXT,sort:s}),v.value.map(u=>{s++,o.push({content:u.content,type:Q.IMAGEURL,sort:s})}),h.value.map(u=>{s++,o.push({content:u.content,type:Q.VIDEOURL,sort:s})}),C.value.map(u=>{s++,o.push({content:u.content,type:Q.ATTACHMENT,sort:s})}),E.value.length>0&&E.value.map(u=>{s++,o.push({content:u,type:Q.LINKURL,sort:s})}),B.value=!0,qe({contents:o,tags:Array.from(new Set(e)),users:Array.from(new Set(t)),attachment_price:+U.value*100,visibility:z.value}).then(u=>{var r;window.$message.success("发布成功"),B.value=!1,P("post-success",u),_.value=!1,G.value=!1,(r=T.value)==null||r.clear(),b.value=[],g.value="",E.value=[],v.value=[],h.value=[],C.value=[],z.value=V.value}).catch(u=>{B.value=!1})},j=e=>{k.commit("triggerAuth",!0),k.commit("triggerAuthKey",e)};return ge(()=>{const e="friend".toLowerCase();M&&e==="friend"?V.value=R.FRIEND:e==="following"?V.value=R.Following:e==="public"?V.value=R.PUBLIC:V.value=R.PRIVATE,z.value=V.value}),(e,t)=>{const o=he,s=je,u=Qe,r=He,ue=Ze,ye=Je,Ae=Xe,ke=$e,be=et,Ce=tt,ze=at,Ie=we,De=st,Be=ot;return c(),w("div",null,[I(k).state.userInfo.id>0?(c(),w("div",ft,[A("div",ht,[A("div",wt,[a(o,{round:"",size:30,src:I(k).state.userInfo.avatar},null,8,["src"])]),a(s,{type:"textarea",size:"large",autosize:"",bordered:!1,loading:i.value,value:g.value,prefix:["@","#"],options:D.value,onSearch:d,"onUpdate:value":S,placeholder:"说说您的新鲜事..."},null,8,["loading","value","options"])]),a(Ce,{ref_key:"uploadRef",ref:T,abstract:"","list-type":"image",multiple:!0,max:9,action:K,headers:{Authorization:N.value},data:{type:f.value},"file-list":b.value,onBeforeUpload:oe,onFinish:ne,onError:le,onRemove:ie,"onUpdate:fileList":x},{default:l(()=>[A("div",yt,[A("div",At,[a(ue,{abstract:""},{default:l(({handleClick:m})=>[a(r,{disabled:b.value.length>0&&f.value==="public/video"||b.value.length===9,onClick:()=>{O("public/image"),m()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(I(Le))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),J.value?(c(),q(ue,{key:0,abstract:""},{default:l(({handleClick:m})=>[a(r,{disabled:b.value.length>0&&f.value!=="public/video"||b.value.length===9,onClick:()=>{O("public/video"),m()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(I(Se))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):y("",!0),ee.value?(c(),q(ue,{key:1,abstract:""},{default:l(({handleClick:m})=>[a(r,{disabled:b.value.length>0&&f.value==="public/video"||b.value.length===9,onClick:()=>{O("attachment"),m()},quaternary:"",circle:"",type:"primary"},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(I(Me))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1})):y("",!0),a(r,{quaternary:"",circle:"",type:"primary",onClick:ve(ae,["stop"])},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(I(Ke))]),_:1})]),_:1},8,["onClick"]),te.value?(c(),q(r,{key:2,quaternary:"",circle:"",type:"primary",onClick:ve(W,["stop"])},{icon:l(()=>[a(u,{size:"20",color:"var(--primary-color)"},{default:l(()=>[a(I(We))]),_:1})]),_:1},8,["onClick"])):y("",!0)]),A("div",kt,[a(Ae,{trigger:"hover",placement:"bottom"},{trigger:l(()=>[a(ye,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:g.value.length/I(Y)*100},null,8,["percentage"])]),default:l(()=>[F(" "+$(g.value.length)+" / "+$(I(Y)),1)]),_:1}),a(r,{loading:B.value,onClick:re,type:"primary",secondary:"",round:""},{default:l(()=>[F(" 发布 ")]),_:1},8,["loading"])])]),A("div",bt,[a(ke),C.value.length>0?(c(),w("div",Ct,[L.value?(c(),q(be,{key:0,value:U.value,"onUpdate:value":t[0]||(t[0]=m=>U.value=m),min:0,max:1e5,placeholder:"请输入附件价格,0为免费附件"},{prefix:l(()=>[zt]),_:1},8,["value"])):y("",!0)])):y("",!0)])]),_:1},8,["headers","data","file-list"]),G.value?(c(),w("div",It,[a(De,{value:z.value,"onUpdate:value":t[1]||(t[1]=m=>z.value=m),name:"radiogroup"},{default:l(()=>[a(Ie,null,{default:l(()=>[(c(!0),w(pe,null,de(X.value,m=>(c(),q(ze,{key:m.value,value:m.value,label:m.label},null,8,["value","label"]))),128))]),_:1})]),_:1},8,["value"])])):y("",!0),_.value?(c(),w("div",Dt,[a(Be,{value:E.value,"onUpdate:value":t[2]||(t[2]=m=>E.value=m),placeholder:"请输入以http(s)://开头的链接",min:0,max:3},{"create-button-default":l(()=>[F(" 创建链接 ")]),_:1},8,["value"])])):y("",!0)])):(c(),w("div",Bt,[Tt,Z.value?y("",!0):(c(),w("div",Ut,[a(r,{strong:"",secondary:"",round:"",type:"primary",onClick:t[3]||(t[3]=m=>j("signin"))},{default:l(()=>[F(" 登录 ")]),_:1})])),Z.value?(c(),w("div",Et,[a(r,{strong:"",secondary:"",round:"",type:"primary",onClick:t[4]||(t[4]=m=>j("signin"))},{default:l(()=>[F(" 登录 ")]),_:1}),a(r,{strong:"",secondary:"",round:"",type:"info",onClick:t[5]||(t[5]=m=>j("signup"))},{default:l(()=>[F(" 注册 ")]),_:1})])):y("",!0)]))])}}});const Nt="data:image/png;base64,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",xt="/assets/discover-tweets-ab101944.jpeg",Rt="/assets/following-tweets-e36b4410.jpeg",qt={class:"slide-bar-item"},Gt={class:"slide-bar-item-title slide-bar-user-link"},Ot={key:1,class:"skeleton-wrap"},Pt={key:0,class:"empty-wrap"},Yt={key:1},Ft={key:2},Lt={class:"load-more-wrap"},St={class:"load-more-spinner"},Mt=_e({__name:"Home",setup(H){const P="true".toLowerCase()==="true",k="true".toLowerCase()==="true",D=fe(),i=dt(),B=vt(),_=n(9),G=n(8),g=n([{title:"最新动态",style:1,username:"",avatar:Nt,show:!0},{title:"热门推荐",style:2,username:"",avatar:xt,show:!1},{title:"正在关注",style:3,username:"",avatar:Rt,show:!1},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0},{title:"",style:1,username:"",avatar:"",show:!0}]),E=n("泡泡广场"),T=n(!1),U=n(!1),f=n(1),b=n(""),v=n([]),h=n(1),C=n(20),z=n(0),V=n(!1),M=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),Y=p=>{M.value=p,V.value=!0},Z=()=>{V.value=!1},J=()=>{E.value="泡泡广场",i.query&&i.query.q&&(i.query.t&&i.query.t==="tag"?E.value="#"+decodeURIComponent(i.query.q):E.value="搜索: "+decodeURIComponent(i.query.q))},ee=ce(()=>P&&k&&D.state.desktopModelShow&&D.state.userInfo.id>0),L=()=>{T.value=!1,U.value=!1,v.value=[],h.value=1,z.value=0},te=(p,d)=>{switch(L(),f.value=p.style,i.query.q&&(i.query.q=null,J()),p.style){case 1:N("newest");break;case 2:N("hots");break;case 3:i.query.q=null,N("following");break;case 21:b.value=p.username,X();break}g.value[d].show=!1},K=()=>{g.value=g.value.slice(0,3),!(!P||!k||D.state.userInfo.id===0)&&Ge({page:1,page_size:50}).then(p=>{var d=0;const S=p.list||[];let O=[];for(;d0&&(g.value=g.value.concat(O))}).catch(p=>{console.log(p)})},N=p=>{T.value=!0,Oe({query:i.query.q?decodeURIComponent(i.query.q):null,type:i.query.t,style:p,page:h.value,page_size:C.value}).then(d=>{T.value=!1,d.list.length===0&&(U.value=!0),h.value>1?v.value=v.value.concat(d.list):(v.value=d.list,window.scrollTo(0,0)),z.value=Math.ceil(d.pager.total_rows/C.value)}).catch(d=>{T.value=!1,h.value>1&&h.value--})},X=()=>{T.value=!0,Pe({username:b.value,style:"post",page:h.value,page_size:C.value}).then(p=>{T.value=!1,p.list.length===0&&(U.value=!0),h.value>1?v.value=v.value.concat(p.list):(v.value=p.list||[],window.scrollTo(0,0)),z.value=Math.ceil(p.pager.total_rows/C.value)}).catch(p=>{v.value=[],h.value>1&&h.value--,T.value=!1})},ae=p=>{B.push({name:"post",query:{id:p.id}})},W=()=>{switch(f.value){case 1:N("newest");break;case 2:N("hots");break;case 3:N("following");break;case 21:i.query.q?N("search"):X();break}},se=()=>{h.value{L(),K(),N("newest")}),Ne(()=>({path:i.path,query:i.query,refresh:D.state.refresh}),(p,d)=>{if(J(),p.refresh!==d.refresh){L(),setTimeout(()=>{K(),W()},0);return}d.path!=="/post"&&p.path==="/"&&(L(),setTimeout(()=>{K(),W()},0))}),(p,d)=>{const S=pt,O=Vt,x=lt,oe=he,ne=it,le=rt,ie=Ve,re=ut,j=Ue,e=Ee,t=Te,o=nt,s=ct,u=we;return c(),w("div",null,[a(S,{title:E.value},null,8,["title"]),a(o,{class:"main-content-wrap",bordered:""},{default:l(()=>[a(x,null,{default:l(()=>[a(O,{onPostSuccess:ae})]),_:1}),ee.value?(c(),q(x,{key:0},{default:l(()=>[a(I(_t),{modelValue:g.value,"onUpdate:modelValue":d[0]||(d[0]=r=>g.value=r),"wheel-blocks":G.value,"init-blocks":_.value,onClick:te,tag:"div","sub-tag":"div"},{default:l(r=>[A("div",qt,[a(ne,{value:"1",offset:[-4,48],dot:"",show:r.slotData.show},{default:l(()=>[a(oe,{round:"",size:48,src:r.slotData.avatar,class:"slide-bar-item-avatar"},null,8,["src"])]),_:2},1032,["show"]),A("div",Gt,[a(le,{"line-clamp":2},{default:l(()=>[F($(r.slotData.title),1)]),_:2},1024)])])]),_:1},8,["modelValue","wheel-blocks","init-blocks"])]),_:1})):y("",!0),T.value&&v.value.length===0?(c(),w("div",Ot,[a(ie,{num:C.value},null,8,["num"])])):y("",!0),A("div",null,[v.value.length===0?(c(),w("div",Pt,[a(re,{size:"large",description:"暂无数据"})])):y("",!0),I(D).state.desktopModelShow?(c(),w("div",Yt,[(c(!0),w(pe,null,de(v.value,r=>(c(),q(x,{key:r.id},{default:l(()=>[a(j,{post:r,onSendWhisper:Y},null,8,["post"])]),_:2},1024))),128))])):(c(),w("div",Ft,[(c(!0),w(pe,null,de(v.value,r=>(c(),q(x,{key:r.id},{default:l(()=>[a(e,{post:r,onSendWhisper:Y},null,8,["post"])]),_:2},1024))),128))]))]),a(t,{show:V.value,user:M.value,onSuccess:Z},null,8,["show","user"])]),_:1}),z.value>0?(c(),q(u,{key:0,justify:"center"},{default:l(()=>[a(I(mt),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:d[1]||(d[1]=r=>se())},{spinner:l(()=>[A("div",Lt,[U.value?y("",!0):(c(),q(s,{key:0,size:14})),A("span",St,$(U.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):y("",!0)])}}});const Ta=Ye(Mt,[["__scopeId","data-v-b0cbbdc2"]]);export{Ta as default}; diff --git a/web/dist/assets/Home-2a6423f9.css b/web/dist/assets/Home-b58ba6dd.css similarity index 62% rename from web/dist/assets/Home-2a6423f9.css rename to web/dist/assets/Home-b58ba6dd.css index e6a8931f..c9b69c63 100644 --- a/web/dist/assets/Home-2a6423f9.css +++ b/web/dist/assets/Home-b58ba6dd.css @@ -1 +1 @@ -.compose-wrap{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .text-statistic{margin-right:8px;width:20px;height:20px;transform:rotate(180deg)}.compose-wrap .link-wrap{margin-left:42px;margin-right:42px}.compose-wrap .eye-wrap{margin-left:64px}.compose-wrap .login-only-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-only-wrap button{margin:0 4px;width:50%}.compose-wrap .login-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button{margin:0 4px}.attachment-list-wrap{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail{overflow:hidden}.dark .compose-wrap{background-color:#101014bf}.tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-bae55427]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item[data-v-bae55427]{cursor:pointer}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-avatar[data-v-bae55427]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-bae55427]{color:#18a058;opacity:.8}.tiny-slide-bar[data-v-bae55427]{margin-top:-30px;margin-bottom:-30px}.tiny-slide-bar .slide-bar-item[data-v-bae55427]{min-height:170px;width:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:8px}.tiny-slide-bar .slide-bar-item .slide-bar-item-title[data-v-bae55427]{justify-content:center;font-size:12px;margin-top:4px;height:40px}.load-more[data-v-bae55427]{margin:20px}.load-more .load-more-wrap[data-v-bae55427]{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:14px}.load-more .load-more-wrap .load-more-spinner[data-v-bae55427]{font-size:14px;opacity:.65}.dark .main-content-wrap[data-v-bae55427],.dark .pagination-wrap[data-v-bae55427],.dark .empty-wrap[data-v-bae55427],.dark .skeleton-wrap[data-v-bae55427]{background-color:#101014bf}.dark .tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-bae55427]{color:#63e2b7;opacity:.8}.dark .tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-bae55427]{color:#63e2b7;opacity:.8} +.compose-wrap{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .text-statistic{margin-right:8px;width:20px;height:20px;transform:rotate(180deg)}.compose-wrap .link-wrap{margin-left:42px;margin-right:42px}.compose-wrap .eye-wrap{margin-left:64px}.compose-wrap .login-only-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-only-wrap button{margin:0 4px;width:50%}.compose-wrap .login-wrap{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button{margin:0 4px}.attachment-list-wrap{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail{overflow:hidden}.dark .compose-wrap{background-color:#101014bf}.tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-b0cbbdc2]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item[data-v-b0cbbdc2]{cursor:pointer}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-avatar[data-v-b0cbbdc2]{color:#18a058;opacity:.8}.tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-b0cbbdc2]{color:#18a058;opacity:.8}.tiny-slide-bar[data-v-b0cbbdc2]{margin-top:-30px;margin-bottom:-30px}.tiny-slide-bar .slide-bar-item[data-v-b0cbbdc2]{min-height:170px;width:64px;display:flex;flex-direction:column;justify-content:center;align-items:center;margin-top:8px}.tiny-slide-bar .slide-bar-item .slide-bar-item-title[data-v-b0cbbdc2]{justify-content:center;font-size:12px;margin-top:4px;height:40px}.load-more[data-v-b0cbbdc2]{margin:20px}.load-more .load-more-wrap[data-v-b0cbbdc2]{display:flex;flex-direction:row;justify-content:center;align-items:center;gap:14px}.load-more .load-more-wrap .load-more-spinner[data-v-b0cbbdc2]{font-size:14px;opacity:.65}.dark .main-content-wrap[data-v-b0cbbdc2],.dark .pagination-wrap[data-v-b0cbbdc2],.dark .empty-wrap[data-v-b0cbbdc2],.dark .skeleton-wrap[data-v-b0cbbdc2]{background-color:#101014bf}.dark .tiny-slide-bar .tiny-slide-bar__list>div.tiny-slide-bar__select .slide-bar-item .slide-bar-item-title[data-v-b0cbbdc2]{color:#63e2b7;opacity:.8}.dark .tiny-slide-bar .tiny-slide-bar__list>div:hover .slide-bar-item .slide-bar-item-title[data-v-b0cbbdc2]{color:#63e2b7;opacity:.8} diff --git a/web/dist/assets/Messages-c3fa26d0.js b/web/dist/assets/Messages-af51f2e2.js similarity index 97% rename from web/dist/assets/Messages-c3fa26d0.js rename to web/dist/assets/Messages-af51f2e2.js index 126aac3d..2ecbdad0 100644 --- a/web/dist/assets/Messages-c3fa26d0.js +++ b/web/dist/assets/Messages-af51f2e2.js @@ -1 +1 @@ -import{d as D,c as N,r as J,e as t,f as r,k as s,w as a,bf as o,j as f,y as C,A as _,x as m,q as I,Y as i,l as K,h as H,u as T,F as U,H as v,b as Y}from"./@vue-a481fc63.js";import{u as G}from"./vuex-44de225f.js";import{u as X,b as Z}from"./vue-router-e5a2430e.js";import{E as x,M as ee,N as se,O as ne,_ as E,P as te}from"./index-5faa66a7.js";import{J as L,i as ae,K as oe,N as re,O as Q,Q as ie,p as le}from"./@vicons-7a4ef312.js";import{j as d,o as ue,M as _e,l as pe,e as ce,O as de,S as me,L as ge,U as ve,F as fe,Q as ye,I as ke,G as he}from"./naive-ui-d8de3dda.js";import{_ as we}from"./whisper-d959da10.js";import{_ as $e}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const be={class:"sender-wrap"},Ce={key:0,class:"nickname"},Ie={class:"username"},Me={key:1,class:"nickname"},Se={class:"username"},ze={key:2,class:"nickname"},Oe={class:"timestamp"},Fe={class:"timestamp-txt"},Ne={key:0,class:"brief-content"},qe={key:1,class:"whisper-content-wrap"},Re={key:2,class:"requesting-friend-wrap"},Ae={key:2,class:"status-info"},Pe={key:3,class:"status-info"},We="https://assets.paopao.info/public/avatar/default/admin.png",je=D({__name:"message-item",props:{message:{}},emits:["send-whisper"],setup(q,{emit:y}){const p=q,c=X(),l=G(),k=e=>()=>H(d,null,{default:()=>H(e)}),h=N(()=>[{label:"私信",key:"whisper",icon:k(le)}]),w=e=>{switch(e){case"whisper":const n=p.message;if(n.type!=99){let $=n.type==4&&n.sender_user_id==l.state.userInfo.id?n.receiver_user:n.sender_user;y("send-whisper",$)}break}},g=N(()=>p.message.type!==4||p.message.sender_user_id!==l.state.userInfo.id),M=N(()=>p.message.type==4&&p.message.receiver_user_id==l.state.userInfo.id),S=N(()=>p.message.type==4&&p.message.sender_user_id==l.state.userInfo.id),R=e=>{u(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?c.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},z=e=>{u(e),ee({user_id:e.sender_user_id}).then(n=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(n=>{console.log(n)})},A=e=>{u(e),se({user_id:e.sender_user_id}).then(n=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(n=>{console.log(n)})},u=e=>{p.message.receiver_user_id==l.state.userInfo.id&&e.is_read===0&&ne({id:e.id}).then(n=>{e.is_read=1}).catch(n=>{console.log(n)})};return(e,n)=>{const $=ue,O=J("router-link"),b=_e,P=pe,W=ce,j=de,B=me,F=ge;return t(),r("div",{class:K(["message-item",{unread:g.value&&e.message.is_read===0}]),onClick:n[5]||(n[5]=V=>u(e.message))},[s(F,{"content-indented":""},{avatar:a(()=>[s($,{round:"",size:30,src:e.message.type==4&&e.message.sender_user_id==o(l).state.userInfo.id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:We},null,8,["src"])]),header:a(()=>[f("div",be,[e.message.type!=4&&e.message.sender_user.id>0||M.value?(t(),r("span",Ce,[s(O,{onClick:n[0]||(n[0]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.sender_user.username}}},{default:a(()=>[_(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),f("span",Ie," @"+m(e.message.sender_user.username),1)])):S.value?(t(),r("span",Me,[s(O,{onClick:n[1]||(n[1]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.receiver_user.username}}},{default:a(()=>[_(m(e.message.receiver_user.nickname),1)]),_:1},8,["to"]),f("span",Se," @"+m(e.message.receiver_user.username),1)])):(t(),r("span",ze," 系统 ")),e.message.type==4?(t(),I(b,{key:3,class:"top-tag",type:"success",size:"small",round:""},{default:a(()=>[_(" 私信 ")]),_:1})):i("",!0),S.value?(t(),I(b,{key:4,class:"top-tag",type:"info",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已发送 ")]),_:1})):i("",!0),e.message.type==4&&e.message.receiver_user_id==o(l).state.userInfo.id?(t(),I(b,{key:5,class:"top-tag",type:"warning",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已接收 ")]),_:1})):i("",!0)])]),"header-extra":a(()=>[f("span",Oe,[g.value&&e.message.is_read===0?(t(),I(P,{key:0,dot:"",processing:""})):i("",!0),f("span",Fe,m(o(x)(e.message.created_on)),1),s(j,{placement:"bottom-end",trigger:"click",size:"small",options:h.value,onSelect:w},{default:a(()=>[s(W,{quaternary:"",circle:""},{icon:a(()=>[s(o(d),null,{default:a(()=>[s(o(ae))]),_:1})]),_:1})]),_:1},8,["options"])])]),description:a(()=>[s(B,{"show-icon":!1,class:"brief-wrap",type:!g.value||e.message.is_read>0?"default":"success"},{default:a(()=>[e.message.type!=4?(t(),r("div",Ne,[_(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),r("span",{key:0,onClick:n[2]||(n[2]=C(V=>R(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(oe))]),_:1}),_(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(t(),r("div",qe,m(e.message.content),1)):i("",!0),e.message.type===5?(t(),r("div",Re,[_(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),r("span",{key:0,onClick:n[3]||(n[3]=C(V=>z(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(re))]),_:1}),_(" 同意 ")])):i("",!0),e.message.reply_id===1?(t(),r("span",{key:1,onClick:n[4]||(n[4]=C(V=>A(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(t(),r("span",Ae,[s(o(d),null,{default:a(()=>[s(o(ie))]),_:1}),_(" 已同意 ")])):i("",!0),e.message.reply_id===3?(t(),r("span",Pe,[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Be=E(je,[["__scopeId","data-v-2e510758"]]),Ve={class:"content"},De=D({__name:"message-skeleton",props:{num:{default:1}},setup(q){return(y,p)=>{const c=ve;return t(!0),r(U,null,T(new Array(y.num),l=>(t(),r("div",{class:"skeleton-item",key:l},[f("div",Ve,[s(c,{text:"",repeat:2}),s(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Ee=E(De,[["__scopeId","data-v-01d2e871"]]),He={key:0,class:"skeleton-wrap"},Le={key:1},Qe={key:0,class:"empty-wrap"},Te={key:0,class:"pagination-wrap"},Ue=D({__name:"Messages",setup(q){const y=Z(),p=G(),c=v(!1),l=v(+y.query.p||1),k=v(10),h=v(0),w=v([]),g=v(!1),M=v({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),S=u=>{M.value=u,g.value=!0},R=()=>{g.value=!1},z=()=>{c.value=!0,te({page:l.value,page_size:k.value}).then(u=>{c.value=!1,w.value=u.list,h.value=Math.ceil(u.pager.total_rows/k.value)}).catch(u=>{c.value=!1})},A=u=>{l.value=u,z()};return Y(()=>{z()}),(u,e)=>{const n=$e,$=we,O=Ee,b=ke,P=Be,W=he,j=fe,B=ye;return t(),r("div",null,[s(n,{title:"消息"}),s(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:a(()=>[s($,{show:g.value,user:M.value,onSuccess:R},null,8,["show","user"]),c.value?(t(),r("div",He,[s(O,{num:k.value},null,8,["num"])])):(t(),r("div",Le,[w.value.length===0?(t(),r("div",Qe,[s(b,{size:"large",description:"暂无数据"})])):i("",!0),(t(!0),r(U,null,T(w.value,F=>(t(),I(W,{key:F.id},{default:a(()=>[s(P,{message:F,onSendWhisper:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),h.value>0?(t(),r("div",Te,[s(B,{page:l.value,"onUpdate:page":A,"page-slot":o(p).state.collapsedRight?5:8,"page-count":h.value},null,8,["page","page-slot","page-count"])])):i("",!0)])}}});const fs=E(Ue,[["__scopeId","data-v-b40dcbaf"]]);export{fs as default}; +import{d as D,c as N,r as J,e as t,f as r,k as s,w as a,bf as o,j as f,y as C,A as _,x as m,q as I,Y as i,l as K,h as H,u as T,F as U,H as v,b as Y}from"./@vue-a481fc63.js";import{u as G}from"./vuex-44de225f.js";import{u as X,b as Z}from"./vue-router-e5a2430e.js";import{E as x,M as ee,N as se,O as ne,_ as E,P as te}from"./index-fae12ace.js";import{J as L,i as ae,K as oe,N as re,O as Q,Q as ie,p as le}from"./@vicons-7a4ef312.js";import{j as d,o as ue,M as _e,l as pe,e as ce,O as de,S as me,L as ge,U as ve,F as fe,Q as ye,I as ke,G as he}from"./naive-ui-d8de3dda.js";import{_ as we}from"./whisper-e51c17fc.js";import{_ as $e}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const be={class:"sender-wrap"},Ce={key:0,class:"nickname"},Ie={class:"username"},Me={key:1,class:"nickname"},Se={class:"username"},ze={key:2,class:"nickname"},Oe={class:"timestamp"},Fe={class:"timestamp-txt"},Ne={key:0,class:"brief-content"},qe={key:1,class:"whisper-content-wrap"},Re={key:2,class:"requesting-friend-wrap"},Ae={key:2,class:"status-info"},Pe={key:3,class:"status-info"},We="https://assets.paopao.info/public/avatar/default/admin.png",je=D({__name:"message-item",props:{message:{}},emits:["send-whisper"],setup(q,{emit:y}){const p=q,c=X(),l=G(),k=e=>()=>H(d,null,{default:()=>H(e)}),h=N(()=>[{label:"私信",key:"whisper",icon:k(le)}]),w=e=>{switch(e){case"whisper":const n=p.message;if(n.type!=99){let $=n.type==4&&n.sender_user_id==l.state.userInfo.id?n.receiver_user:n.sender_user;y("send-whisper",$)}break}},g=N(()=>p.message.type!==4||p.message.sender_user_id!==l.state.userInfo.id),M=N(()=>p.message.type==4&&p.message.receiver_user_id==l.state.userInfo.id),S=N(()=>p.message.type==4&&p.message.sender_user_id==l.state.userInfo.id),R=e=>{u(e),(e.type===1||e.type===2||e.type===3)&&(e.post&&e.post.id>0?c.push({name:"post",query:{id:e.post_id}}):window.$message.error("该动态已被删除"))},z=e=>{u(e),ee({user_id:e.sender_user_id}).then(n=>{e.reply_id=2,window.$message.success("已同意添加好友")}).catch(n=>{console.log(n)})},A=e=>{u(e),se({user_id:e.sender_user_id}).then(n=>{e.reply_id=3,window.$message.success("已拒绝添加好友")}).catch(n=>{console.log(n)})},u=e=>{p.message.receiver_user_id==l.state.userInfo.id&&e.is_read===0&&ne({id:e.id}).then(n=>{e.is_read=1}).catch(n=>{console.log(n)})};return(e,n)=>{const $=ue,O=J("router-link"),b=_e,P=pe,W=ce,j=de,B=me,F=ge;return t(),r("div",{class:K(["message-item",{unread:g.value&&e.message.is_read===0}]),onClick:n[5]||(n[5]=V=>u(e.message))},[s(F,{"content-indented":""},{avatar:a(()=>[s($,{round:"",size:30,src:e.message.type==4&&e.message.sender_user_id==o(l).state.userInfo.id?e.message.receiver_user.avatar:e.message.sender_user.id>0?e.message.sender_user.avatar:We},null,8,["src"])]),header:a(()=>[f("div",be,[e.message.type!=4&&e.message.sender_user.id>0||M.value?(t(),r("span",Ce,[s(O,{onClick:n[0]||(n[0]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.sender_user.username}}},{default:a(()=>[_(m(e.message.sender_user.nickname),1)]),_:1},8,["to"]),f("span",Ie," @"+m(e.message.sender_user.username),1)])):S.value?(t(),r("span",Me,[s(O,{onClick:n[1]||(n[1]=C(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.message.receiver_user.username}}},{default:a(()=>[_(m(e.message.receiver_user.nickname),1)]),_:1},8,["to"]),f("span",Se," @"+m(e.message.receiver_user.username),1)])):(t(),r("span",ze," 系统 ")),e.message.type==4?(t(),I(b,{key:3,class:"top-tag",type:"success",size:"small",round:""},{default:a(()=>[_(" 私信 ")]),_:1})):i("",!0),S.value?(t(),I(b,{key:4,class:"top-tag",type:"info",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已发送 ")]),_:1})):i("",!0),e.message.type==4&&e.message.receiver_user_id==o(l).state.userInfo.id?(t(),I(b,{key:5,class:"top-tag",type:"warning",size:"small",round:""},{icon:a(()=>[s(o(d),{component:o(L)},null,8,["component"])]),default:a(()=>[_(" 已接收 ")]),_:1})):i("",!0)])]),"header-extra":a(()=>[f("span",Oe,[g.value&&e.message.is_read===0?(t(),I(P,{key:0,dot:"",processing:""})):i("",!0),f("span",Fe,m(o(x)(e.message.created_on)),1),s(j,{placement:"bottom-end",trigger:"click",size:"small",options:h.value,onSelect:w},{default:a(()=>[s(W,{quaternary:"",circle:""},{icon:a(()=>[s(o(d),null,{default:a(()=>[s(o(ae))]),_:1})]),_:1})]),_:1},8,["options"])])]),description:a(()=>[s(B,{"show-icon":!1,class:"brief-wrap",type:!g.value||e.message.is_read>0?"default":"success"},{default:a(()=>[e.message.type!=4?(t(),r("div",Ne,[_(m(e.message.brief)+" ",1),e.message.type===1||e.message.type===2||e.message.type===3?(t(),r("span",{key:0,onClick:n[2]||(n[2]=C(V=>R(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(oe))]),_:1}),_(" 查看详情 ")])):i("",!0)])):i("",!0),e.message.type===4?(t(),r("div",qe,m(e.message.content),1)):i("",!0),e.message.type===5?(t(),r("div",Re,[_(m(e.message.content)+" ",1),e.message.reply_id===1?(t(),r("span",{key:0,onClick:n[3]||(n[3]=C(V=>z(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(re))]),_:1}),_(" 同意 ")])):i("",!0),e.message.reply_id===1?(t(),r("span",{key:1,onClick:n[4]||(n[4]=C(V=>A(e.message),["stop"])),class:"hash-link view-link"},[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 拒绝 ")])):i("",!0),e.message.reply_id===2?(t(),r("span",Ae,[s(o(d),null,{default:a(()=>[s(o(ie))]),_:1}),_(" 已同意 ")])):i("",!0),e.message.reply_id===3?(t(),r("span",Pe,[s(o(d),null,{default:a(()=>[s(o(Q))]),_:1}),_(" 已拒绝 ")])):i("",!0)])):i("",!0)]),_:1},8,["type"])]),_:1})],2)}}});const Be=E(je,[["__scopeId","data-v-2e510758"]]),Ve={class:"content"},De=D({__name:"message-skeleton",props:{num:{default:1}},setup(q){return(y,p)=>{const c=ve;return t(!0),r(U,null,T(new Array(y.num),l=>(t(),r("div",{class:"skeleton-item",key:l},[f("div",Ve,[s(c,{text:"",repeat:2}),s(c,{text:"",style:{width:"60%"}})])]))),128)}}});const Ee=E(De,[["__scopeId","data-v-01d2e871"]]),He={key:0,class:"skeleton-wrap"},Le={key:1},Qe={key:0,class:"empty-wrap"},Te={key:0,class:"pagination-wrap"},Ue=D({__name:"Messages",setup(q){const y=Z(),p=G(),c=v(!1),l=v(+y.query.p||1),k=v(10),h=v(0),w=v([]),g=v(!1),M=v({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),S=u=>{M.value=u,g.value=!0},R=()=>{g.value=!1},z=()=>{c.value=!0,te({page:l.value,page_size:k.value}).then(u=>{c.value=!1,w.value=u.list,h.value=Math.ceil(u.pager.total_rows/k.value)}).catch(u=>{c.value=!1})},A=u=>{l.value=u,z()};return Y(()=>{z()}),(u,e)=>{const n=$e,$=we,O=Ee,b=ke,P=Be,W=he,j=fe,B=ye;return t(),r("div",null,[s(n,{title:"消息"}),s(j,{class:"main-content-wrap messages-wrap",bordered:""},{default:a(()=>[s($,{show:g.value,user:M.value,onSuccess:R},null,8,["show","user"]),c.value?(t(),r("div",He,[s(O,{num:k.value},null,8,["num"])])):(t(),r("div",Le,[w.value.length===0?(t(),r("div",Qe,[s(b,{size:"large",description:"暂无数据"})])):i("",!0),(t(!0),r(U,null,T(w.value,F=>(t(),I(W,{key:F.id},{default:a(()=>[s(P,{message:F,onSendWhisper:S},null,8,["message"])]),_:2},1024))),128))]))]),_:1}),h.value>0?(t(),r("div",Te,[s(B,{page:l.value,"onUpdate:page":A,"page-slot":o(p).state.collapsedRight?5:8,"page-count":h.value},null,8,["page","page-slot","page-count"])])):i("",!0)])}}});const fs=E(Ue,[["__scopeId","data-v-b40dcbaf"]]);export{fs as default}; diff --git a/web/dist/assets/Post-b40cc86e.js b/web/dist/assets/Post-833e907f.js similarity index 98% rename from web/dist/assets/Post-b40cc86e.js rename to web/dist/assets/Post-833e907f.js index 0e89871f..9f2243cc 100644 --- a/web/dist/assets/Post-b40cc86e.js +++ b/web/dist/assets/Post-833e907f.js @@ -1 +1 @@ -import{d as ee,H as c,r as ge,e as o,f as _,j as d,k as t,w as n,A as I,x as P,q as R,Y as u,bf as a,y as B,c as oe,al as Ve,F as re,u as _e,$ as Te,a0 as ze,b as Re,h as $e,E as Ye}from"./@vue-a481fc63.js";import{u as ne}from"./vuex-44de225f.js";import{f as pe,t as Je,h as Ke,i as We,_ as ae,j as Ge,k as Qe,l as Xe,m as Ze,g as et,n as tt,o as st,p as ot,q as nt,r as at,s as lt,u as it,v as ut,w as ct,x as rt,y as _t,z as Ce}from"./index-5faa66a7.js";import{Y as de,V as G}from"./IEnum-5453a777.js";import{T as Ue,e as me,f as Se,g as ve,h as Le,I as pt,i as dt,j as mt,k as vt,l as ht,m as ft,n as gt,o as yt,p as kt,q as wt,r as bt,s as $t,t as xe,F as Ie,E as ie,u as ue,v as ce,w as Pe}from"./@vicons-7a4ef312.js";import{j as H,e as le,J as Oe,H as Ct,b as xt,K as It,o as ye,L as De,v as Pt,w as Tt,x as zt,y as Rt,z as Ut,B as St,M as Lt,O as Ot,i as Dt,P as At,a as Ae,F as Mt,I as Et,k as qt,G as Nt,f as Bt,g as jt}from"./naive-ui-d8de3dda.js";import{p as ke,_ as Me,a as Ft,b as Ht,c as Vt}from"./content-2d41ca0a.js";import{u as Ee,b as Yt}from"./vue-router-e5a2430e.js";import{_ as Jt}from"./post-skeleton-47a1ebec.js";import{l as Kt}from"./lodash-e0b37ac3.js";import{_ as Wt}from"./whisper-d959da10.js";import{c as Gt}from"./copy-to-clipboard-4ef7d3eb.js";import{_ as Qt}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{W as Xt}from"./v3-infinite-loading-2c58ec2f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";const Zt={class:"reply-item"},es={class:"header-wrap"},ts={class:"username"},ss={class:"reply-name"},os={class:"timestamp"},ns={class:"base-wrap"},as={class:"content"},ls={class:"reply-switch"},is={class:"time-item"},us={class:"actions"},cs={class:"upvote-count"},rs=["onClick"],_s={class:"upvote-count"},ps={key:2,class:"action-item"},ds=["onClick"],ms=ee({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(E,{emit:q}){const i=E,m=ne(),v=c(i.reply.is_thumbs_up==de.YES),k=c(i.reply.is_thumbs_down==de.YES),w=c(i.reply.thumbs_up_count),U=()=>{Je({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{v.value=!v.value,v.value?(w.value++,k.value=!1):w.value--}).catch(h=>{console.log(h)})},r=()=>{Ke({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{k.value=!k.value,k.value&&v.value&&(w.value--,v.value=!1)}).catch(h=>{console.log(h)})},S=()=>{q("focusReply",i.reply)},T=()=>{We({id:i.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{q("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const O=ge("router-link"),p=H,C=le,D=Oe,b=Ct;return o(),_("div",Zt,[d("div",es,[d("div",ts,[t(O,{class:"user-link",to:{name:"user",query:{s:i.reply.user.username}}},{default:n(()=>[I(P(i.reply.user.username),1)]),_:1},8,["to"]),d("span",ss,P(i.reply.at_user_id>0?"回复":":"),1),i.reply.at_user_id>0?(o(),R(O,{key:0,class:"user-link",to:{name:"user",query:{s:i.reply.at_user.username}}},{default:n(()=>[I(P(i.reply.at_user.username),1)]),_:1},8,["to"])):u("",!0)]),d("div",os,[I(P(i.reply.ip_loc)+" ",1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===i.reply.user.id?(o(),R(D,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(C,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(p,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),d("div",ns,[d("div",as,[t(b,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[I(P(i.reply.content),1)]),_:1})]),d("div",ls,[d("span",is,P(a(pe)(i.reply.created_on)),1),d("div",us,[a(m).state.userLogined?u("",!0):(o(),_("div",{key:0,class:"action-item",onClick:$[0]||($[0]=B(()=>{},["stop"]))},[t(p,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",cs,P(w.value),1)])),a(m).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(U,["stop"])},[t(p,{size:"medium"},{default:n(()=>[v.value?u("",!0):(o(),R(a(me),{key:0})),v.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",_s,P(w.value>0?w.value:"赞"),1)],8,rs)):u("",!0),a(m).state.userLogined?u("",!0):(o(),_("div",ps,[t(p,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(m).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(r,["stop"])},[t(p,{size:"medium"},{default:n(()=>[k.value?u("",!0):(o(),R(a(ve),{key:0})),k.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,ds)):u("",!0),a(m).state.userLogined?(o(),_("span",{key:4,class:"show opacity-item reply-btn",onClick:S}," 回复 ")):u("",!0)])])])])}}});const vs=ae(ms,[["__scopeId","data-v-187a4ed3"]]),hs={class:"reply-compose-wrap"},fs={class:"reply-switch"},gs={class:"time-item"},ys={class:"actions"},ks={key:0,class:"action-item"},ws={class:"upvote-count"},bs=["onClick"],$s={class:"upvote-count"},Cs={key:2,class:"action-item"},xs=["onClick"],Is={key:0,class:"reply-input-wrap"},Ps=ee({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(E,{expose:q,emit:i}){const m=E,v=ne(),k=c(),w=c(!1),U=c(""),r=c(!1),S=+"300",T=c(m.comment.is_thumbs_up==de.YES),h=c(m.comment.is_thumbs_down==de.YES),$=c(m.comment.thumbs_up_count),O=()=>{Ge({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(b=>{console.log(b)})},p=()=>{Qe({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(b=>{console.log(b)})},C=b=>{w.value=b,b?setTimeout(()=>{var A;(A=k.value)==null||A.focus()},10):(r.value=!1,U.value="",i("reset"))},D=()=>{r.value=!0,Xe({comment_id:m.comment.id,at_user_id:m.atUserid,content:U.value}).then(b=>{C(!1),window.$message.success("评论成功"),i("reload")}).catch(b=>{r.value=!1})};return q({switchReply:C}),(b,A)=>{const s=H,g=xt,F=le,z=It;return o(),_("div",hs,[d("div",fs,[d("span",gs,P(a(pe)(b.comment.created_on)),1),d("div",ys,[a(v).state.userLogined?u("",!0):(o(),_("div",ks,[t(s,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",ws,P($.value),1)])),a(v).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(O,["stop"])},[t(s,{size:"medium"},{default:n(()=>[T.value?u("",!0):(o(),R(a(me),{key:0})),T.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",$s,P($.value>0?$.value:"赞"),1)],8,bs)):u("",!0),a(v).state.userLogined?u("",!0):(o(),_("div",Cs,[t(s,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(v).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(p,["stop"])},[t(s,{size:"medium"},{default:n(()=>[h.value?u("",!0):(o(),R(a(ve),{key:0})),h.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,xs)):u("",!0),a(v).state.userLogined&&!w.value?(o(),_("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=L=>C(!0))}," 回复 ")):u("",!0),a(v).state.userLogined&&w.value?(o(),_("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=L=>C(!1))}," 取消 ")):u("",!0)])]),w.value?(o(),_("div",Is,[t(z,null,{default:n(()=>[t(g,{ref_key:"inputInstRef",ref:k,size:"small",placeholder:m.atUsername?"@"+m.atUsername:"请输入回复内容..",maxlength:a(S),value:U.value,"onUpdate:value":A[2]||(A[2]=L=>U.value=L),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(F,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:D},{default:n(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):u("",!0)])}}});const Ts=ae(Ps,[["__scopeId","data-v-f9af7a93"]]),zs={class:"comment-item"},Rs={class:"nickname-wrap"},Us={class:"username-wrap"},Ss={class:"opt-wrap"},Ls={class:"timestamp"},Os=["innerHTML"],Ds={class:"reply-wrap"},As=ee({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m=ne(),v=Ee(),k=c(0),w=c(""),U=c(),r=oe(()=>{let p=Object.assign({texts:[],imgs:[]},i.comment);return p.contents.map(C=>{(+C.type==1||+C.type==2)&&p.texts.push(C),+C.type==3&&p.imgs.push(C)}),p}),S=(p,C)=>{let D=p.target;if(D.dataset.detail){const b=D.dataset.detail.split(":");b.length===2&&(m.commit("refresh"),b[0]==="tag"?window.$message.warning("评论内的无效话题"):v.push({name:"user",query:{s:b[1]}}))}},T=p=>{var C,D;k.value=p.user_id,w.value=((C=p.user)==null?void 0:C.username)||"",(D=U.value)==null||D.switchReply(!0)},h=()=>{q("reload")},$=()=>{k.value=0,w.value=""},O=()=>{Ze({id:r.value.id}).then(p=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(p=>{})};return(p,C)=>{const D=ye,b=ge("router-link"),A=H,s=le,g=Oe,F=Me,z=Ts,L=vs,J=De;return o(),_("div",zs,[t(J,{"content-indented":""},Ve({avatar:n(()=>[t(D,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",Rs,[t(b,{onClick:C[0]||(C[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:r.value.user.username}}},{default:n(()=>[I(P(r.value.user.nickname),1)]),_:1},8,["to"])]),d("span",Us," @"+P(r.value.user.username),1)]),"header-extra":n(()=>[d("div",Ss,[d("span",Ls,P(r.value.ip_loc),1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===r.value.user.id?(o(),R(g,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:O},{trigger:n(()=>[t(s,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),R(F,{key:0,imgs:r.value.imgs},null,8,["imgs"])):u("",!0),t(z,{ref_key:"replyComposeRef",ref:U,comment:r.value,"at-userid":k.value,"at-username":w.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),d("div",Ds,[(o(!0),_(re,null,_e(r.value.replies,j=>(o(),R(L,{key:j.id,reply:j,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),_(re,null,_e(r.value.texts,j=>(o(),_("span",{key:j.id,class:"comment-text",onClick:C[1]||(C[1]=B(V=>S(V,r.value.id),["stop"])),innerHTML:a(ke)(j.content).content},null,8,Os))),128))]),key:"0"}:void 0]),1024)])}}});const Ms=ae(As,[["__scopeId","data-v-36dac8c8"]]),Es=E=>(Te("data-v-d9073453"),E=E(),ze(),E),qs={key:0,class:"compose-wrap"},Ns={class:"compose-line"},Bs={class:"compose-user"},js={class:"compose-line compose-options"},Fs={class:"attachment"},Hs={class:"submit-wrap"},Vs={class:"attachment-list-wrap"},Ys={key:1,class:"compose-wrap"},Js=Es(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ks={key:0,class:"login-only-wrap"},Ws={key:1,class:"login-wrap"},Gs=ee({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(E,{emit:q}){const i=E,m=ne(),v=c([]),k=c(!1),w=c(!1),U=c(!1),r=c(""),S=c(),T=c("public/image"),h=c([]),$=c([]),O=c("true".toLowerCase()==="true"),p=+"300",C="/v1/attachment",D=oe(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),b=Kt.debounce(f=>{et({k:f}).then(y=>{let x=[];y.suggest.map(e=>{x.push({label:e,value:e})}),v.value=x,w.value=!1}).catch(y=>{w.value=!1})},200),A=(f,y)=>{w.value||(w.value=!0,y==="@"&&b(f))},s=f=>{f.length>p?r.value=f.substring(0,p):r.value=f},g=f=>{T.value=f},F=f=>{for(let l=0;l30&&(f[l].name=x.substring(0,18)+"..."+x.substring(x.length-9)+"."+e)}h.value=f},z=async f=>{var y,x;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((y=f.file.file)==null?void 0:y.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((x=f.file.file)==null?void 0:x.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},L=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);e.code===0&&T.value==="public/image"&&$.value.push({id:f.id,content:e.data.content})}catch{window.$message.error("上传失败")}},J=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);if(e.code!==0){let l=e.msg||"上传失败";e.details&&e.details.length>0&&e.details.map(M=>{l+=":"+M}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},j=({file:f})=>{let y=$.value.findIndex(x=>x.id===f.id);y>-1&&$.value.splice(y,1)},V=()=>{k.value=!0},Q=()=>{var f;k.value=!1,(f=S.value)==null||f.clear(),h.value=[],r.value="",$.value=[]},K=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=ke(r.value);const y=[];let x=100;y.push({content:r.value,type:2,sort:x}),$.value.map(e=>{x++,y.push({content:e.content,type:3,sort:x})}),U.value=!0,tt({contents:y,post_id:i.postId,users:Array.from(new Set(f))}).then(e=>{window.$message.success("发布成功"),U.value=!1,q("post-success"),Q()}).catch(e=>{U.value=!1})},Y=f=>{m.commit("triggerAuth",!0),m.commit("triggerAuthKey",f)};return(f,y)=>{const x=ye,e=Pt,l=H,M=le,X=Tt,te=zt,he=Rt,fe=Ut,W=St;return o(),_("div",null,[a(m).state.userInfo.id>0?(o(),_("div",qs,[d("div",Ns,[d("div",Bs,[t(x,{round:"",size:30,src:a(m).state.userInfo.avatar},null,8,["src"])]),t(e,{type:"textarea",size:"large",autosize:"",bordered:!1,options:v.value,prefix:["@"],loading:w.value,value:r.value,disabled:i.lock===1,"onUpdate:value":s,onSearch:A,onFocus:V,placeholder:i.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),k.value?(o(),R(W,{key:0,ref_key:"uploadRef",ref:S,abstract:"","list-type":"image",multiple:!0,max:9,action:C,headers:{Authorization:D.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:z,onFinish:L,onError:J,onRemove:j,"onUpdate:fileList":F},{default:n(()=>[d("div",js,[d("div",Fs,[t(X,{abstract:""},{default:n(({handleClick:Z})=>[t(M,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{g("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(l,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(pt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(he,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(te,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(p)*100},null,8,["percentage"])]),default:n(()=>[I(" "+P(r.value.length)+" / "+P(a(p)),1)]),_:1})]),d("div",Hs,[t(M,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:Q},{default:n(()=>[I(" 取消 ")]),_:1}),t(M,{loading:U.value,onClick:K,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",Vs,[t(fe)])]),_:1},8,["headers","data","file-list"])):u("",!0)])):(o(),_("div",Ys,[Js,O.value?u("",!0):(o(),_("div",Ks,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1})])),O.value?(o(),_("div",Ws,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1}),t(M,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=Z=>Y("signup"))},{default:n(()=>[I(" 注册 ")]),_:1})])):u("",!0)]))])}}});const Qs=ae(Gs,[["__scopeId","data-v-d9073453"]]),Xs={class:"username-wrap"},Zs={class:"options"},eo={key:0},to=["innerHTML"],so={class:"timestamp"},oo={key:0},no={key:1},ao={class:"opts-wrap"},lo=["onClick"],io={class:"opt-item"},uo=["onClick"],co=["onClick"],ro=ee({__name:"post-detail",props:{post:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m="true".toLowerCase()==="true",v=ne(),k=Ee(),w=c(!1),U=c(!1),r=c(!1),S=c(!1),T=c(!1),h=c(!1),$=c(!1),O=c(!1),p=c(G.PUBLIC),C=c(!1),D=c({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),b=e=>{D.value=e,C.value=!0},A=()=>{C.value=!1},s=oe({get:()=>{let e=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},i.post);return e.contents.map(l=>{(+l.type==1||+l.type==2)&&e.texts.push(l),+l.type==3&&e.imgs.push(l),+l.type==4&&e.videos.push(l),+l.type==6&&e.links.push(l),+l.type==7&&e.attachments.push(l),+l.type==8&&e.charge_attachments.push(l)}),e},set:e=>{i.post.upvote_count=e.upvote_count,i.post.comment_count=e.comment_count,i.post.collection_count=e.collection_count,i.post.is_essence=e.is_essence}}),g=e=>()=>$e(H,null,{default:()=>$e(e)}),F=oe(()=>{var M;let e=[];if(!v.state.userInfo.is_admin&&v.state.userInfo.id!=i.post.user.id)return e.push({label:"私信",key:"whisper",icon:g(kt)}),e;e.push({label:"删除",key:"delete",icon:g(wt)}),s.value.is_lock===0?e.push({label:"锁定",key:"lock",icon:g(bt)}):e.push({label:"解锁",key:"unlock",icon:g($t)}),v.state.userInfo.is_admin&&(s.value.is_top===0?e.push({label:"置顶",key:"stick",icon:g(xe)}):e.push({label:"取消置顶",key:"unstick",icon:g(xe)})),s.value.is_essence===0?e.push({label:"设为亮点",key:"highlight",icon:g(Ie)}):e.push({label:"取消亮点",key:"unhighlight",icon:g(Ie)});let l;return s.value.visibility===G.PUBLIC?l={label:"公开",key:"vpublic",icon:g(ie),children:[{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:s.value.visibility===G.PRIVATE?l={label:"私密",key:"vprivate",icon:g(ue),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:m&&s.value.visibility===G.FRIEND?l={label:"好友可见",key:"vfriend",icon:g(Pe),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:l={label:"关注可见",key:"vfollowing",icon:g(ce),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)}]},m&&s.value.visibility!==G.FRIEND&&((M=l.children)==null||M.push({label:"好友可见",key:"vfriend",icon:g(Pe)})),e.push(l),e}),z=e=>{k.push({name:"post",query:{id:e}})},L=(e,l)=>{if(e.target.dataset.detail){const M=e.target.dataset.detail.split(":");if(M.length===2){v.commit("refresh"),M[0]==="tag"?k.push({name:"home",query:{q:M[1],t:"tag"}}):k.push({name:"user",query:{s:M[1]}});return}}z(l)},J=e=>{switch(e){case"whisper":b(i.post.user);break;case"delete":r.value=!0;break;case"lock":case"unlock":S.value=!0;break;case"stick":case"unstick":T.value=!0;break;case"highlight":case"unhighlight":h.value=!0;break;case"vpublic":p.value=0,$.value=!0;break;case"vprivate":p.value=1,$.value=!0;break;case"vfriend":p.value=2,$.value=!0;break;case"vfollowing":p.value=3,$.value=!0;break}},j=()=>{nt({id:s.value.id}).then(e=>{window.$message.success("删除成功"),k.replace("/"),setTimeout(()=>{v.commit("refresh")},50)}).catch(e=>{O.value=!1})},V=()=>{at({id:s.value.id}).then(e=>{q("reload"),e.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(e=>{O.value=!1})},Q=()=>{lt({id:s.value.id}).then(e=>{q("reload"),e.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(e=>{O.value=!1})},K=()=>{it({id:s.value.id}).then(e=>{s.value={...s.value,is_essence:e.highlight_status},e.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(e=>{O.value=!1})},Y=()=>{ut({id:s.value.id,visibility:p.value}).then(e=>{q("reload"),window.$message.success("修改可见性成功")}).catch(e=>{O.value=!1})},f=()=>{ct({id:s.value.id}).then(e=>{w.value=e.status,e.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(e=>{console.log(e)})},y=()=>{rt({id:s.value.id}).then(e=>{U.value=e.status,e.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(e=>{console.log(e)})},x=()=>{Gt(`${window.location.origin}/#/post?id=${s.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板")};return Re(()=>{v.state.userInfo.id>0&&(st({id:s.value.id}).then(e=>{w.value=e.status}).catch(e=>{console.log(e)}),ot({id:s.value.id}).then(e=>{U.value=e.status}).catch(e=>{console.log(e)}))}),(e,l)=>{const M=ye,X=ge("router-link"),te=Lt,he=le,fe=Ot,W=Dt,Z=Wt,we=Ft,qe=Me,Ne=Ht,Be=Vt,be=At,je=Ae,Fe=De;return o(),_("div",{class:"detail-item",onClick:l[7]||(l[7]=N=>z(s.value.id))},[t(Fe,null,{avatar:n(()=>[t(M,{round:"",size:30,src:s.value.user.avatar},null,8,["src"])]),header:n(()=>[t(X,{onClick:l[0]||(l[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:s.value.user.username}}},{default:n(()=>[I(P(s.value.user.nickname),1)]),_:1},8,["to"]),d("span",Xs," @"+P(s.value.user.username),1),s.value.is_top?(o(),R(te,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[I(" 置顶 ")]),_:1})):u("",!0),s.value.visibility==a(G).PRIVATE?(o(),R(te,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[I(" 私密 ")]),_:1})):u("",!0),s.value.visibility==a(G).FRIEND?(o(),R(te,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[I(" 好友可见 ")]),_:1})):u("",!0)]),"header-extra":n(()=>[d("div",Zs,[t(fe,{placement:"bottom-end",trigger:"click",size:"small",options:F.value,onSelect:J},{default:n(()=>[t(he,{quaternary:"",circle:""},{icon:n(()=>[t(a(H),null,{default:n(()=>[t(a(dt))]),_:1})]),_:1})]),_:1},8,["options"])]),t(W,{show:r.value,"onUpdate:show":l[1]||(l[1]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show"]),t(W,{show:S.value,"onUpdate:show":l[2]||(l[2]=N=>S.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),t(W,{show:T.value,"onUpdate:show":l[3]||(l[3]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"]),t(W,{show:h.value,"onUpdate:show":l[4]||(l[4]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(s.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),t(W,{show:$.value,"onUpdate:show":l[5]||(l[5]=N=>$.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(p.value==0?"公开":p.value==1?"私密":p.value==2?"好友可见":"关注可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(Z,{show:C.value,user:D.value,onSuccess:A},null,8,["show","user"])]),footer:n(()=>[t(we,{attachments:s.value.attachments},null,8,["attachments"]),t(we,{attachments:s.value.charge_attachments,price:s.value.attachment_price},null,8,["attachments","price"]),t(qe,{imgs:s.value.imgs},null,8,["imgs"]),t(Ne,{videos:s.value.videos,full:!0},null,8,["videos"]),t(Be,{links:s.value.links},null,8,["links"]),d("div",so,[I(" 发布于 "+P(a(pe)(s.value.created_on))+" ",1),s.value.ip_loc?(o(),_("span",oo,[t(be,{vertical:""}),I(" "+P(s.value.ip_loc),1)])):u("",!0),!a(v).state.collapsedLeft&&s.value.created_on!=s.value.latest_replied_on?(o(),_("span",no,[t(be,{vertical:""}),I(" 最后回复 "+P(a(pe)(s.value.latest_replied_on)),1)])):u("",!0)])]),action:n(()=>[d("div",ao,[t(je,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(f,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?u("",!0):(o(),R(a(mt),{key:0})),w.value?(o(),R(a(vt),{key:1,color:"red"})):u("",!0)]),_:1}),I(" "+P(s.value.upvote_count),1)],8,lo),d("div",io,[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(ht))]),_:1}),I(" "+P(s.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(y,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[U.value?u("",!0):(o(),R(a(ft),{key:0})),U.value?(o(),R(a(gt),{key:1,color:"#ff7600"})):u("",!0)]),_:1}),I(" "+P(s.value.collection_count),1)],8,uo),d("div",{class:"opt-item hover",onClick:B(x,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(yt))]),_:1}),I(" "+P(s.value.share_count),1)],8,co)]),_:1})])]),default:n(()=>[s.value.texts.length>0?(o(),_("div",eo,[(o(!0),_(re,null,_e(s.value.texts,N=>(o(),_("span",{key:N.id,class:"post-text",onClick:l[6]||(l[6]=B(He=>L(He,s.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,to))),128))])):u("",!0)]),_:1})])}}});const _o=E=>(Te("data-v-09db0ef6"),E=E(),ze(),E),po={key:0,class:"detail-wrap"},mo={key:1,class:"empty-wrap"},vo={key:0,class:"comment-opts-wrap"},ho=_o(()=>d("span",{class:"comment-title-item"},"评论",-1)),fo={key:2},go={key:0,class:"skeleton-wrap"},yo={key:1},ko={key:0,class:"empty-wrap"},wo={key:0,class:"load-more-spinner"},bo={key:1,class:"load-more-spinner"},$o={key:2,class:"load-more-spinner"},Co={key:3,class:"load-more-spinner"},se=20,xo=ee({__name:"Post",setup(E){const q=Yt(),i=c({}),m=c(!1),v=c(!1),k=c([]),w=oe(()=>+q.query.id),U=c("default"),r=c(!0);let S={loading(){},loaded(){},complete(){},error(){}};const T=z=>{U.value=z,z==="default"&&(r.value=!0),g(S)},h=()=>{i.value={id:0},m.value=!0,_t({id:w.value}).then(z=>{m.value=!1,i.value=z,g(S)}).catch(z=>{m.value=!1})};let $=1;const O=c(!1),p=c([]),C=z=>{O.value||Ce({id:i.value.id,sort_strategy:"default",page:$,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&($===1?p.value=L.list:p.value.push(...L.list),k.value=p.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})};let D=1,b=c(!1);const A=c([]),s=z=>{b.value||Ce({id:i.value.id,sort_strategy:"newest",page:D,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&(D===1?A.value=L.list:A.value.push(...L.list),k.value=A.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})},g=z=>{w.value<1||(k.value.length===0&&(v.value=!0),U.value==="default"?(k.value=p.value,C(z)):(k.value=A.value,s(z)),v.value=!1)},F=()=>{$=1,O.value=!1,p.value=[],D=1,b.value=!1,A.value=[],g(S)};return Re(()=>{h()}),Ye(w,()=>{w.value>0&&q.name==="post"&&h()}),(z,L)=>{const J=Qt,j=ro,V=Et,Q=qt,K=Nt,Y=Bt,f=jt,y=Qs,x=Jt,e=Ms,l=Ae,M=Mt;return o(),_("div",null,[t(J,{title:"泡泡详情",back:!0}),t(M,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(K,null,{default:n(()=>[t(Q,{show:m.value},{default:n(()=>[i.value.id>1?(o(),_("div",po,[t(j,{post:i.value,onReload:h},null,8,["post"])])):(o(),_("div",mo,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),i.value.id>0?(o(),_("div",vo,[t(f,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[ho]),default:n(()=>[t(Y,{name:"default",tab:"默认"}),t(Y,{name:"newest",tab:"最新"})]),_:1})])):u("",!0),i.value.id>0?(o(),R(K,{key:1},{default:n(()=>[t(y,{lock:i.value.is_lock,"post-id":i.value.id,onPostSuccess:F},null,8,["lock","post-id"])]),_:1})):u("",!0),i.value.id>0?(o(),_("div",fo,[v.value?(o(),_("div",go,[t(x,{num:5})])):(o(),_("div",yo,[k.value.length===0?(o(),_("div",ko,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):u("",!0),(o(!0),_(re,null,_e(k.value,X=>(o(),R(K,{key:X.id},{default:n(()=>[t(e,{comment:X,onReload:F},null,8,["comment"])]),_:2},1024))),128))]))])):u("",!0),k.value.length>=se?(o(),R(l,{key:3,justify:"center"},{default:n(()=>[t(a(Xt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:g},{spinner:n(()=>[r.value&&O.value?(o(),_("span",wo)):u("",!0),!r.value&&a(b)?(o(),_("span",bo)):u("",!0),r.value&&!O.value?(o(),_("span",$o,"加载评论")):u("",!0),!r.value&&!a(b)?(o(),_("span",Co,"加载评论")):u("",!0)]),_:1})]),_:1})):u("",!0)]),_:1})])}}});const an=ae(xo,[["__scopeId","data-v-09db0ef6"]]);export{an as default}; +import{d as ee,H as c,r as ge,e as o,f as _,j as d,k as t,w as n,A as I,x as P,q as R,Y as u,bf as a,y as B,c as oe,al as Ve,F as re,u as _e,$ as Te,a0 as ze,b as Re,h as $e,E as Ye}from"./@vue-a481fc63.js";import{u as ne}from"./vuex-44de225f.js";import{f as pe,t as Je,h as Ke,i as We,_ as ae,j as Ge,k as Qe,l as Xe,m as Ze,g as et,n as tt,o as st,p as ot,q as nt,r as at,s as lt,u as it,v as ut,w as ct,x as rt,y as _t,z as Ce}from"./index-fae12ace.js";import{Y as de,V as G}from"./IEnum-5453a777.js";import{T as Ue,e as me,f as Se,g as ve,h as Le,I as pt,i as dt,j as mt,k as vt,l as ht,m as ft,n as gt,o as yt,p as kt,q as wt,r as bt,s as $t,t as xe,F as Ie,E as ie,u as ue,v as ce,w as Pe}from"./@vicons-7a4ef312.js";import{j as H,e as le,J as Oe,H as Ct,b as xt,K as It,o as ye,L as De,v as Pt,w as Tt,x as zt,y as Rt,z as Ut,B as St,M as Lt,O as Ot,i as Dt,P as At,a as Ae,F as Mt,I as Et,k as qt,G as Nt,f as Bt,g as jt}from"./naive-ui-d8de3dda.js";import{p as ke,_ as Me,a as Ft,b as Ht,c as Vt}from"./content-1a1bcb51.js";import{u as Ee,b as Yt}from"./vue-router-e5a2430e.js";import{_ as Jt}from"./post-skeleton-2311fe04.js";import{l as Kt}from"./lodash-e0b37ac3.js";import{_ as Wt}from"./whisper-e51c17fc.js";import{c as Gt}from"./copy-to-clipboard-4ef7d3eb.js";import{_ as Qt}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{W as Xt}from"./v3-infinite-loading-2c58ec2f.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";import"./paopao-video-player-2fe58954.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";const Zt={class:"reply-item"},es={class:"header-wrap"},ts={class:"username"},ss={class:"reply-name"},os={class:"timestamp"},ns={class:"base-wrap"},as={class:"content"},ls={class:"reply-switch"},is={class:"time-item"},us={class:"actions"},cs={class:"upvote-count"},rs=["onClick"],_s={class:"upvote-count"},ps={key:2,class:"action-item"},ds=["onClick"],ms=ee({__name:"reply-item",props:{tweetId:{},reply:{}},emits:["focusReply","reload"],setup(E,{emit:q}){const i=E,m=ne(),v=c(i.reply.is_thumbs_up==de.YES),k=c(i.reply.is_thumbs_down==de.YES),w=c(i.reply.thumbs_up_count),U=()=>{Je({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{v.value=!v.value,v.value?(w.value++,k.value=!1):w.value--}).catch(h=>{console.log(h)})},r=()=>{Ke({tweet_id:i.tweetId,comment_id:i.reply.comment_id,reply_id:i.reply.id}).then(h=>{k.value=!k.value,k.value&&v.value&&(w.value--,v.value=!1)}).catch(h=>{console.log(h)})},S=()=>{q("focusReply",i.reply)},T=()=>{We({id:i.reply.id}).then(h=>{window.$message.success("删除成功"),setTimeout(()=>{q("reload")},50)}).catch(h=>{console.log(h)})};return(h,$)=>{const O=ge("router-link"),p=H,C=le,D=Oe,b=Ct;return o(),_("div",Zt,[d("div",es,[d("div",ts,[t(O,{class:"user-link",to:{name:"user",query:{s:i.reply.user.username}}},{default:n(()=>[I(P(i.reply.user.username),1)]),_:1},8,["to"]),d("span",ss,P(i.reply.at_user_id>0?"回复":":"),1),i.reply.at_user_id>0?(o(),R(O,{key:0,class:"user-link",to:{name:"user",query:{s:i.reply.at_user.username}}},{default:n(()=>[I(P(i.reply.at_user.username),1)]),_:1},8,["to"])):u("",!0)]),d("div",os,[I(P(i.reply.ip_loc)+" ",1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===i.reply.user.id?(o(),R(D,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:T},{trigger:n(()=>[t(C,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(p,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),d("div",ns,[d("div",as,[t(b,{"expand-trigger":"click","line-clamp":"5",tooltip:!1},{default:n(()=>[I(P(i.reply.content),1)]),_:1})]),d("div",ls,[d("span",is,P(a(pe)(i.reply.created_on)),1),d("div",us,[a(m).state.userLogined?u("",!0):(o(),_("div",{key:0,class:"action-item",onClick:$[0]||($[0]=B(()=>{},["stop"]))},[t(p,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",cs,P(w.value),1)])),a(m).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(U,["stop"])},[t(p,{size:"medium"},{default:n(()=>[v.value?u("",!0):(o(),R(a(me),{key:0})),v.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",_s,P(w.value>0?w.value:"赞"),1)],8,rs)):u("",!0),a(m).state.userLogined?u("",!0):(o(),_("div",ps,[t(p,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(m).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(r,["stop"])},[t(p,{size:"medium"},{default:n(()=>[k.value?u("",!0):(o(),R(a(ve),{key:0})),k.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,ds)):u("",!0),a(m).state.userLogined?(o(),_("span",{key:4,class:"show opacity-item reply-btn",onClick:S}," 回复 ")):u("",!0)])])])])}}});const vs=ae(ms,[["__scopeId","data-v-187a4ed3"]]),hs={class:"reply-compose-wrap"},fs={class:"reply-switch"},gs={class:"time-item"},ys={class:"actions"},ks={key:0,class:"action-item"},ws={class:"upvote-count"},bs=["onClick"],$s={class:"upvote-count"},Cs={key:2,class:"action-item"},xs=["onClick"],Is={key:0,class:"reply-input-wrap"},Ps=ee({__name:"compose-reply",props:{comment:{},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(E,{expose:q,emit:i}){const m=E,v=ne(),k=c(),w=c(!1),U=c(""),r=c(!1),S=+"300",T=c(m.comment.is_thumbs_up==de.YES),h=c(m.comment.is_thumbs_down==de.YES),$=c(m.comment.thumbs_up_count),O=()=>{Ge({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{T.value=!T.value,T.value?($.value++,h.value=!1):$.value--}).catch(b=>{console.log(b)})},p=()=>{Qe({tweet_id:m.comment.post_id,comment_id:m.comment.id}).then(b=>{h.value=!h.value,h.value&&T.value&&($.value--,T.value=!1)}).catch(b=>{console.log(b)})},C=b=>{w.value=b,b?setTimeout(()=>{var A;(A=k.value)==null||A.focus()},10):(r.value=!1,U.value="",i("reset"))},D=()=>{r.value=!0,Xe({comment_id:m.comment.id,at_user_id:m.atUserid,content:U.value}).then(b=>{C(!1),window.$message.success("评论成功"),i("reload")}).catch(b=>{r.value=!1})};return q({switchReply:C}),(b,A)=>{const s=H,g=xt,F=le,z=It;return o(),_("div",hs,[d("div",fs,[d("span",gs,P(a(pe)(b.comment.created_on)),1),d("div",ys,[a(v).state.userLogined?u("",!0):(o(),_("div",ks,[t(s,{size:"medium"},{default:n(()=>[t(a(me))]),_:1}),d("span",ws,P($.value),1)])),a(v).state.userLogined?(o(),_("div",{key:1,class:"action-item hover",onClick:B(O,["stop"])},[t(s,{size:"medium"},{default:n(()=>[T.value?u("",!0):(o(),R(a(me),{key:0})),T.value?(o(),R(a(Se),{key:1,class:"show"})):u("",!0)]),_:1}),d("span",$s,P($.value>0?$.value:"赞"),1)],8,bs)):u("",!0),a(v).state.userLogined?u("",!0):(o(),_("div",Cs,[t(s,{size:"medium"},{default:n(()=>[t(a(ve))]),_:1})])),a(v).state.userLogined?(o(),_("div",{key:3,class:"action-item hover",onClick:B(p,["stop"])},[t(s,{size:"medium"},{default:n(()=>[h.value?u("",!0):(o(),R(a(ve),{key:0})),h.value?(o(),R(a(Le),{key:1,class:"show"})):u("",!0)]),_:1})],8,xs)):u("",!0),a(v).state.userLogined&&!w.value?(o(),_("span",{key:4,class:"show reply-btn",onClick:A[0]||(A[0]=L=>C(!0))}," 回复 ")):u("",!0),a(v).state.userLogined&&w.value?(o(),_("span",{key:5,class:"hide reply-btn",onClick:A[1]||(A[1]=L=>C(!1))}," 取消 ")):u("",!0)])]),w.value?(o(),_("div",Is,[t(z,null,{default:n(()=>[t(g,{ref_key:"inputInstRef",ref:k,size:"small",placeholder:m.atUsername?"@"+m.atUsername:"请输入回复内容..",maxlength:a(S),value:U.value,"onUpdate:value":A[2]||(A[2]=L=>U.value=L),"show-count":"",clearable:""},null,8,["placeholder","maxlength","value"]),t(F,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:D},{default:n(()=>[I(" 回复 ")]),_:1},8,["loading"])]),_:1})])):u("",!0)])}}});const Ts=ae(Ps,[["__scopeId","data-v-f9af7a93"]]),zs={class:"comment-item"},Rs={class:"nickname-wrap"},Us={class:"username-wrap"},Ss={class:"opt-wrap"},Ls={class:"timestamp"},Os=["innerHTML"],Ds={class:"reply-wrap"},As=ee({__name:"comment-item",props:{comment:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m=ne(),v=Ee(),k=c(0),w=c(""),U=c(),r=oe(()=>{let p=Object.assign({texts:[],imgs:[]},i.comment);return p.contents.map(C=>{(+C.type==1||+C.type==2)&&p.texts.push(C),+C.type==3&&p.imgs.push(C)}),p}),S=(p,C)=>{let D=p.target;if(D.dataset.detail){const b=D.dataset.detail.split(":");b.length===2&&(m.commit("refresh"),b[0]==="tag"?window.$message.warning("评论内的无效话题"):v.push({name:"user",query:{s:b[1]}}))}},T=p=>{var C,D;k.value=p.user_id,w.value=((C=p.user)==null?void 0:C.username)||"",(D=U.value)==null||D.switchReply(!0)},h=()=>{q("reload")},$=()=>{k.value=0,w.value=""},O=()=>{Ze({id:r.value.id}).then(p=>{window.$message.success("删除成功"),setTimeout(()=>{h()},50)}).catch(p=>{})};return(p,C)=>{const D=ye,b=ge("router-link"),A=H,s=le,g=Oe,F=Me,z=Ts,L=vs,J=De;return o(),_("div",zs,[t(J,{"content-indented":""},Ve({avatar:n(()=>[t(D,{round:"",size:30,src:r.value.user.avatar},null,8,["src"])]),header:n(()=>[d("span",Rs,[t(b,{onClick:C[0]||(C[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:r.value.user.username}}},{default:n(()=>[I(P(r.value.user.nickname),1)]),_:1},8,["to"])]),d("span",Us," @"+P(r.value.user.username),1)]),"header-extra":n(()=>[d("div",Ss,[d("span",Ls,P(r.value.ip_loc),1),a(m).state.userInfo.is_admin||a(m).state.userInfo.id===r.value.user.id?(o(),R(g,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:O},{trigger:n(()=>[t(s,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:n(()=>[t(A,null,{default:n(()=>[t(a(Ue))]),_:1})]),_:1})]),default:n(()=>[I(" 是否确认删除? ")]),_:1})):u("",!0)])]),footer:n(()=>[r.value.imgs.length>0?(o(),R(F,{key:0,imgs:r.value.imgs},null,8,["imgs"])):u("",!0),t(z,{ref_key:"replyComposeRef",ref:U,comment:r.value,"at-userid":k.value,"at-username":w.value,onReload:h,onReset:$},null,8,["comment","at-userid","at-username"]),d("div",Ds,[(o(!0),_(re,null,_e(r.value.replies,j=>(o(),R(L,{key:j.id,reply:j,"tweet-id":r.value.post_id,onFocusReply:T,onReload:h},null,8,["reply","tweet-id"]))),128))])]),_:2},[r.value.texts.length>0?{name:"description",fn:n(()=>[(o(!0),_(re,null,_e(r.value.texts,j=>(o(),_("span",{key:j.id,class:"comment-text",onClick:C[1]||(C[1]=B(V=>S(V,r.value.id),["stop"])),innerHTML:a(ke)(j.content).content},null,8,Os))),128))]),key:"0"}:void 0]),1024)])}}});const Ms=ae(As,[["__scopeId","data-v-36dac8c8"]]),Es=E=>(Te("data-v-d9073453"),E=E(),ze(),E),qs={key:0,class:"compose-wrap"},Ns={class:"compose-line"},Bs={class:"compose-user"},js={class:"compose-line compose-options"},Fs={class:"attachment"},Hs={class:"submit-wrap"},Vs={class:"attachment-list-wrap"},Ys={key:1,class:"compose-wrap"},Js=Es(()=>d("div",{class:"login-wrap"},[d("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Ks={key:0,class:"login-only-wrap"},Ws={key:1,class:"login-wrap"},Gs=ee({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(E,{emit:q}){const i=E,m=ne(),v=c([]),k=c(!1),w=c(!1),U=c(!1),r=c(""),S=c(),T=c("public/image"),h=c([]),$=c([]),O=c("true".toLowerCase()==="true"),p=+"300",C="/v1/attachment",D=oe(()=>"Bearer "+localStorage.getItem("PAOPAO_TOKEN")),b=Kt.debounce(f=>{et({k:f}).then(y=>{let x=[];y.suggest.map(e=>{x.push({label:e,value:e})}),v.value=x,w.value=!1}).catch(y=>{w.value=!1})},200),A=(f,y)=>{w.value||(w.value=!0,y==="@"&&b(f))},s=f=>{f.length>p?r.value=f.substring(0,p):r.value=f},g=f=>{T.value=f},F=f=>{for(let l=0;l30&&(f[l].name=x.substring(0,18)+"..."+x.substring(x.length-9)+"."+e)}h.value=f},z=async f=>{var y,x;return T.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((y=f.file.file)==null?void 0:y.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):T.value==="image"&&((x=f.file.file)==null?void 0:x.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},L=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);e.code===0&&T.value==="public/image"&&$.value.push({id:f.id,content:e.data.content})}catch{window.$message.error("上传失败")}},J=({file:f,event:y})=>{var x;try{let e=JSON.parse((x=y.target)==null?void 0:x.response);if(e.code!==0){let l=e.msg||"上传失败";e.details&&e.details.length>0&&e.details.map(M=>{l+=":"+M}),window.$message.error(l)}}catch{window.$message.error("上传失败")}},j=({file:f})=>{let y=$.value.findIndex(x=>x.id===f.id);y>-1&&$.value.splice(y,1)},V=()=>{k.value=!0},Q=()=>{var f;k.value=!1,(f=S.value)==null||f.clear(),h.value=[],r.value="",$.value=[]},K=()=>{if(r.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:f}=ke(r.value);const y=[];let x=100;y.push({content:r.value,type:2,sort:x}),$.value.map(e=>{x++,y.push({content:e.content,type:3,sort:x})}),U.value=!0,tt({contents:y,post_id:i.postId,users:Array.from(new Set(f))}).then(e=>{window.$message.success("发布成功"),U.value=!1,q("post-success"),Q()}).catch(e=>{U.value=!1})},Y=f=>{m.commit("triggerAuth",!0),m.commit("triggerAuthKey",f)};return(f,y)=>{const x=ye,e=Pt,l=H,M=le,X=Tt,te=zt,he=Rt,fe=Ut,W=St;return o(),_("div",null,[a(m).state.userInfo.id>0?(o(),_("div",qs,[d("div",Ns,[d("div",Bs,[t(x,{round:"",size:30,src:a(m).state.userInfo.avatar},null,8,["src"])]),t(e,{type:"textarea",size:"large",autosize:"",bordered:!1,options:v.value,prefix:["@"],loading:w.value,value:r.value,disabled:i.lock===1,"onUpdate:value":s,onSearch:A,onFocus:V,placeholder:i.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),k.value?(o(),R(W,{key:0,ref_key:"uploadRef",ref:S,abstract:"","list-type":"image",multiple:!0,max:9,action:C,headers:{Authorization:D.value},data:{type:T.value},"file-list":h.value,onBeforeUpload:z,onFinish:L,onError:J,onRemove:j,"onUpdate:fileList":F},{default:n(()=>[d("div",js,[d("div",Fs,[t(X,{abstract:""},{default:n(({handleClick:Z})=>[t(M,{disabled:h.value.length>0&&T.value==="public/video"||h.value.length===9,onClick:()=>{g("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:n(()=>[t(l,{size:"20",color:"var(--primary-color)"},{default:n(()=>[t(a(pt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),t(he,{trigger:"hover",placement:"bottom"},{trigger:n(()=>[t(te,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:r.value.length/a(p)*100},null,8,["percentage"])]),default:n(()=>[I(" "+P(r.value.length)+" / "+P(a(p)),1)]),_:1})]),d("div",Hs,[t(M,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:Q},{default:n(()=>[I(" 取消 ")]),_:1}),t(M,{loading:U.value,onClick:K,type:"primary",secondary:"",size:"small",round:""},{default:n(()=>[I(" 发布 ")]),_:1},8,["loading"])])]),d("div",Vs,[t(fe)])]),_:1},8,["headers","data","file-list"])):u("",!0)])):(o(),_("div",Ys,[Js,O.value?u("",!0):(o(),_("div",Ks,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[0]||(y[0]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1})])),O.value?(o(),_("div",Ws,[t(M,{strong:"",secondary:"",round:"",type:"primary",onClick:y[1]||(y[1]=Z=>Y("signin"))},{default:n(()=>[I(" 登录 ")]),_:1}),t(M,{strong:"",secondary:"",round:"",type:"info",onClick:y[2]||(y[2]=Z=>Y("signup"))},{default:n(()=>[I(" 注册 ")]),_:1})])):u("",!0)]))])}}});const Qs=ae(Gs,[["__scopeId","data-v-d9073453"]]),Xs={class:"username-wrap"},Zs={class:"options"},eo={key:0},to=["innerHTML"],so={class:"timestamp"},oo={key:0},no={key:1},ao={class:"opts-wrap"},lo=["onClick"],io={class:"opt-item"},uo=["onClick"],co=["onClick"],ro=ee({__name:"post-detail",props:{post:{}},emits:["reload"],setup(E,{emit:q}){const i=E,m="true".toLowerCase()==="true",v=ne(),k=Ee(),w=c(!1),U=c(!1),r=c(!1),S=c(!1),T=c(!1),h=c(!1),$=c(!1),O=c(!1),p=c(G.PUBLIC),C=c(!1),D=c({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),b=e=>{D.value=e,C.value=!0},A=()=>{C.value=!1},s=oe({get:()=>{let e=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},i.post);return e.contents.map(l=>{(+l.type==1||+l.type==2)&&e.texts.push(l),+l.type==3&&e.imgs.push(l),+l.type==4&&e.videos.push(l),+l.type==6&&e.links.push(l),+l.type==7&&e.attachments.push(l),+l.type==8&&e.charge_attachments.push(l)}),e},set:e=>{i.post.upvote_count=e.upvote_count,i.post.comment_count=e.comment_count,i.post.collection_count=e.collection_count,i.post.is_essence=e.is_essence}}),g=e=>()=>$e(H,null,{default:()=>$e(e)}),F=oe(()=>{var M;let e=[];if(!v.state.userInfo.is_admin&&v.state.userInfo.id!=i.post.user.id)return e.push({label:"私信",key:"whisper",icon:g(kt)}),e;e.push({label:"删除",key:"delete",icon:g(wt)}),s.value.is_lock===0?e.push({label:"锁定",key:"lock",icon:g(bt)}):e.push({label:"解锁",key:"unlock",icon:g($t)}),v.state.userInfo.is_admin&&(s.value.is_top===0?e.push({label:"置顶",key:"stick",icon:g(xe)}):e.push({label:"取消置顶",key:"unstick",icon:g(xe)})),s.value.is_essence===0?e.push({label:"设为亮点",key:"highlight",icon:g(Ie)}):e.push({label:"取消亮点",key:"unhighlight",icon:g(Ie)});let l;return s.value.visibility===G.PUBLIC?l={label:"公开",key:"vpublic",icon:g(ie),children:[{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:s.value.visibility===G.PRIVATE?l={label:"私密",key:"vprivate",icon:g(ue),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:m&&s.value.visibility===G.FRIEND?l={label:"好友可见",key:"vfriend",icon:g(Pe),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)},{label:"关注可见",key:"vfollowing",icon:g(ce)}]}:l={label:"关注可见",key:"vfollowing",icon:g(ce),children:[{label:"公开",key:"vpublic",icon:g(ie)},{label:"私密",key:"vprivate",icon:g(ue)}]},m&&s.value.visibility!==G.FRIEND&&((M=l.children)==null||M.push({label:"好友可见",key:"vfriend",icon:g(Pe)})),e.push(l),e}),z=e=>{k.push({name:"post",query:{id:e}})},L=(e,l)=>{if(e.target.dataset.detail){const M=e.target.dataset.detail.split(":");if(M.length===2){v.commit("refresh"),M[0]==="tag"?k.push({name:"home",query:{q:M[1],t:"tag"}}):k.push({name:"user",query:{s:M[1]}});return}}z(l)},J=e=>{switch(e){case"whisper":b(i.post.user);break;case"delete":r.value=!0;break;case"lock":case"unlock":S.value=!0;break;case"stick":case"unstick":T.value=!0;break;case"highlight":case"unhighlight":h.value=!0;break;case"vpublic":p.value=0,$.value=!0;break;case"vprivate":p.value=1,$.value=!0;break;case"vfriend":p.value=2,$.value=!0;break;case"vfollowing":p.value=3,$.value=!0;break}},j=()=>{nt({id:s.value.id}).then(e=>{window.$message.success("删除成功"),k.replace("/"),setTimeout(()=>{v.commit("refresh")},50)}).catch(e=>{O.value=!1})},V=()=>{at({id:s.value.id}).then(e=>{q("reload"),e.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(e=>{O.value=!1})},Q=()=>{lt({id:s.value.id}).then(e=>{q("reload"),e.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(e=>{O.value=!1})},K=()=>{it({id:s.value.id}).then(e=>{s.value={...s.value,is_essence:e.highlight_status},e.highlight_status===1?window.$message.success("设为亮点成功"):window.$message.success("取消亮点成功")}).catch(e=>{O.value=!1})},Y=()=>{ut({id:s.value.id,visibility:p.value}).then(e=>{q("reload"),window.$message.success("修改可见性成功")}).catch(e=>{O.value=!1})},f=()=>{ct({id:s.value.id}).then(e=>{w.value=e.status,e.status?s.value={...s.value,upvote_count:s.value.upvote_count+1}:s.value={...s.value,upvote_count:s.value.upvote_count-1}}).catch(e=>{console.log(e)})},y=()=>{rt({id:s.value.id}).then(e=>{U.value=e.status,e.status?s.value={...s.value,collection_count:s.value.collection_count+1}:s.value={...s.value,collection_count:s.value.collection_count-1}}).catch(e=>{console.log(e)})},x=()=>{Gt(`${window.location.origin}/#/post?id=${s.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板")};return Re(()=>{v.state.userInfo.id>0&&(st({id:s.value.id}).then(e=>{w.value=e.status}).catch(e=>{console.log(e)}),ot({id:s.value.id}).then(e=>{U.value=e.status}).catch(e=>{console.log(e)}))}),(e,l)=>{const M=ye,X=ge("router-link"),te=Lt,he=le,fe=Ot,W=Dt,Z=Wt,we=Ft,qe=Me,Ne=Ht,Be=Vt,be=At,je=Ae,Fe=De;return o(),_("div",{class:"detail-item",onClick:l[7]||(l[7]=N=>z(s.value.id))},[t(Fe,null,{avatar:n(()=>[t(M,{round:"",size:30,src:s.value.user.avatar},null,8,["src"])]),header:n(()=>[t(X,{onClick:l[0]||(l[0]=B(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:s.value.user.username}}},{default:n(()=>[I(P(s.value.user.nickname),1)]),_:1},8,["to"]),d("span",Xs," @"+P(s.value.user.username),1),s.value.is_top?(o(),R(te,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:n(()=>[I(" 置顶 ")]),_:1})):u("",!0),s.value.visibility==a(G).PRIVATE?(o(),R(te,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:n(()=>[I(" 私密 ")]),_:1})):u("",!0),s.value.visibility==a(G).FRIEND?(o(),R(te,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:n(()=>[I(" 好友可见 ")]),_:1})):u("",!0)]),"header-extra":n(()=>[d("div",Zs,[t(fe,{placement:"bottom-end",trigger:"click",size:"small",options:F.value,onSelect:J},{default:n(()=>[t(he,{quaternary:"",circle:""},{icon:n(()=>[t(a(H),null,{default:n(()=>[t(a(dt))]),_:1})]),_:1})]),_:1},8,["options"])]),t(W,{show:r.value,"onUpdate:show":l[1]||(l[1]=N=>r.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:j},null,8,["show"]),t(W,{show:S.value,"onUpdate:show":l[2]||(l[2]=N=>S.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:V},null,8,["show","content"]),t(W,{show:T.value,"onUpdate:show":l[3]||(l[3]=N=>T.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(s.value.is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Q},null,8,["show","content"]),t(W,{show:h.value,"onUpdate:show":l[4]||(l[4]=N=>h.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态"+(s.value.is_essence?"取消亮点":"设为亮点")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"]),t(W,{show:$.value,"onUpdate:show":l[5]||(l[5]=N=>$.value=N),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(p.value==0?"公开":p.value==1?"私密":p.value==2?"好友可见":"关注可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:Y},null,8,["show","content"]),t(Z,{show:C.value,user:D.value,onSuccess:A},null,8,["show","user"])]),footer:n(()=>[t(we,{attachments:s.value.attachments},null,8,["attachments"]),t(we,{attachments:s.value.charge_attachments,price:s.value.attachment_price},null,8,["attachments","price"]),t(qe,{imgs:s.value.imgs},null,8,["imgs"]),t(Ne,{videos:s.value.videos,full:!0},null,8,["videos"]),t(Be,{links:s.value.links},null,8,["links"]),d("div",so,[I(" 发布于 "+P(a(pe)(s.value.created_on))+" ",1),s.value.ip_loc?(o(),_("span",oo,[t(be,{vertical:""}),I(" "+P(s.value.ip_loc),1)])):u("",!0),!a(v).state.collapsedLeft&&s.value.created_on!=s.value.latest_replied_on?(o(),_("span",no,[t(be,{vertical:""}),I(" 最后回复 "+P(a(pe)(s.value.latest_replied_on)),1)])):u("",!0)])]),action:n(()=>[d("div",ao,[t(je,{justify:"space-between"},{default:n(()=>[d("div",{class:"opt-item hover",onClick:B(f,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[w.value?u("",!0):(o(),R(a(mt),{key:0})),w.value?(o(),R(a(vt),{key:1,color:"red"})):u("",!0)]),_:1}),I(" "+P(s.value.upvote_count),1)],8,lo),d("div",io,[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(ht))]),_:1}),I(" "+P(s.value.comment_count),1)]),d("div",{class:"opt-item hover",onClick:B(y,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[U.value?u("",!0):(o(),R(a(ft),{key:0})),U.value?(o(),R(a(gt),{key:1,color:"#ff7600"})):u("",!0)]),_:1}),I(" "+P(s.value.collection_count),1)],8,uo),d("div",{class:"opt-item hover",onClick:B(x,["stop"])},[t(a(H),{size:"20",class:"opt-item-icon"},{default:n(()=>[t(a(yt))]),_:1}),I(" "+P(s.value.share_count),1)],8,co)]),_:1})])]),default:n(()=>[s.value.texts.length>0?(o(),_("div",eo,[(o(!0),_(re,null,_e(s.value.texts,N=>(o(),_("span",{key:N.id,class:"post-text",onClick:l[6]||(l[6]=B(He=>L(He,s.value.id),["stop"])),innerHTML:a(ke)(N.content).content},null,8,to))),128))])):u("",!0)]),_:1})])}}});const _o=E=>(Te("data-v-09db0ef6"),E=E(),ze(),E),po={key:0,class:"detail-wrap"},mo={key:1,class:"empty-wrap"},vo={key:0,class:"comment-opts-wrap"},ho=_o(()=>d("span",{class:"comment-title-item"},"评论",-1)),fo={key:2},go={key:0,class:"skeleton-wrap"},yo={key:1},ko={key:0,class:"empty-wrap"},wo={key:0,class:"load-more-spinner"},bo={key:1,class:"load-more-spinner"},$o={key:2,class:"load-more-spinner"},Co={key:3,class:"load-more-spinner"},se=20,xo=ee({__name:"Post",setup(E){const q=Yt(),i=c({}),m=c(!1),v=c(!1),k=c([]),w=oe(()=>+q.query.id),U=c("default"),r=c(!0);let S={loading(){},loaded(){},complete(){},error(){}};const T=z=>{U.value=z,z==="default"&&(r.value=!0),g(S)},h=()=>{i.value={id:0},m.value=!0,_t({id:w.value}).then(z=>{m.value=!1,i.value=z,g(S)}).catch(z=>{m.value=!1})};let $=1;const O=c(!1),p=c([]),C=z=>{O.value||Ce({id:i.value.id,sort_strategy:"default",page:$,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&($===1?p.value=L.list:p.value.push(...L.list),k.value=p.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})};let D=1,b=c(!1);const A=c([]),s=z=>{b.value||Ce({id:i.value.id,sort_strategy:"newest",page:D,page_size:se}).then(L=>{z!==null&&(S=z),L.list.length0&&(D===1?A.value=L.list:A.value.push(...L.list),k.value=A.value),S.loaded(),v.value=!1}).catch(L=>{v.value=!1,S.error()})},g=z=>{w.value<1||(k.value.length===0&&(v.value=!0),U.value==="default"?(k.value=p.value,C(z)):(k.value=A.value,s(z)),v.value=!1)},F=()=>{$=1,O.value=!1,p.value=[],D=1,b.value=!1,A.value=[],g(S)};return Re(()=>{h()}),Ye(w,()=>{w.value>0&&q.name==="post"&&h()}),(z,L)=>{const J=Qt,j=ro,V=Et,Q=qt,K=Nt,Y=Bt,f=jt,y=Qs,x=Jt,e=Ms,l=Ae,M=Mt;return o(),_("div",null,[t(J,{title:"泡泡详情",back:!0}),t(M,{class:"main-content-wrap",bordered:""},{default:n(()=>[t(K,null,{default:n(()=>[t(Q,{show:m.value},{default:n(()=>[i.value.id>1?(o(),_("div",po,[t(j,{post:i.value,onReload:h},null,8,["post"])])):(o(),_("div",mo,[t(V,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),i.value.id>0?(o(),_("div",vo,[t(f,{type:"bar","justify-content":"end",size:"small",animated:"","onUpdate:value":T},{prefix:n(()=>[ho]),default:n(()=>[t(Y,{name:"default",tab:"默认"}),t(Y,{name:"newest",tab:"最新"})]),_:1})])):u("",!0),i.value.id>0?(o(),R(K,{key:1},{default:n(()=>[t(y,{lock:i.value.is_lock,"post-id":i.value.id,onPostSuccess:F},null,8,["lock","post-id"])]),_:1})):u("",!0),i.value.id>0?(o(),_("div",fo,[v.value?(o(),_("div",go,[t(x,{num:5})])):(o(),_("div",yo,[k.value.length===0?(o(),_("div",ko,[t(V,{size:"large",description:"暂无评论,快来抢沙发"})])):u("",!0),(o(!0),_(re,null,_e(k.value,X=>(o(),R(K,{key:X.id},{default:n(()=>[t(e,{comment:X,onReload:F},null,8,["comment"])]),_:2},1024))),128))]))])):u("",!0),k.value.length>=se?(o(),R(l,{key:3,justify:"center"},{default:n(()=>[t(a(Xt),{class:"load-more",slots:{complete:"没有更多数据了",error:"加载出错"},onInfinite:g},{spinner:n(()=>[r.value&&O.value?(o(),_("span",wo)):u("",!0),!r.value&&a(b)?(o(),_("span",bo)):u("",!0),r.value&&!O.value?(o(),_("span",$o,"加载评论")):u("",!0),!r.value&&!a(b)?(o(),_("span",Co,"加载评论")):u("",!0)]),_:1})]),_:1})):u("",!0)]),_:1})])}}});const an=ae(xo,[["__scopeId","data-v-09db0ef6"]]);export{an as default}; diff --git a/web/dist/assets/Profile-e00fa856.js b/web/dist/assets/Profile-45bd0928.js similarity index 95% rename from web/dist/assets/Profile-e00fa856.js rename to web/dist/assets/Profile-45bd0928.js index ffa51709..c036a68f 100644 --- a/web/dist/assets/Profile-e00fa856.js +++ b/web/dist/assets/Profile-45bd0928.js @@ -1 +1 @@ -import{_ as fe}from"./whisper-d959da10.js";import{_ as he,a as ge}from"./post-item.vue_vue_type_style_index_0_lang-d5631a43.js";import{_ as ke}from"./post-skeleton-47a1ebec.js";import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{d as we,H as n,b as be,E as Pe,r as Ie,f as o,k as u,bf as _,q as d,w as c,Y as m,e,j as f,x as I,A as E,y as ae,F as y,u as w}from"./@vue-a481fc63.js";import{u as Te}from"./vuex-44de225f.js";import{b as Me}from"./vue-router-e5a2430e.js";import{e as x,F as ze,_ as qe}from"./index-5faa66a7.js";import{W as xe}from"./v3-infinite-loading-2c58ec2f.js";import{F as Se,a as $e,o as Ce,M as Le,f as Be,g as Fe,I as Ne,k as Ve,G as De}from"./naive-ui-d8de3dda.js";import"./content-2d41ca0a.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"profile-baseinfo"},We={class:"avatar"},je={class:"base-info"},Ee={class:"username"},He={class:"userinfo"},Re={class:"info-item"},Ae={class:"info-item"},Ge={class:"userinfo"},Ye={class:"info-item"},Je={class:"info-item"},Ke={key:0,class:"skeleton-wrap"},Oe={key:1},Qe={key:0,class:"empty-wrap"},Xe={key:1},Ze={key:0},ea={key:1},aa={key:2},ta={key:3},sa={key:4},la={key:2},oa={key:0},na={key:1},ua={key:2},ia={key:3},ra={key:4},ca={class:"load-more-wrap"},va={class:"load-more-spinner"},_a=we({__name:"Profile",setup(ma){const i=Te(),T=Me(),v=n(!1),b=n(!1),s=n([]),S=n([]),$=n([]),C=n([]),L=n([]),B=n([]),p=n("post"),H=n(+T.query.p||1),R=n(1),A=n(1),G=n(1),Y=n(1),t=n(+T.query.p||1),h=n(20),r=n(0),J=n(0),K=n(0),O=n(0),Q=n(0),X=n(0),F=n(!1),Z=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),g=a=>{Z.value=a,F.value=!0},te=()=>{F.value=!1},N=()=>{switch(p.value){case"post":V();break;case"comment":D();break;case"highlight":U();break;case"media":W();break;case"star":j();break}},V=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"post",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),S.value=s.value,J.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},D=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"comment",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),$.value=s.value,K.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},U=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"highlight",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),C.value=s.value,O.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},W=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"media",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),L.value=s.value,Q.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},j=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"star",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),B.value=s.value,X.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},se=a=>{switch(p.value=a,p.value){case"post":s.value=S.value,t.value=H.value,r.value=J.value,V();break;case"comment":s.value=$.value,t.value=R.value,r.value=K.value,D();break;case"highlight":s.value=C.value,t.value=A.value,r.value=O.value,U();break;case"media":s.value=L.value,t.value=G.value,r.value=Q.value,W();break;case"star":s.value=B.value,t.value=Y.value,r.value=X.value,j();break}},le=()=>{switch(p.value){case"post":H.value=t.value,V();break;case"comment":R.value=t.value,D();break;case"highlight":A.value=t.value,U();break;case"media":G.value=t.value,W();break;case"star":Y.value=t.value,j();break}},oe=()=>{t.value{N()}),Pe(()=>({path:T.path,query:T.query,refresh:i.state.refresh}),(a,P)=>{if(a.refresh!==P.refresh){t.value=+T.query.p||1,setTimeout(()=>{N()},0);return}P.path!=="/post"&&a.path==="/profile"&&(t.value=+T.query.p||1,setTimeout(()=>{N()},0))}),(a,P)=>{const ne=ye,ue=Ce,ie=Le,ee=Ie("router-link"),M=Be,re=Fe,ce=ke,ve=Ne,z=he,k=De,q=ge,_e=fe,me=Se,pe=Ve,de=$e;return e(),o("div",null,[u(ne,{title:"主页"}),_(i).state.userInfo.id>0?(e(),d(me,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:c(()=>[f("div",Ue,[f("div",We,[u(ue,{size:72,src:_(i).state.userInfo.avatar},null,8,["src"])]),f("div",je,[f("div",Ee,[f("strong",null,I(_(i).state.userInfo.nickname),1),f("span",null," @"+I(_(i).state.userInfo.username),1),_(i).state.userInfo.is_admin?(e(),d(ie,{key:0,class:"top-tag",type:"error",size:"small",round:""},{default:c(()=>[E(" 管理员 ")]),_:1})):m("",!0)]),f("div",He,[f("span",Re,"UID. "+I(_(i).state.userInfo.id),1),f("span",Ae,I(_(ze)(_(i).state.userInfo.created_on))+" 加入",1)]),f("div",Ge,[f("span",Ye,[u(ee,{onClick:P[0]||(P[0]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"follows"}}},{default:c(()=>[E(" 关注  "+I(_(i).state.userInfo.follows),1)]),_:1},8,["to"])]),f("span",Je,[u(ee,{onClick:P[1]||(P[1]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"followings"}}},{default:c(()=>[E(" 粉丝  "+I(_(i).state.userInfo.followings),1)]),_:1},8,["to"])])])])]),u(re,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:c(()=>[u(M,{name:"post",tab:"泡泡"}),u(M,{name:"comment",tab:"评论"}),u(M,{name:"highlight",tab:"亮点"}),u(M,{name:"media",tab:"图文"}),u(M,{name:"star",tab:"喜欢"})]),_:1}),v.value&&s.value.length===0?(e(),o("div",Ke,[u(ce,{num:h.value},null,8,["num"])])):(e(),o("div",Oe,[s.value.length===0?(e(),o("div",Qe,[u(ve,{size:"large",description:"暂无数据"})])):m("",!0),_(i).state.desktopModelShow?(e(),o("div",Xe,[p.value==="post"?(e(),o("div",Ze,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",ea,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",aa,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ta,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",sa,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)])):(e(),o("div",la,[p.value==="post"?(e(),o("div",oa,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",na,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",ua,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ia,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",ra,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)]))])),u(_e,{show:F.value,user:Z.value,onSuccess:te},null,8,["show","user"])]),_:1})):m("",!0),r.value>0?(e(),d(de,{key:1,justify:"center"},{default:c(()=>[u(_(xe),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:P[2]||(P[2]=l=>oe())},{spinner:c(()=>[f("div",ca,[b.value?m("",!0):(e(),d(pe,{key:0,size:14})),f("span",va,I(b.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):m("",!0)])}}});const Ga=qe(_a,[["__scopeId","data-v-756dadd0"]]);export{Ga as default}; +import{_ as fe}from"./whisper-e51c17fc.js";import{_ as he,a as ge}from"./post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js";import{_ as ke}from"./post-skeleton-2311fe04.js";import{_ as ye}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{d as we,H as n,b as be,E as Pe,r as Ie,f as o,k as u,bf as _,q as d,w as c,Y as m,e,j as f,x as I,A as E,y as ae,F as y,u as w}from"./@vue-a481fc63.js";import{u as Te}from"./vuex-44de225f.js";import{b as Me}from"./vue-router-e5a2430e.js";import{e as x,F as ze,_ as qe}from"./index-fae12ace.js";import{W as xe}from"./v3-infinite-loading-2c58ec2f.js";import{F as Se,a as $e,o as Ce,M as Le,f as Be,g as Fe,I as Ne,k as Ve,G as De}from"./naive-ui-d8de3dda.js";import"./content-1a1bcb51.js";import"./@vicons-7a4ef312.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Ue={class:"profile-baseinfo"},We={class:"avatar"},je={class:"base-info"},Ee={class:"username"},He={class:"userinfo"},Re={class:"info-item"},Ae={class:"info-item"},Ge={class:"userinfo"},Ye={class:"info-item"},Je={class:"info-item"},Ke={key:0,class:"skeleton-wrap"},Oe={key:1},Qe={key:0,class:"empty-wrap"},Xe={key:1},Ze={key:0},ea={key:1},aa={key:2},ta={key:3},sa={key:4},la={key:2},oa={key:0},na={key:1},ua={key:2},ia={key:3},ra={key:4},ca={class:"load-more-wrap"},va={class:"load-more-spinner"},_a=we({__name:"Profile",setup(ma){const i=Te(),T=Me(),v=n(!1),b=n(!1),s=n([]),S=n([]),$=n([]),C=n([]),L=n([]),B=n([]),p=n("post"),H=n(+T.query.p||1),R=n(1),A=n(1),G=n(1),Y=n(1),t=n(+T.query.p||1),h=n(20),r=n(0),J=n(0),K=n(0),O=n(0),Q=n(0),X=n(0),F=n(!1),Z=n({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),g=a=>{Z.value=a,F.value=!0},te=()=>{F.value=!1},N=()=>{switch(p.value){case"post":V();break;case"comment":D();break;case"highlight":U();break;case"media":W();break;case"star":j();break}},V=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"post",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),S.value=s.value,J.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},D=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"comment",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),$.value=s.value,K.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},U=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"highlight",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),C.value=s.value,O.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},W=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"media",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),L.value=s.value,Q.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},j=()=>{v.value=!0,x({username:i.state.userInfo.username,style:"star",page:t.value,page_size:h.value}).then(a=>{v.value=!1,a.list.length===0&&(b.value=!0),t.value>1?s.value=s.value.concat(a.list):(s.value=a.list||[],window.scrollTo(0,0)),r.value=Math.ceil(a.pager.total_rows/h.value),B.value=s.value,X.value=r.value}).catch(a=>{s.value=[],t.value>1&&t.value--,v.value=!1})},se=a=>{switch(p.value=a,p.value){case"post":s.value=S.value,t.value=H.value,r.value=J.value,V();break;case"comment":s.value=$.value,t.value=R.value,r.value=K.value,D();break;case"highlight":s.value=C.value,t.value=A.value,r.value=O.value,U();break;case"media":s.value=L.value,t.value=G.value,r.value=Q.value,W();break;case"star":s.value=B.value,t.value=Y.value,r.value=X.value,j();break}},le=()=>{switch(p.value){case"post":H.value=t.value,V();break;case"comment":R.value=t.value,D();break;case"highlight":A.value=t.value,U();break;case"media":G.value=t.value,W();break;case"star":Y.value=t.value,j();break}},oe=()=>{t.value{N()}),Pe(()=>({path:T.path,query:T.query,refresh:i.state.refresh}),(a,P)=>{if(a.refresh!==P.refresh){t.value=+T.query.p||1,setTimeout(()=>{N()},0);return}P.path!=="/post"&&a.path==="/profile"&&(t.value=+T.query.p||1,setTimeout(()=>{N()},0))}),(a,P)=>{const ne=ye,ue=Ce,ie=Le,ee=Ie("router-link"),M=Be,re=Fe,ce=ke,ve=Ne,z=he,k=De,q=ge,_e=fe,me=Se,pe=Ve,de=$e;return e(),o("div",null,[u(ne,{title:"主页"}),_(i).state.userInfo.id>0?(e(),d(me,{key:0,class:"main-content-wrap profile-wrap",bordered:""},{default:c(()=>[f("div",Ue,[f("div",We,[u(ue,{size:72,src:_(i).state.userInfo.avatar},null,8,["src"])]),f("div",je,[f("div",Ee,[f("strong",null,I(_(i).state.userInfo.nickname),1),f("span",null," @"+I(_(i).state.userInfo.username),1),_(i).state.userInfo.is_admin?(e(),d(ie,{key:0,class:"top-tag",type:"error",size:"small",round:""},{default:c(()=>[E(" 管理员 ")]),_:1})):m("",!0)]),f("div",He,[f("span",Re,"UID. "+I(_(i).state.userInfo.id),1),f("span",Ae,I(_(ze)(_(i).state.userInfo.created_on))+" 加入",1)]),f("div",Ge,[f("span",Ye,[u(ee,{onClick:P[0]||(P[0]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"follows"}}},{default:c(()=>[E(" 关注  "+I(_(i).state.userInfo.follows),1)]),_:1},8,["to"])]),f("span",Je,[u(ee,{onClick:P[1]||(P[1]=ae(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:_(i).state.userInfo.username,n:_(i).state.userInfo.nickname,t:"followings"}}},{default:c(()=>[E(" 粉丝  "+I(_(i).state.userInfo.followings),1)]),_:1},8,["to"])])])])]),u(re,{class:"profile-tabs-wrap",type:"line",animated:"","onUpdate:value":se},{default:c(()=>[u(M,{name:"post",tab:"泡泡"}),u(M,{name:"comment",tab:"评论"}),u(M,{name:"highlight",tab:"亮点"}),u(M,{name:"media",tab:"图文"}),u(M,{name:"star",tab:"喜欢"})]),_:1}),v.value&&s.value.length===0?(e(),o("div",Ke,[u(ce,{num:h.value},null,8,["num"])])):(e(),o("div",Oe,[s.value.length===0?(e(),o("div",Qe,[u(ve,{size:"large",description:"暂无数据"})])):m("",!0),_(i).state.desktopModelShow?(e(),o("div",Xe,[p.value==="post"?(e(),o("div",Ze,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",ea,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",aa,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ta,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",sa,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(z,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)])):(e(),o("div",la,[p.value==="post"?(e(),o("div",oa,[(e(!0),o(y,null,w(S.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="comment"?(e(),o("div",na,[(e(!0),o(y,null,w($.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="highlight"?(e(),o("div",ua,[(e(!0),o(y,null,w(C.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="media"?(e(),o("div",ia,[(e(!0),o(y,null,w(L.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0),p.value==="star"?(e(),o("div",ra,[(e(!0),o(y,null,w(B.value,l=>(e(),d(k,{key:l.id},{default:c(()=>[u(q,{post:l,onSendWhisper:g},null,8,["post"])]),_:2},1024))),128))])):m("",!0)]))])),u(_e,{show:F.value,user:Z.value,onSuccess:te},null,8,["show","user"])]),_:1})):m("",!0),r.value>0?(e(),d(de,{key:1,justify:"center"},{default:c(()=>[u(_(xe),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:P[2]||(P[2]=l=>oe())},{spinner:c(()=>[f("div",ca,[b.value?m("",!0):(e(),d(pe,{key:0,size:14})),f("span",va,I(b.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):m("",!0)])}}});const Ga=qe(_a,[["__scopeId","data-v-756dadd0"]]);export{Ga as default}; diff --git a/web/dist/assets/Setting-22e8a111.js b/web/dist/assets/Setting-5b238741.js similarity index 98% rename from web/dist/assets/Setting-22e8a111.js rename to web/dist/assets/Setting-5b238741.js index 46553b0e..c7ba6cbd 100644 --- a/web/dist/assets/Setting-22e8a111.js +++ b/web/dist/assets/Setting-5b238741.js @@ -1 +1 @@ -import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{d as ye,H as d,R as Q,b as ke,f as g,k as t,w as s,q as b,Y as _,e as r,j as m,bf as u,A as p,x as R,O as be,D as Ce,Z as q,y as A,$ as Ie,a0 as $e}from"./@vue-a481fc63.js";import{u as Pe}from"./vuex-44de225f.js";import{a0 as X,a1 as Se,a2 as Ue,a3 as Re,a4 as qe,a5 as Ae,a6 as Be,_ as Ne}from"./index-5faa66a7.js";import{Y as ze}from"./@vicons-7a4ef312.js";import{h as Ke,o as xe,e as De,B as Fe,b as je,j as Oe,S as Te,$ as Ve,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-d8de3dda.js";import"./vue-router-e5a2430e.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const j=B=>(Ie("data-v-a681720e"),B=B(),$e(),B),Ye={class:"base-line avatar"},Ge={class:"base-line"},He=j(()=>m("span",{class:"base-label"},"昵称",-1)),Je={key:0},Ze={class:"base-line"},Qe=j(()=>m("span",{class:"base-label"},"用户名",-1)),Xe={key:0},et={key:1},tt=j(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=j(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},pt={class:"captcha-img-wrap"},ct={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(B){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),N=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),z=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),S=d(!1),U=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),H=d(),J=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return N.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):N.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&N.value==="public/avatar"&&Se({avatar:f.data.content}).then(c=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(c=>{console.log(c)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=J.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=H.value)==null||e.validate(v=>{v||(x.value=!0,Ue({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(z.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{z.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{z.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&T()}))})},O=()=>{X().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},T=()=>{X().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},pe=()=>{Ae({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},ce=()=>{if(!(I.value>0&&U.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Be({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{U.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,U.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&O(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),O(),T()}),(n,e)=>{const v=we,f=xe,c=De,D=Fe,h=je,ge=Oe,F=Ke,Z=Te,w=Ve,he=Ee,V=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:N.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(c,{size:"small"},{default:s(()=>[p("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[He,C.value?_("",!0):(r(),g("div",Je,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:pe,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(c,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(ze))]),_:1})]),_:1})):_("",!0)]),m("div",Ze,[Qe,p(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Xe,[p(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[p(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Z,{title:"手机绑定提示",type:"warning"},{default:s(()=>[p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:O},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(c,{type:"primary",ghost:"",disabled:U.value,loading:P.value,onClick:ce},{default:s(()=>[p(R(I.value>0&&U.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",lt,[t(c,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ue},{default:s(()=>[p(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[p(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[p(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Z,{title:"激活码激活提示",type:"warning"},{default:s(()=>[p(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",pt,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",ct,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:T},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",mt,[t(c,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[p(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[p(" 您已设置密码 "),S.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[p(" 重置密码 ")]),_:1})),S.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:H,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:J,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",ft,[t(c,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[p(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=Ne(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; +import{_ as we}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{d as ye,H as d,R as Q,b as ke,f as g,k as t,w as s,q as b,Y as _,e as r,j as m,bf as u,A as p,x as R,O as be,D as Ce,Z as q,y as A,$ as Ie,a0 as $e}from"./@vue-a481fc63.js";import{u as Pe}from"./vuex-44de225f.js";import{a0 as X,a1 as Se,a2 as Ue,a3 as Re,a4 as qe,a5 as Ae,a6 as Be,_ as Ne}from"./index-fae12ace.js";import{Y as ze}from"./@vicons-7a4ef312.js";import{h as Ke,o as xe,e as De,B as Fe,b as je,j as Oe,S as Te,$ as Ve,K as Ee,a0 as Le,a1 as Me,d as We}from"./naive-ui-d8de3dda.js";import"./vue-router-e5a2430e.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const j=B=>(Ie("data-v-a681720e"),B=B(),$e(),B),Ye={class:"base-line avatar"},Ge={class:"base-line"},He=j(()=>m("span",{class:"base-label"},"昵称",-1)),Je={key:0},Ze={class:"base-line"},Qe=j(()=>m("span",{class:"base-label"},"用户名",-1)),Xe={key:0},et={key:1},tt=j(()=>m("br",null,null,-1)),at={key:2,class:"phone-bind-wrap"},st={class:"captcha-img-wrap"},nt={class:"captcha-img"},ot=["src"],lt={class:"form-submit-wrap"},rt={key:0},it={key:1},ut=j(()=>m("br",null,null,-1)),dt={key:2,class:"phone-bind-wrap"},pt={class:"captcha-img-wrap"},ct={class:"captcha-img"},_t=["src"],mt={class:"form-submit-wrap"},vt={key:1,class:"phone-bind-wrap"},ft={class:"form-submit-wrap"},gt=ye({__name:"Setting",setup(B){const ee="/v1/attachment",te="Bearer "+localStorage.getItem("PAOPAO_TOKEN"),N=d("public/avatar"),$="true".toLowerCase()==="true",ae="false".toLowerCase()==="true",o=Pe(),P=d(!1),z=d(!1),K=d(!1),M=d(),W=d(),C=d(!1),x=d(!1),S=d(!1),U=d(!1),I=d(60),y=d(!1),k=d(!1),Y=d(),G=d(),H=d(),J=d(),a=Q({id:"",b64s:"",imgCaptcha:"",phone:"",phone_captcha:"",password:"",old_password:"",reenteredPassword:""}),i=Q({id:"",b64s:"",imgCaptcha:"",activate_code:""}),se=async n=>{var e,v;return N.value==="public/avatar"&&!["image/png","image/jpg","image/jpeg"].includes((e=n.file.file)==null?void 0:e.type)?(window.$message.warning("头像仅允许 png/jpg 格式"),!1):N.value==="image"&&((v=n.file.file)==null?void 0:v.size)>1048576?(window.$message.warning("头像大小不能超过1MB"),!1):!0},ne=({file:n,event:e})=>{var v;try{let f=JSON.parse((v=e.target)==null?void 0:v.response);f.code===0&&N.value==="public/avatar"&&Se({avatar:f.data.content}).then(c=>{var D;window.$message.success("头像更新成功"),(D=M.value)==null||D.clear(),o.commit("updateUserinfo",{...o.state.userInfo,avatar:f.data.content})}).catch(c=>{console.log(c)})}catch{window.$message.error("上传失败")}},oe=(n,e)=>!!a.password&&a.password.startsWith(e)&&a.password.length>=e.length,le=(n,e)=>e===a.password,re=()=>{var n;a.reenteredPassword&&((n=J.value)==null||n.validate({trigger:"password-input"}))},ie=n=>{var e;n.preventDefault(),(e=H.value)==null||e.validate(v=>{v||(x.value=!0,Ue({password:a.password,old_password:a.old_password}).then(f=>{x.value=!1,S.value=!1,window.$message.success("密码重置成功"),o.commit("userLogout"),o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")}).catch(f=>{x.value=!1}))})},ue=n=>{var e;n.preventDefault(),(e=Y.value)==null||e.validate(v=>{v||(z.value=!0,Re({phone:a.phone,captcha:a.phone_captcha}).then(f=>{z.value=!1,y.value=!1,window.$message.success("绑定成功"),o.commit("updateUserinfo",{...o.state.userInfo,phone:a.phone}),a.id="",a.b64s="",a.imgCaptcha="",a.phone="",a.phone_captcha=""}).catch(f=>{z.value=!1}))})},de=n=>{var e;n.preventDefault(),(e=G.value)==null||e.validate(v=>{if(i.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,v||(K.value=!0,qe({activate_code:i.activate_code,captcha_id:i.id,imgCaptcha:i.imgCaptcha}).then(f=>{K.value=!1,k.value=!1,window.$message.success("激活成功"),o.commit("updateUserinfo",{...o.state.userInfo,activation:i.activate_code}),i.id="",i.b64s="",i.imgCaptcha="",i.activate_code=""}).catch(f=>{K.value=!1,f.code===20012&&T()}))})},O=()=>{X().then(n=>{a.id=n.id,a.b64s=n.b64s}).catch(n=>{console.log(n)})},T=()=>{X().then(n=>{i.id=n.id,i.b64s=n.b64s}).catch(n=>{console.log(n)})},pe=()=>{Ae({nickname:o.state.userInfo.nickname||""}).then(n=>{C.value=!1,window.$message.success("昵称修改成功")}).catch(n=>{C.value=!0})},ce=()=>{if(!(I.value>0&&U.value)){if(a.imgCaptcha===""){window.$message.warning("请输入图片验证码");return}P.value=!0,Be({phone:a.phone,img_captcha:a.imgCaptcha,img_captcha_id:a.id}).then(n=>{U.value=!0,P.value=!1,window.$message.success("发送成功");let e=setInterval(()=>{I.value--,I.value===0&&(clearInterval(e),I.value=60,U.value=!1)},1e3)}).catch(n=>{P.value=!1,n.code===20012&&O(),console.log(n)})}},_e={phone:[{required:!0,message:"请输入手机号",trigger:["input"],validator:(n,e)=>/^[1]+[3-9]{1}\d{9}$/.test(e)}],phone_captcha:[{required:!0,message:"请输入手机验证码"}]},me={activate_code:[{required:!0,message:"请输入激活码",trigger:["input"],validator:(n,e)=>/\d{6}$/.test(e)}]},ve={password:[{required:!0,message:"请输入新密码"}],old_password:[{required:!0,message:"请输入旧密码"}],reenteredPassword:[{required:!0,message:"请再次输入密码",trigger:["input","blur"]},{validator:oe,message:"两次密码输入不一致",trigger:"input"},{validator:le,message:"两次密码输入不一致",trigger:["blur","password-input"]}]},fe=()=>{C.value=!0,setTimeout(()=>{var n;(n=W.value)==null||n.focus()},30)};return ke(()=>{o.state.userInfo.id===0&&(o.commit("triggerAuth",!0),o.commit("triggerAuthKey","signin")),O(),T()}),(n,e)=>{const v=we,f=xe,c=De,D=Fe,h=je,ge=Oe,F=Ke,Z=Te,w=Ve,he=Ee,V=Le,E=Me,L=We;return r(),g("div",null,[t(v,{title:"设置",theme:""}),t(F,{title:"基本信息",size:"small",class:"setting-card"},{default:s(()=>[m("div",Ye,[t(f,{class:"avatar-img",size:80,src:u(o).state.userInfo.avatar},null,8,["src"]),!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),b(D,{key:0,ref_key:"avatarRef",ref:M,action:ee,headers:{Authorization:te},data:{type:N.value},onBeforeUpload:se,onFinish:ne},{default:s(()=>[t(c,{size:"small"},{default:s(()=>[p("更改头像")]),_:1})]),_:1},8,["headers","data"])):_("",!0)]),m("div",Ge,[He,C.value?_("",!0):(r(),g("div",Je,R(u(o).state.userInfo.nickname),1)),be(t(h,{ref_key:"inputInstRef",ref:W,class:"nickname-input",value:u(o).state.userInfo.nickname,"onUpdate:value":e[0]||(e[0]=l=>u(o).state.userInfo.nickname=l),type:"text",size:"small",placeholder:"请输入昵称",onBlur:pe,maxlength:16},null,8,["value"]),[[Ce,C.value]]),!C.value&&(!$||$&&u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0&&u(o).state.userInfo.status==1)?(r(),b(c,{key:1,quaternary:"",round:"",type:"success",size:"small",onClick:fe},{icon:s(()=>[t(ge,null,{default:s(()=>[t(u(ze))]),_:1})]),_:1})):_("",!0)]),m("div",Ze,[Qe,p(" @"+R(u(o).state.userInfo.username),1)])]),_:1}),$?(r(),b(F,{key:0,title:"手机号",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.phone&&u(o).state.userInfo.phone.length>0?(r(),g("div",Xe,[p(R(u(o).state.userInfo.phone)+" ",1),!y.value&&u(o).state.userInfo.status==1?(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[1]||(e[1]=l=>y.value=!0)},{default:s(()=>[p(" 换绑手机 ")]),_:1})):_("",!0)])):(r(),g("div",et,[t(Z,{title:"手机绑定提示",type:"warning"},{default:s(()=>[p(" 成功绑定手机后,才能进行换头像、发动态、回复等交互~"),tt,y.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[2]||(e[2]=l=>y.value=!0)}," 立即绑定 "))]),_:1})])),y.value?(r(),g("div",at,[t(L,{ref_key:"phoneFormRef",ref:Y,model:a,rules:_e},{default:s(()=>[t(w,{path:"phone",label:"手机号"},{default:s(()=>[t(h,{value:a.phone,"onUpdate:value":e[3]||(e[3]=l=>a.phone=l.trim()),placeholder:"请输入中国大陆手机号",onKeydown:e[4]||(e[4]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",st,[t(h,{value:a.imgCaptcha,"onUpdate:value":e[5]||(e[5]=l=>a.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",nt,[a.b64s?(r(),g("img",{key:0,src:a.b64s,onClick:O},null,8,ot)):_("",!0)])])]),_:1}),t(w,{path:"phone_captcha",label:"短信验证码"},{default:s(()=>[t(he,null,{default:s(()=>[t(h,{value:a.phone_captcha,"onUpdate:value":e[6]||(e[6]=l=>a.phone_captcha=l),placeholder:"请输入收到的短信验证码"},null,8,["value"]),t(c,{type:"primary",ghost:"",disabled:U.value,loading:P.value,onClick:ce},{default:s(()=>[p(R(I.value>0&&U.value?I.value+"s后重新发送":"发送验证码"),1)]),_:1},8,["disabled","loading"])]),_:1})]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",lt,[t(c,{quaternary:"",round:"",onClick:e[7]||(e[7]=l=>y.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:z.value,onClick:ue},{default:s(()=>[p(" 绑定 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),ae?(r(),b(F,{key:1,title:"激活码",size:"small",class:"setting-card"},{default:s(()=>[u(o).state.userInfo.activation&&u(o).state.userInfo.activation.length>0?(r(),g("div",rt,[p(R(u(o).state.userInfo.activation)+" ",1),k.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[8]||(e[8]=l=>k.value=!0)},{default:s(()=>[p(" 重新激活 ")]),_:1}))])):(r(),g("div",it,[t(Z,{title:"激活码激活提示",type:"warning"},{default:s(()=>[p(" 成功激活后后,才能发(公开/好友可见)动态、回复~"),ut,k.value?_("",!0):(r(),g("a",{key:0,class:"hash-link",onClick:e[9]||(e[9]=l=>k.value=!0)}," 立即激活 "))]),_:1})])),k.value?(r(),g("div",dt,[t(L,{ref_key:"activateFormRef",ref:G,model:i,rules:me},{default:s(()=>[t(w,{path:"activate_code",label:"激活码"},{default:s(()=>[t(h,{value:i.activate_code,"onUpdate:value":e[10]||(e[10]=l=>i.activate_code=l.trim()),placeholder:"请输入激活码",onKeydown:e[11]||(e[11]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"img_captcha",label:"图形验证码"},{default:s(()=>[m("div",pt,[t(h,{value:i.imgCaptcha,"onUpdate:value":e[12]||(e[12]=l=>i.imgCaptcha=l),placeholder:"请输入图形验证码后获取验证码"},null,8,["value"]),m("div",ct,[i.b64s?(r(),g("img",{key:0,src:i.b64s,onClick:T},null,8,_t)):_("",!0)])])]),_:1}),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",mt,[t(c,{quaternary:"",round:"",onClick:e[13]||(e[13]=l=>k.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:K.value,onClick:de},{default:s(()=>[p(" 激活 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})):_("",!0),t(F,{title:"账户安全",size:"small",class:"setting-card"},{default:s(()=>[p(" 您已设置密码 "),S.value?_("",!0):(r(),b(c,{key:0,quaternary:"",round:"",type:"success",onClick:e[14]||(e[14]=l=>S.value=!0)},{default:s(()=>[p(" 重置密码 ")]),_:1})),S.value?(r(),g("div",vt,[t(L,{ref_key:"formRef",ref:H,model:a,rules:ve},{default:s(()=>[t(w,{path:"old_password",label:"旧密码"},{default:s(()=>[t(h,{value:a.old_password,"onUpdate:value":e[15]||(e[15]=l=>a.old_password=l),type:"password",placeholder:"请输入当前密码",onKeydown:e[16]||(e[16]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{path:"password",label:"新密码"},{default:s(()=>[t(h,{value:a.password,"onUpdate:value":e[17]||(e[17]=l=>a.password=l),type:"password",placeholder:"请输入新密码",onInput:re,onKeydown:e[18]||(e[18]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value"])]),_:1}),t(w,{ref_key:"rPasswordFormItemRef",ref:J,first:"",path:"reenteredPassword",label:"重复密码"},{default:s(()=>[t(h,{value:a.reenteredPassword,"onUpdate:value":e[19]||(e[19]=l=>a.reenteredPassword=l),disabled:!a.password,type:"password",placeholder:"请再次输入密码",onKeydown:e[20]||(e[20]=q(A(()=>{},["prevent"]),["enter"]))},null,8,["value","disabled"])]),_:1},512),t(E,{gutter:[0,24]},{default:s(()=>[t(V,{span:24},{default:s(()=>[m("div",ft,[t(c,{quaternary:"",round:"",onClick:e[21]||(e[21]=l=>S.value=!1)},{default:s(()=>[p(" 取消 ")]),_:1}),t(c,{secondary:"",round:"",type:"primary",loading:x.value,onClick:ie},{default:s(()=>[p(" 更新 ")]),_:1},8,["loading"])])]),_:1})]),_:1})]),_:1},8,["model"])])):_("",!0)]),_:1})])}}});const Tt=Ne(gt,[["__scopeId","data-v-a681720e"]]);export{Tt as default}; diff --git a/web/dist/assets/Topic-5e96d43f.js b/web/dist/assets/Topic-8225d9c3.js similarity index 97% rename from web/dist/assets/Topic-5e96d43f.js rename to web/dist/assets/Topic-8225d9c3.js index d43f9b03..ca268f65 100644 --- a/web/dist/assets/Topic-5e96d43f.js +++ b/web/dist/assets/Topic-8225d9c3.js @@ -1 +1 @@ -import{A as $,B as M,C as O,D as x,_ as z}from"./index-5faa66a7.js";import{x as D}from"./@vicons-7a4ef312.js";import{d as F,H as i,c as A,b as q,r as U,e as c,f as _,k as n,w as s,q as b,A as B,x as f,Y as u,bf as h,E as j,al as H,F as Y,u as G}from"./@vue-a481fc63.js";import{o as J,M as C,j as K,e as P,O as Q,L as R,F as W,f as X,g as Z,a as ee,k as oe}from"./naive-ui-d8de3dda.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{u as ne}from"./vuex-44de225f.js";import"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=F({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=A(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":O({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":M({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return q(()=>{r.value=!1}),(e,o)=>{const w=U("router-link"),g=J,k=C,a=K,d=P,v=Q,p=R;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[B(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(D))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=F({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);j(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=A({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,x({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return q(()=>{g()}),(a,d)=>{const v=te,p=X,L=C,V=Z,N=ie,S=ee,E=oe,I=W;return c(),_("div",null,[n(v,{title:"话题"}),n(I,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(V,{type:"line",animated:"","onUpdate:value":k},H({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(L,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[B(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(E,{show:l.value},{default:s(()=>[n(S,null,{default:s(()=>[(c(!0),_(Y,null,G(r.value,y=>(c(),b(N,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Se=z(_e,[["__scopeId","data-v-1fb31ecf"]]);export{Se as default}; +import{A as $,B as M,C as O,D as x,_ as z}from"./index-fae12ace.js";import{x as D}from"./@vicons-7a4ef312.js";import{d as F,H as i,c as A,b as q,r as U,e as c,f as _,k as n,w as s,q as b,A as B,x as f,Y as u,bf as h,E as j,al as H,F as Y,u as G}from"./@vue-a481fc63.js";import{o as J,M as C,j as K,e as P,O as Q,L as R,F as W,f as X,g as Z,a as ee,k as oe}from"./naive-ui-d8de3dda.js";import{_ as te}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{u as ne}from"./vuex-44de225f.js";import"./vue-router-e5a2430e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const se={key:0,class:"tag-item"},ae={key:0,class:"tag-quote"},ce={key:1,class:"tag-quote tag-follow"},le={key:0,class:"options"},ie=F({__name:"tag-item",props:{tag:{},showAction:{type:Boolean},checkFollowing:{type:Boolean}},setup(T){const t=T,r=i(!1),m=A(()=>{let e=[];return t.tag.is_following===0?e.push({label:"关注",key:"follow"}):(t.tag.is_top===0?e.push({label:"置顶",key:"stick"}):e.push({label:"取消置顶",key:"unstick"}),e.push({label:"取消关注",key:"unfollow"})),e}),l=e=>{switch(e){case"follow":O({topic_id:t.tag.id}).then(o=>{t.tag.is_following=1,window.$message.success("关注成功")}).catch(o=>{console.log(o)});break;case"unfollow":M({topic_id:t.tag.id}).then(o=>{t.tag.is_following=0,window.$message.success("取消关注")}).catch(o=>{console.log(o)});break;case"stick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("置顶成功")}).catch(o=>{console.log(o)});break;case"unstick":$({topic_id:t.tag.id}).then(o=>{t.tag.is_top=o.top_status,window.$message.success("取消置顶")}).catch(o=>{console.log(o)});break}};return q(()=>{r.value=!1}),(e,o)=>{const w=U("router-link"),g=J,k=C,a=K,d=P,v=Q,p=R;return!e.checkFollowing||e.checkFollowing&&e.tag.is_following===1?(c(),_("div",se,[n(p,null,{header:s(()=>[(c(),b(k,{type:"success",size:"large",round:"",key:e.tag.id},{avatar:s(()=>[n(g,{src:e.tag.user.avatar},null,8,["src"])]),default:s(()=>[n(w,{class:"hash-link",to:{name:"home",query:{q:e.tag.tag,t:"tag"}}},{default:s(()=>[B(" #"+f(e.tag.tag),1)]),_:1},8,["to"]),e.showAction?u("",!0):(c(),_("span",ae,"("+f(e.tag.quote_num)+")",1)),e.showAction?(c(),_("span",ce,"("+f(e.tag.quote_num)+")",1)):u("",!0)]),_:1}))]),"header-extra":s(()=>[e.showAction?(c(),_("div",le,[n(v,{placement:"bottom-end",trigger:"click",size:"small",options:m.value,onSelect:l},{default:s(()=>[n(d,{type:"success",quaternary:"",circle:"",block:""},{icon:s(()=>[n(a,null,{default:s(()=>[n(h(D))]),_:1})]),_:1})]),_:1},8,["options"])])):u("",!0)]),_:1})])):u("",!0)}}});const _e=F({__name:"Topic",setup(T){const t=ne(),r=i([]),m=i("hot"),l=i(!1),e=i(!1),o=i(!1);j(e,()=>{e.value||(window.$message.success("保存成功"),t.commit("refreshTopicFollow"))});const w=A({get:()=>{let a="编辑";return e.value&&(a="保存"),a},set:a=>{}}),g=()=>{l.value=!0,x({type:m.value,num:50}).then(a=>{r.value=a.topics,l.value=!1}).catch(a=>{console.log(a),l.value=!1})},k=a=>{m.value=a,a=="follow"?o.value=!0:o.value=!1,g()};return q(()=>{g()}),(a,d)=>{const v=te,p=X,L=C,V=Z,N=ie,S=ee,E=oe,I=W;return c(),_("div",null,[n(v,{title:"话题"}),n(I,{class:"main-content-wrap tags-wrap",bordered:""},{default:s(()=>[n(V,{type:"line",animated:"","onUpdate:value":k},H({default:s(()=>[n(p,{name:"hot",tab:"热门"}),n(p,{name:"new",tab:"最新"}),h(t).state.userLogined?(c(),b(p,{key:0,name:"follow",tab:"关注"})):u("",!0)]),_:2},[h(t).state.userLogined?{name:"suffix",fn:s(()=>[n(L,{checked:e.value,"onUpdate:checked":d[0]||(d[0]=y=>e.value=y),checkable:""},{default:s(()=>[B(f(w.value),1)]),_:1},8,["checked"])]),key:"0"}:void 0]),1024),n(E,{show:l.value},{default:s(()=>[n(S,null,{default:s(()=>[(c(!0),_(Y,null,G(r.value,y=>(c(),b(N,{tag:y,showAction:h(t).state.userLogined&&e.value,checkFollowing:o.value},null,8,["tag","showAction","checkFollowing"]))),256))]),_:1})]),_:1},8,["show"])]),_:1})])}}});const Se=z(_e,[["__scopeId","data-v-1fb31ecf"]]);export{Se as default}; diff --git a/web/dist/assets/User-a35461e8.js b/web/dist/assets/User-ab286216.js similarity index 97% rename from web/dist/assets/User-a35461e8.js rename to web/dist/assets/User-ab286216.js index 6e4914bf..2dc79f9a 100644 --- a/web/dist/assets/User-a35461e8.js +++ b/web/dist/assets/User-ab286216.js @@ -1 +1 @@ -import{_ as Re,a as He}from"./post-item.vue_vue_type_style_index_0_lang-d5631a43.js";import{_ as Ne}from"./post-skeleton-47a1ebec.js";import{_ as Ve}from"./whisper-d959da10.js";import{_ as je}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{d as pe,H as i,e as s,q as m,w as r,j as f,k as t,A as U,x,R as Ge,c as Ee,b as Je,E as Ke,r as Ye,f as u,Y as d,bf as k,y as ce,F as $,u as T,h as _e}from"./@vue-a481fc63.js";import{u as Qe}from"./vuex-44de225f.js";import{b as Xe}from"./vue-router-e5a2430e.js";import{G as Ze,_ as me,H as ea,F as aa,e as V,I as sa,J as ta,K as la,L as na}from"./index-5faa66a7.js";import{R as oa,H as ua,S as ia,b as ra,e as fe,i as ca,T as _a,F as va,a as da,j as ve,o as pa,M as ma,O as fa,k as ha,f as ga,g as wa,I as ka,G as ya}from"./naive-ui-d8de3dda.js";import{W as ba}from"./v3-infinite-loading-2c58ec2f.js";import{i as Pa,p as $a,y as de,z as Ta,v as xa,D as za,G as Ua}from"./@vicons-7a4ef312.js";import"./content-2d41ca0a.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Fa={class:"whisper-wrap"},Ia={class:"whisper-line"},qa={class:"whisper-line send-wrap"},Ca=pe({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(ue,{emit:O}){const y=ue,g=i(""),F=i(!1),c=()=>{O("success")},h=()=>{F.value=!0,Ze({user_id:y.user.id,greetings:g.value}).then(a=>{window.$message.success("发送成功"),F.value=!1,g.value="",c()}).catch(a=>{F.value=!1})};return(a,v)=>{const L=oa,A=ua,l=ia,I=ra,q=fe,C=ca;return s(),m(C,{show:a.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:r(()=>[f("div",Fa,[t(l,{"show-icon":!1},{default:r(()=>[U(" 发送添加朋友申请给: "),t(A,{style:{"max-width":"100%"}},{default:r(()=>[t(L,{type:"success"},{default:r(()=>[U(x(a.user.nickname)+"@"+x(a.user.username),1)]),_:1})]),_:1})]),_:1}),f("div",Ia,[t(I,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:g.value,"onUpdate:value":v[0]||(v[0]=M=>g.value=M),maxlength:"120","show-count":""},null,8,["value"])]),f("div",qa,[t(q,{strong:"",secondary:"",type:"primary",loading:F.value,onClick:h},{default:r(()=>[U(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ma=me(Ca,[["__scopeId","data-v-60be56a2"]]),Sa={key:0,class:"profile-baseinfo"},Wa={class:"avatar"},La={class:"base-info"},Oa={class:"username"},Aa={class:"userinfo"},Ba={class:"info-item"},Da={class:"info-item"},Ra={class:"userinfo"},Ha={class:"info-item"},Na={class:"info-item"},Va={key:0,class:"user-opts"},ja={key:0,class:"skeleton-wrap"},Ga={key:1},Ea={key:0,class:"empty-wrap"},Ja={key:1},Ka={key:0},Ya={key:1},Qa={key:2},Xa={key:3},Za={key:4},es={key:2},as={key:0},ss={key:1},ts={key:2},ls={key:3},ns={key:4},os={class:"load-more-wrap"},us={class:"load-more-spinner"},is=pe({__name:"User",setup(ue){const O=_a(),y=Qe(),g=Xe(),F="true".toLowerCase()==="true",c=i(!1),h=i(!1),a=Ge({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),v=i(!1),L=i(!1),A=i(!1),l=i([]),I=i([]),q=i([]),C=i([]),M=i([]),B=i([]),S=i(g.query.s||""),n=i(+g.query.p||1),p=i("post"),G=i(+g.query.p||1),E=i(1),J=i(1),K=i(1),Y=i(1),w=i(20),_=i(0),Q=i(0),X=i(0),Z=i(0),ee=i(0),ae=i(0),b=e=>{a.id=e.id,a.username=e.username,a.nickname=e.nickname,a.avatar=e.avatar,L.value=!0},he=()=>{h.value=!1,l.value=[],I.value=[],q.value=[],C.value=[],M.value=[],B.value=[],p.value="post",n.value=1,G.value=1,E.value=1,J.value=1,K.value=1,Y.value=1,_.value=0,Q.value=0,X.value=0,Z.value=0,ee.value=0,ae.value=0},ge=()=>{switch(p.value){case"post":j();break;case"comment":se();break;case"highlight":te();break;case"media":le();break;case"star":ne();break}},j=()=>{c.value=!0,V({username:S.value,style:"post",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),I.value=l.value,Q.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},se=()=>{c.value=!0,V({username:S.value,style:"comment",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),q.value=l.value,X.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},te=()=>{c.value=!0,V({username:S.value,style:"highlight",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),C.value=l.value,Z.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},le=()=>{c.value=!0,V({username:S.value,style:"media",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),M.value=l.value,ee.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},ne=()=>{c.value=!0,V({username:S.value,style:"star",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),B.value=l.value,ae.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},we=e=>{switch(p.value=e,p.value){case"post":l.value=I.value,n.value=G.value,_.value=Q.value,j();break;case"comment":l.value=q.value,n.value=E.value,_.value=X.value,se();break;case"highlight":l.value=C.value,n.value=J.value,_.value=Z.value,te();break;case"media":l.value=M.value,n.value=K.value,_.value=ee.value,le();break;case"star":l.value=B.value,n.value=Y.value,_.value=ae.value,ne();break}},D=()=>{v.value=!0,ea({username:S.value}).then(e=>{v.value=!1,a.id=e.id,a.avatar=e.avatar,a.username=e.username,a.nickname=e.nickname,a.is_admin=e.is_admin,a.is_friend=e.is_friend,a.created_on=e.created_on,a.is_following=e.is_following,a.follows=e.follows,a.followings=e.followings,a.status=e.status,ge()}).catch(e=>{v.value=!1,console.log(e)})},ke=()=>{switch(p.value){case"post":G.value=n.value,j();break;case"comment":E.value=n.value,se();break;case"highlight":J.value=n.value,te();break;case"media":K.value=n.value,le();break;case"star":Y.value=n.value,ne();break}},ye=()=>{L.value=!0},be=()=>{A.value=!0},Pe=()=>{L.value=!1},$e=()=>{A.value=!1},W=e=>()=>_e(ve,null,{default:()=>_e(e)}),Te=Ee(()=>{let e=[{label:"私信",key:"whisper",icon:W($a)}];return y.state.userInfo.is_admin&&(a.status===1?e.push({label:"禁言",key:"banned",icon:W(de)}):e.push({label:"解封",key:"deblocking",icon:W(de)})),a.is_following?e.push({label:"取消关注",key:"unfollow",icon:W(Ta)}):e.push({label:"关注",key:"follow",icon:W(xa)}),F&&(a.is_friend?e.push({label:"删除好友",key:"delete",icon:W(za)}):e.push({label:"添加朋友",key:"requesting",icon:W(Ua)})),e}),xe=e=>{switch(e){case"whisper":ye();break;case"delete":ze();break;case"requesting":be();break;case"follow":case"unfollow":Ue();break;case"banned":case"deblocking":Fe();break}},ze=()=>{O.warning({title:"删除好友",content:"将好友 “"+a.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,sa({user_id:a.id}).then(e=>{v.value=!1,a.is_friend=!1,j()}).catch(e=>{v.value=!1,console.log(e)})}})},Ue=()=>{O.success({title:"提示",content:"确定"+(a.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,a.is_following?ta({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("取消关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)}):la({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Fe=()=>{O.warning({title:"警告",content:"确定对该用户进行"+(a.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,na({id:a.id,status:a.status===1?2:1}).then(e=>{v.value=!1,a.status===1?window.$message.success("禁言成功"):window.$message.success("解封成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Ie=()=>{n.value<_.value||_.value==0?(h.value=!1,n.value++,ke()):h.value=!0};return Je(()=>{D()}),Ke(()=>({path:g.path,query:g.query}),(e,z)=>{z.path==="/u"&&e.path==="/u"&&(S.value=g.query.s||"",he(),D())}),(e,z)=>{const qe=je,Ce=pa,oe=ma,ie=Ye("router-link"),Me=fe,Se=fa,We=Ve,re=ha,R=ga,Le=wa,Oe=Ne,Ae=ka,H=Re,P=ya,N=He,Be=va,De=da;return s(),u("div",null,[t(qe,{title:"用户详情"}),t(Be,{class:"main-content-wrap profile-wrap",bordered:""},{default:r(()=>[t(re,{show:v.value},{default:r(()=>[a.id>0?(s(),u("div",Sa,[f("div",Wa,[t(Ce,{size:72,src:a.avatar},null,8,["src"])]),f("div",La,[f("div",Oa,[f("strong",null,x(a.nickname),1),f("span",null," @"+x(a.username),1),F&&k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_friend?(s(),m(oe,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:r(()=>[U(" 好友 ")]),_:1})):d("",!0),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_following?(s(),m(oe,{key:1,class:"top-tag",type:"success",size:"small",round:""},{default:r(()=>[U(" 已关注 ")]),_:1})):d("",!0),a.is_admin?(s(),m(oe,{key:2,class:"top-tag",type:"error",size:"small",round:""},{default:r(()=>[U(" 管理员 ")]),_:1})):d("",!0)]),f("div",Aa,[f("span",Ba,"UID. "+x(a.id),1),f("span",Da,x(k(aa)(a.created_on))+" 加入",1)]),f("div",Ra,[f("span",Ha,[t(ie,{onClick:z[0]||(z[0]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"follows"}}},{default:r(()=>[U(" 关注  "+x(a.follows),1)]),_:1},8,["to"])]),f("span",Na,[t(ie,{onClick:z[1]||(z[1]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"followings"}}},{default:r(()=>[U(" 粉丝  "+x(a.followings),1)]),_:1},8,["to"])])])]),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username?(s(),u("div",Va,[t(Se,{placement:"bottom-end",trigger:"click",size:"small",options:Te.value,onSelect:xe},{default:r(()=>[t(Me,{quaternary:"",circle:""},{icon:r(()=>[t(k(ve),null,{default:r(()=>[t(k(Pa))]),_:1})]),_:1})]),_:1},8,["options"])])):d("",!0)])):d("",!0),t(We,{show:L.value,user:a,onSuccess:Pe},null,8,["show","user"]),t(Ma,{show:A.value,user:a,onSuccess:$e},null,8,["show","user"])]),_:1},8,["show"]),t(Le,{class:"profile-tabs-wrap",type:"line",animated:"",value:p.value,"onUpdate:value":we},{default:r(()=>[t(R,{name:"post",tab:"泡泡"}),t(R,{name:"comment",tab:"评论"}),t(R,{name:"highlight",tab:"亮点"}),t(R,{name:"media",tab:"图文"}),t(R,{name:"star",tab:"喜欢"})]),_:1},8,["value"]),c.value&&l.value.length===0?(s(),u("div",ja,[t(Oe,{num:w.value},null,8,["num"])])):(s(),u("div",Ga,[l.value.length===0?(s(),u("div",Ea,[t(Ae,{size:"large",description:"暂无数据"})])):d("",!0),k(y).state.desktopModelShow?(s(),u("div",Ja,[p.value==="post"?(s(),u("div",Ka,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",Ya,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",Qa,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",Xa,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",Za,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)])):(s(),u("div",es,[p.value==="post"?(s(),u("div",as,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",ss,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",ts,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",ls,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",ns,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)]))]))]),_:1}),_.value>0?(s(),m(De,{key:0,justify:"center"},{default:r(()=>[t(k(ba),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:z[2]||(z[2]=o=>Ie())},{spinner:r(()=>[f("div",os,[h.value?d("",!0):(s(),m(re,{key:0,size:14})),f("span",us,x(h.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):d("",!0)])}}});const Rs=me(is,[["__scopeId","data-v-ebc19734"]]);export{Rs as default}; +import{_ as Re,a as He}from"./post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js";import{_ as Ne}from"./post-skeleton-2311fe04.js";import{_ as Ve}from"./whisper-e51c17fc.js";import{_ as je}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{d as pe,H as i,e as s,q as m,w as r,j as f,k as t,A as U,x,R as Ge,c as Ee,b as Je,E as Ke,r as Ye,f as u,Y as d,bf as k,y as ce,F as $,u as T,h as _e}from"./@vue-a481fc63.js";import{u as Qe}from"./vuex-44de225f.js";import{b as Xe}from"./vue-router-e5a2430e.js";import{G as Ze,_ as me,H as ea,F as aa,e as V,I as sa,J as ta,K as la,L as na}from"./index-fae12ace.js";import{R as oa,H as ua,S as ia,b as ra,e as fe,i as ca,T as _a,F as va,a as da,j as ve,o as pa,M as ma,O as fa,k as ha,f as ga,g as wa,I as ka,G as ya}from"./naive-ui-d8de3dda.js";import{W as ba}from"./v3-infinite-loading-2c58ec2f.js";import{i as Pa,p as $a,y as de,z as Ta,v as xa,D as za,G as Ua}from"./@vicons-7a4ef312.js";import"./content-1a1bcb51.js";import"./paopao-video-player-2fe58954.js";import"./copy-to-clipboard-4ef7d3eb.js";import"./@babel-725317a4.js";import"./toggle-selection-93f4ad84.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const Fa={class:"whisper-wrap"},Ia={class:"whisper-line"},qa={class:"whisper-line send-wrap"},Ca=pe({__name:"whisper-add-friend",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(ue,{emit:O}){const y=ue,g=i(""),F=i(!1),c=()=>{O("success")},h=()=>{F.value=!0,Ze({user_id:y.user.id,greetings:g.value}).then(a=>{window.$message.success("发送成功"),F.value=!1,g.value="",c()}).catch(a=>{F.value=!1})};return(a,v)=>{const L=oa,A=ua,l=ia,I=ra,q=fe,C=ca;return s(),m(C,{show:a.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"申请添加朋友","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:r(()=>[f("div",Fa,[t(l,{"show-icon":!1},{default:r(()=>[U(" 发送添加朋友申请给: "),t(A,{style:{"max-width":"100%"}},{default:r(()=>[t(L,{type:"success"},{default:r(()=>[U(x(a.user.nickname)+"@"+x(a.user.username),1)]),_:1})]),_:1})]),_:1}),f("div",Ia,[t(I,{type:"textarea",placeholder:"请输入真挚的问候语",autosize:{minRows:5,maxRows:10},value:g.value,"onUpdate:value":v[0]||(v[0]=M=>g.value=M),maxlength:"120","show-count":""},null,8,["value"])]),f("div",qa,[t(q,{strong:"",secondary:"",type:"primary",loading:F.value,onClick:h},{default:r(()=>[U(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const Ma=me(Ca,[["__scopeId","data-v-60be56a2"]]),Sa={key:0,class:"profile-baseinfo"},Wa={class:"avatar"},La={class:"base-info"},Oa={class:"username"},Aa={class:"userinfo"},Ba={class:"info-item"},Da={class:"info-item"},Ra={class:"userinfo"},Ha={class:"info-item"},Na={class:"info-item"},Va={key:0,class:"user-opts"},ja={key:0,class:"skeleton-wrap"},Ga={key:1},Ea={key:0,class:"empty-wrap"},Ja={key:1},Ka={key:0},Ya={key:1},Qa={key:2},Xa={key:3},Za={key:4},es={key:2},as={key:0},ss={key:1},ts={key:2},ls={key:3},ns={key:4},os={class:"load-more-wrap"},us={class:"load-more-spinner"},is=pe({__name:"User",setup(ue){const O=_a(),y=Qe(),g=Xe(),F="true".toLowerCase()==="true",c=i(!1),h=i(!1),a=Ge({id:0,avatar:"",username:"",nickname:"",is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),v=i(!1),L=i(!1),A=i(!1),l=i([]),I=i([]),q=i([]),C=i([]),M=i([]),B=i([]),S=i(g.query.s||""),n=i(+g.query.p||1),p=i("post"),G=i(+g.query.p||1),E=i(1),J=i(1),K=i(1),Y=i(1),w=i(20),_=i(0),Q=i(0),X=i(0),Z=i(0),ee=i(0),ae=i(0),b=e=>{a.id=e.id,a.username=e.username,a.nickname=e.nickname,a.avatar=e.avatar,L.value=!0},he=()=>{h.value=!1,l.value=[],I.value=[],q.value=[],C.value=[],M.value=[],B.value=[],p.value="post",n.value=1,G.value=1,E.value=1,J.value=1,K.value=1,Y.value=1,_.value=0,Q.value=0,X.value=0,Z.value=0,ee.value=0,ae.value=0},ge=()=>{switch(p.value){case"post":j();break;case"comment":se();break;case"highlight":te();break;case"media":le();break;case"star":ne();break}},j=()=>{c.value=!0,V({username:S.value,style:"post",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),I.value=l.value,Q.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},se=()=>{c.value=!0,V({username:S.value,style:"comment",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),q.value=l.value,X.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},te=()=>{c.value=!0,V({username:S.value,style:"highlight",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),C.value=l.value,Z.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},le=()=>{c.value=!0,V({username:S.value,style:"media",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),M.value=l.value,ee.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},ne=()=>{c.value=!0,V({username:S.value,style:"star",page:n.value,page_size:w.value}).then(e=>{c.value=!1,e.list.length===0&&(h.value=!0),n.value>1?l.value=l.value.concat(e.list):(l.value=e.list||[],window.scrollTo(0,0)),_.value=Math.ceil(e.pager.total_rows/w.value),B.value=l.value,ae.value=_.value}).catch(e=>{l.value=[],n.value>1&&n.value--,c.value=!1})},we=e=>{switch(p.value=e,p.value){case"post":l.value=I.value,n.value=G.value,_.value=Q.value,j();break;case"comment":l.value=q.value,n.value=E.value,_.value=X.value,se();break;case"highlight":l.value=C.value,n.value=J.value,_.value=Z.value,te();break;case"media":l.value=M.value,n.value=K.value,_.value=ee.value,le();break;case"star":l.value=B.value,n.value=Y.value,_.value=ae.value,ne();break}},D=()=>{v.value=!0,ea({username:S.value}).then(e=>{v.value=!1,a.id=e.id,a.avatar=e.avatar,a.username=e.username,a.nickname=e.nickname,a.is_admin=e.is_admin,a.is_friend=e.is_friend,a.created_on=e.created_on,a.is_following=e.is_following,a.follows=e.follows,a.followings=e.followings,a.status=e.status,ge()}).catch(e=>{v.value=!1,console.log(e)})},ke=()=>{switch(p.value){case"post":G.value=n.value,j();break;case"comment":E.value=n.value,se();break;case"highlight":J.value=n.value,te();break;case"media":K.value=n.value,le();break;case"star":Y.value=n.value,ne();break}},ye=()=>{L.value=!0},be=()=>{A.value=!0},Pe=()=>{L.value=!1},$e=()=>{A.value=!1},W=e=>()=>_e(ve,null,{default:()=>_e(e)}),Te=Ee(()=>{let e=[{label:"私信",key:"whisper",icon:W($a)}];return y.state.userInfo.is_admin&&(a.status===1?e.push({label:"禁言",key:"banned",icon:W(de)}):e.push({label:"解封",key:"deblocking",icon:W(de)})),a.is_following?e.push({label:"取消关注",key:"unfollow",icon:W(Ta)}):e.push({label:"关注",key:"follow",icon:W(xa)}),F&&(a.is_friend?e.push({label:"删除好友",key:"delete",icon:W(za)}):e.push({label:"添加朋友",key:"requesting",icon:W(Ua)})),e}),xe=e=>{switch(e){case"whisper":ye();break;case"delete":ze();break;case"requesting":be();break;case"follow":case"unfollow":Ue();break;case"banned":case"deblocking":Fe();break}},ze=()=>{O.warning({title:"删除好友",content:"将好友 “"+a.nickname+"” 删除,将同时删除 点赞/收藏 列表中关于该朋友的 “好友可见” 推文",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,sa({user_id:a.id}).then(e=>{v.value=!1,a.is_friend=!1,j()}).catch(e=>{v.value=!1,console.log(e)})}})},Ue=()=>{O.success({title:"提示",content:"确定"+(a.is_following?"取消关注":"关注")+"该用户吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,a.is_following?ta({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("取消关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)}):la({user_id:a.id}).then(e=>{v.value=!1,window.$message.success("关注成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Fe=()=>{O.warning({title:"警告",content:"确定对该用户进行"+(a.status===1?"禁言":"解封")+"处理吗?",positiveText:"确定",negativeText:"取消",onPositiveClick:()=>{v.value=!0,na({id:a.id,status:a.status===1?2:1}).then(e=>{v.value=!1,a.status===1?window.$message.success("禁言成功"):window.$message.success("解封成功"),D()}).catch(e=>{v.value=!1,console.log(e)})}})},Ie=()=>{n.value<_.value||_.value==0?(h.value=!1,n.value++,ke()):h.value=!0};return Je(()=>{D()}),Ke(()=>({path:g.path,query:g.query}),(e,z)=>{z.path==="/u"&&e.path==="/u"&&(S.value=g.query.s||"",he(),D())}),(e,z)=>{const qe=je,Ce=pa,oe=ma,ie=Ye("router-link"),Me=fe,Se=fa,We=Ve,re=ha,R=ga,Le=wa,Oe=Ne,Ae=ka,H=Re,P=ya,N=He,Be=va,De=da;return s(),u("div",null,[t(qe,{title:"用户详情"}),t(Be,{class:"main-content-wrap profile-wrap",bordered:""},{default:r(()=>[t(re,{show:v.value},{default:r(()=>[a.id>0?(s(),u("div",Sa,[f("div",Wa,[t(Ce,{size:72,src:a.avatar},null,8,["src"])]),f("div",La,[f("div",Oa,[f("strong",null,x(a.nickname),1),f("span",null," @"+x(a.username),1),F&&k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_friend?(s(),m(oe,{key:0,class:"top-tag",type:"info",size:"small",round:""},{default:r(()=>[U(" 好友 ")]),_:1})):d("",!0),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username&&a.is_following?(s(),m(oe,{key:1,class:"top-tag",type:"success",size:"small",round:""},{default:r(()=>[U(" 已关注 ")]),_:1})):d("",!0),a.is_admin?(s(),m(oe,{key:2,class:"top-tag",type:"error",size:"small",round:""},{default:r(()=>[U(" 管理员 ")]),_:1})):d("",!0)]),f("div",Aa,[f("span",Ba,"UID. "+x(a.id),1),f("span",Da,x(k(aa)(a.created_on))+" 加入",1)]),f("div",Ra,[f("span",Ha,[t(ie,{onClick:z[0]||(z[0]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"follows"}}},{default:r(()=>[U(" 关注  "+x(a.follows),1)]),_:1},8,["to"])]),f("span",Na,[t(ie,{onClick:z[1]||(z[1]=ce(()=>{},["stop"])),class:"following-link",to:{name:"following",query:{s:a.username,n:a.nickname,t:"followings"}}},{default:r(()=>[U(" 粉丝  "+x(a.followings),1)]),_:1},8,["to"])])])]),k(y).state.userInfo.id>0&&k(y).state.userInfo.username!=a.username?(s(),u("div",Va,[t(Se,{placement:"bottom-end",trigger:"click",size:"small",options:Te.value,onSelect:xe},{default:r(()=>[t(Me,{quaternary:"",circle:""},{icon:r(()=>[t(k(ve),null,{default:r(()=>[t(k(Pa))]),_:1})]),_:1})]),_:1},8,["options"])])):d("",!0)])):d("",!0),t(We,{show:L.value,user:a,onSuccess:Pe},null,8,["show","user"]),t(Ma,{show:A.value,user:a,onSuccess:$e},null,8,["show","user"])]),_:1},8,["show"]),t(Le,{class:"profile-tabs-wrap",type:"line",animated:"",value:p.value,"onUpdate:value":we},{default:r(()=>[t(R,{name:"post",tab:"泡泡"}),t(R,{name:"comment",tab:"评论"}),t(R,{name:"highlight",tab:"亮点"}),t(R,{name:"media",tab:"图文"}),t(R,{name:"star",tab:"喜欢"})]),_:1},8,["value"]),c.value&&l.value.length===0?(s(),u("div",ja,[t(Oe,{num:w.value},null,8,["num"])])):(s(),u("div",Ga,[l.value.length===0?(s(),u("div",Ea,[t(Ae,{size:"large",description:"暂无数据"})])):d("",!0),k(y).state.desktopModelShow?(s(),u("div",Ja,[p.value==="post"?(s(),u("div",Ka,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",Ya,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",Qa,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",Xa,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",Za,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(H,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)])):(s(),u("div",es,[p.value==="post"?(s(),u("div",as,[(s(!0),u($,null,T(I.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="comment"?(s(),u("div",ss,[(s(!0),u($,null,T(q.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="highlight"?(s(),u("div",ts,[(s(!0),u($,null,T(C.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="media"?(s(),u("div",ls,[(s(!0),u($,null,T(M.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0),p.value==="star"?(s(),u("div",ns,[(s(!0),u($,null,T(B.value,o=>(s(),m(P,{key:o.id},{default:r(()=>[t(N,{post:o,onSendWhisper:b},null,8,["post"])]),_:2},1024))),128))])):d("",!0)]))]))]),_:1}),_.value>0?(s(),m(De,{key:0,justify:"center"},{default:r(()=>[t(k(ba),{class:"load-more",slots:{complete:"没有更多泡泡了",error:"加载出错"},onInfinite:z[2]||(z[2]=o=>Ie())},{spinner:r(()=>[f("div",os,[h.value?d("",!0):(s(),m(re,{key:0,size:14})),f("span",us,x(h.value?"没有更多泡泡了":"加载更多"),1)])]),_:1})]),_:1})):d("",!0)])}}});const Rs=me(is,[["__scopeId","data-v-ebc19734"]]);export{Rs as default}; diff --git a/web/dist/assets/Wallet-a477a3e7.js b/web/dist/assets/Wallet-60249712.js similarity index 95% rename from web/dist/assets/Wallet-a477a3e7.js rename to web/dist/assets/Wallet-60249712.js index 773bb39c..31f299d3 100644 --- a/web/dist/assets/Wallet-a477a3e7.js +++ b/web/dist/assets/Wallet-60249712.js @@ -1 +1 @@ -import{_ as G}from"./post-skeleton-47a1ebec.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-0888b762.js";import{d as K,H as c,b as J,f as _,k as e,w as o,e as a,bf as y,Y as w,j as n,A as k,F as q,u as z,O as ee,D as te,x as r,q as N,l as oe,y as ne,$ as ae,a0 as se}from"./@vue-a481fc63.js";import{u as le}from"./vuex-44de225f.js";import{b as ce}from"./vue-router-e5a2430e.js";import{b as ie}from"./qrcode-9719fc56.js";import{X as _e,Y as re,Z as ue,$ as pe,E as de,_ as me}from"./index-5faa66a7.js";import{X as ge}from"./@vicons-7a4ef312.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,Q as be,I as xe,j as Ce,l as Ie,h as Se,G as Ae}from"./naive-ui-d8de3dda.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const B=m=>(ae("data-v-870bd246"),m=m(),se(),m),Re={class:"balance-wrap"},$e={class:"balance-line"},qe={class:"balance-opts"},ze={key:0,class:"pagination-wrap"},Ne={key:0,class:"skeleton-wrap"},Be={key:1},Ee={key:0,class:"empty-wrap"},Fe={class:"bill-line"},Oe={key:0,class:"amount-options"},Pe={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},We=B(()=>n("canvas",{id:"qrcode-container"},null,-1)),De={class:"pay-tips"},Le={class:"pay-sub-tips"},Ue=B(()=>n("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ve=K({__name:"Wallet",setup(m){const i=le(),E=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+E.query.p||1),C=c(20),I=c(0),F=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),A=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},O=s=>{x.value=s,A()},R=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),A()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},P=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",R())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},W=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{R()}),(s,l)=>{const S=H,d=fe,D=ye,f=we,$=ke,L=be,U=G,V=xe,M=Ae,Y=ve,j=Ce,Q=Ie,X=Se,Z=he;return a(),_("div",null,[e(S,{title:"钱包"}),e(Y,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(a(),_("div",ze,[e(L,{page:x.value,"onUpdate:page":O,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[n("div",Re,[n("div",$e,[e(D,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),n("div",qe,[e($,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:P},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:W},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(a(),_("div",Ne,[e(U,{num:C.value},null,8,["num"])])):(a(),_("div",Be,[b.value.length===0?(a(),_("div",Ee,[e(V,{size:"large",description:"暂无数据"})])):w("",!0),(a(!0),_(q,null,z(b.value,t=>(a(),N(M,{key:t.id},{default:o(()=>[n("div",Fe,[n("div",null,"NO."+r(t.id),1),n("div",null,r(t.reason),1),n("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),n("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(Z,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(X,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(a(),_("div",Oe,[e($,{align:"baseline"},{default:o(()=>[(a(!0),_(q,null,z(F.value,t=>(a(),N(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ne(Me=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(a(),_("div",Pe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(n("div",Te,[We,n("div",De," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),n("div",Le,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ue])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const ft=me(Ve,[["__scopeId","data-v-870bd246"]]);export{ft as default}; +import{_ as G}from"./post-skeleton-2311fe04.js";import{_ as H}from"./main-nav.vue_vue_type_style_index_0_lang-96e8e840.js";import{d as K,H as c,b as J,f as _,k as e,w as o,e as a,bf as y,Y as w,j as n,A as k,F as q,u as z,O as ee,D as te,x as r,q as N,l as oe,y as ne,$ as ae,a0 as se}from"./@vue-a481fc63.js";import{u as le}from"./vuex-44de225f.js";import{b as ce}from"./vue-router-e5a2430e.js";import{b as ie}from"./qrcode-9719fc56.js";import{X as _e,Y as re,Z as ue,$ as pe,E as de,_ as me}from"./index-fae12ace.js";import{X as ge}from"./@vicons-7a4ef312.js";import{F as ve,i as he,Y as fe,Z as ye,e as we,a as ke,Q as be,I as xe,j as Ce,l as Ie,h as Se,G as Ae}from"./naive-ui-d8de3dda.js";import"./vooks-6d99783e.js";import"./evtd-b614532e.js";import"./encode-utf8-f813de00.js";import"./dijkstrajs-f906a09e.js";import"./axios-4a70c6fc.js";import"./moment-2ab8298d.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./@css-render-7124a1a5.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";const B=m=>(ae("data-v-870bd246"),m=m(),se(),m),Re={class:"balance-wrap"},$e={class:"balance-line"},qe={class:"balance-opts"},ze={key:0,class:"pagination-wrap"},Ne={key:0,class:"skeleton-wrap"},Be={key:1},Ee={key:0,class:"empty-wrap"},Fe={class:"bill-line"},Oe={key:0,class:"amount-options"},Pe={key:1,style:{"margin-top":"10px"}},Te={class:"qrcode-wrap"},We=B(()=>n("canvas",{id:"qrcode-container"},null,-1)),De={class:"pay-tips"},Le={class:"pay-sub-tips"},Ue=B(()=>n("span",{style:{"margin-left":"6px"}}," 支付结果实时同步中... ",-1)),Ve=K({__name:"Wallet",setup(m){const i=le(),E=ce(),g=c(!1),u=c(100),v=c(!1),p=c(""),h=c(!1),b=c([]),x=c(+E.query.p||1),C=c(20),I=c(0),F=c([100,200,300,500,1e3,3e3,5e3,1e4,5e4]),A=()=>{h.value=!0,re({page:x.value,page_size:C.value}).then(s=>{h.value=!1,b.value=s.list,I.value=Math.ceil(s.pager.total_rows/C.value),window.scrollTo(0,0)}).catch(s=>{h.value=!1})},O=s=>{x.value=s,A()},R=()=>{const s=localStorage.getItem("PAOPAO_TOKEN")||"";s?_e(s).then(l=>{i.commit("updateUserinfo",l),i.commit("triggerAuth",!1),A()}).catch(l=>{i.commit("triggerAuth",!0),i.commit("userLogout")}):(i.commit("triggerAuth",!0),i.commit("userLogout"))},P=()=>{g.value=!0},T=s=>{v.value=!0,ue({amount:u.value}).then(l=>{v.value=!1,p.value=l.pay,ie.toCanvas(document.querySelector("#qrcode-container"),l.pay,{width:150,margin:2});const S=setInterval(()=>{pe({id:l.id}).then(d=>{d.status==="TRADE_SUCCESS"&&(clearInterval(S),window.$message.success("充值成功"),g.value=!1,p.value="",R())}).catch(d=>{console.log(d)})},2e3)}).catch(l=>{v.value=!1})},W=()=>{i.state.userInfo.balance==0?window.$message.warning("您暂无可提现资金"):window.$message.warning("该功能即将开放")};return J(()=>{R()}),(s,l)=>{const S=H,d=fe,D=ye,f=we,$=ke,L=be,U=G,V=xe,M=Ae,Y=ve,j=Ce,Q=Ie,X=Se,Z=he;return a(),_("div",null,[e(S,{title:"钱包"}),e(Y,{class:"main-content-wrap",bordered:""},{footer:o(()=>[I.value>1?(a(),_("div",ze,[e(L,{page:x.value,"onUpdate:page":O,"page-slot":y(i).state.collapsedRight?5:8,"page-count":I.value},null,8,["page","page-slot","page-count"])])):w("",!0)]),default:o(()=>[n("div",Re,[n("div",$e,[e(D,{label:"账户余额 (元)"},{default:o(()=>[e(d,{from:0,to:(y(i).state.userInfo.balance||0)/100,duration:500,precision:2},null,8,["to"])]),_:1}),n("div",qe,[e($,{vertical:""},{default:o(()=>[e(f,{size:"small",secondary:"",type:"primary",onClick:P},{default:o(()=>[k(" 充值 ")]),_:1}),e(f,{size:"small",secondary:"",type:"tertiary",onClick:W},{default:o(()=>[k(" 提现 ")]),_:1})]),_:1})])])]),h.value?(a(),_("div",Ne,[e(U,{num:C.value},null,8,["num"])])):(a(),_("div",Be,[b.value.length===0?(a(),_("div",Ee,[e(V,{size:"large",description:"暂无数据"})])):w("",!0),(a(!0),_(q,null,z(b.value,t=>(a(),N(M,{key:t.id},{default:o(()=>[n("div",Fe,[n("div",null,"NO."+r(t.id),1),n("div",null,r(t.reason),1),n("div",{class:oe({income:t.change_amount>=0,out:t.change_amount<0})},r((t.change_amount>0?"+":"")+(t.change_amount/100).toFixed(2)),3),n("div",null,r(y(de)(t.created_on)),1)])]),_:2},1024))),128))]))]),_:1}),e(Z,{show:g.value,"onUpdate:show":l[0]||(l[0]=t=>g.value=t)},{default:o(()=>[e(X,{bordered:!1,title:"请选择充值金额",role:"dialog","aria-modal":"true",style:{width:"100%","max-width":"330px"}},{default:o(()=>[p.value.length===0?(a(),_("div",Oe,[e($,{align:"baseline"},{default:o(()=>[(a(!0),_(q,null,z(F.value,t=>(a(),N(f,{key:t,size:"small",secondary:"",type:u.value===t?"info":"default",onClick:ne(Me=>u.value=t,["stop"])},{default:o(()=>[k(r(t/100)+"元 ",1)]),_:2},1032,["type","onClick"]))),128))]),_:1})])):w("",!0),u.value>0&&p.value.length===0?(a(),_("div",Pe,[e(f,{loading:v.value,strong:"",secondary:"",type:"info",style:{width:"100%"},onClick:T},{icon:o(()=>[e(j,null,{default:o(()=>[e(y(ge))]),_:1})]),default:o(()=>[k(" 前往支付 ")]),_:1},8,["loading"])])):w("",!0),ee(n("div",Te,[We,n("div",De," 请使用支付宝扫码支付"+r((u.value/100).toFixed(2))+"元 ",1),n("div",Le,[e(Q,{value:100,type:"info",dot:"",processing:""}),Ue])],512),[[te,p.value.length>0]])]),_:1})]),_:1},8,["show"])])}}});const ft=me(Ve,[["__scopeId","data-v-870bd246"]]);export{ft as default}; diff --git a/web/dist/assets/content-2d41ca0a.js b/web/dist/assets/content-1a1bcb51.js similarity index 98% rename from web/dist/assets/content-2d41ca0a.js rename to web/dist/assets/content-1a1bcb51.js index 6ad73b97..6871706d 100644 --- a/web/dist/assets/content-2d41ca0a.js +++ b/web/dist/assets/content-1a1bcb51.js @@ -1 +1 @@ -import{d as h,e,f as r,F as a,u as m,k as s,w as o,bf as c,j as C,y as k,x as I,q as d,Y as g,H as j,A as N,h as b}from"./@vue-a481fc63.js";import{R as V,U as T}from"./@vicons-7a4ef312.js";import{j as $,V as A,W as B,m as U,X as z,e as F,i as L}from"./naive-ui-d8de3dda.js";import{_ as D,S as R,T as M}from"./index-5faa66a7.js";import{e as O}from"./paopao-video-player-2fe58954.js";const P={class:"link-wrap"},S={class:"link-txt-wrap"},q=["href"],H={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",P,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(V))]),_:1}),C("div",S,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",H,I(n.content),1)],8,q)])]))),128))])}}});const ot=D(W,[["__scopeId","data-v-36eef76b"]]),X={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=A,n=B;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(O),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=U,_=A,f=B,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},G=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),R({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{M({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=F,i=L;return e(),r("div",Z,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(T))]),_:1})]),default:o(()=>[N(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=D(G,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; +import{d as h,e,f as r,F as a,u as m,k as s,w as o,bf as c,j as C,y as k,x as I,q as d,Y as g,H as j,A as N,h as b}from"./@vue-a481fc63.js";import{R as V,U as T}from"./@vicons-7a4ef312.js";import{j as $,V as A,W as B,m as U,X as z,e as F,i as L}from"./naive-ui-d8de3dda.js";import{_ as D,S as R,T as M}from"./index-fae12ace.js";import{e as O}from"./paopao-video-player-2fe58954.js";const P={class:"link-wrap"},S={class:"link-txt-wrap"},q=["href"],H={class:"link-txt"},W=h({__name:"post-link",props:{links:{default:()=>[]}},setup(y){const l=y;return(p,u)=>{const x=$;return e(),r("div",P,[(e(!0),r(a,null,m(l.links,n=>(e(),r("div",{class:"link-item",key:n.id},[s(x,{class:"hash-link"},{default:o(()=>[s(c(V))]),_:1}),C("div",S,[C("a",{href:n.content,class:"hash-link",target:"_blank",onClick:u[0]||(u[0]=k(()=>{},["stop"]))},[C("span",H,I(n.content),1)],8,q)])]))),128))])}}});const ot=D(W,[["__scopeId","data-v-36eef76b"]]),X={key:0},st=h({__name:"post-video",props:{videos:{default:()=>[]},full:{type:Boolean,default:!1}},setup(y){const l=y;return(p,u)=>{const x=A,n=B;return l.videos.length>0?(e(),r("div",X,[s(n,{"x-gap":4,"y-gap":4,cols:p.full?1:5},{default:o(()=>[s(x,{span:p.full?1:3},{default:o(()=>[(e(!0),r(a,null,m(l.videos,v=>(e(),d(c(O),{onClick:u[0]||(u[0]=k(()=>{},["stop"])),key:v.id,src:v.content,colors:["#18a058","#2aca75"],hoverable:!0,theme:"gradient"},null,8,["src"]))),128))]),_:1},8,["span"])]),_:1},8,["cols"])])):g("",!0)}}}),Y={class:"images-wrap"},rt=h({__name:"post-image",props:{imgs:{default:()=>[]}},setup(y){const l=y,p="https://paopao-assets.oss-cn-shanghai.aliyuncs.com/public/404.png",u="?x-oss-process=image/resize,m_fill,w_300,h_300,limit_0/auto-orient,1/format,png";return(x,n)=>{const v=U,_=A,f=B,w=z;return e(),r("div",Y,[[1].includes(l.imgs.length)?(e(),d(w,{key:0},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:2},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[0]||(n[0]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[2,3].includes(l.imgs.length)?(e(),d(w,{key:1},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[1]||(n[1]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[4].includes(l.imgs.length)?(e(),d(w,{key:2},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,t=>(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[2]||(n[2]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024))),128))]),_:1})]),_:1})):g("",!0),[5].includes(l.imgs.length)?(e(),d(w,{key:3},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[3]||(n[3]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:2,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[4]||(n[4]=k(()=>{},["stop"])),class:"post-img x1","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),[6].includes(l.imgs.length)?(e(),d(w,{key:4},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i<3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[5]||(n[5]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,{key:t.id},[i>=3?(e(),d(_,{key:0},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[6]||(n[6]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),128))]),_:1})]),_:1})):g("",!0),l.imgs.length===7?(e(),d(w,{key:5},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[7]||(n[7]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[8]||(n[8]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===8?(e(),d(w,{key:6},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:4},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[9]||(n[9]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:4,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=4?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[10]||(n[10]=k(()=>{},["stop"])),class:"post-img x3","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0),l.imgs.length===9?(e(),d(w,{key:7},{default:o(()=>[s(f,{"x-gap":4,"y-gap":4,cols:3},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i<3?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[11]||(n[11]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=3&&i<6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[12]||(n[12]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1}),s(f,{"x-gap":4,"y-gap":4,cols:3,style:{"margin-top":"4px"}},{default:o(()=>[(e(!0),r(a,null,m(l.imgs,(t,i)=>(e(),r(a,null,[i>=6?(e(),d(_,{key:t.id},{default:o(()=>[s(v,{onError:()=>t.content=c(p),onClick:n[13]||(n[13]=k(()=>{},["stop"])),class:"post-img x2","object-fit":"cover",src:t.content+c(u),"preview-src":t.content},null,8,["onError","src","preview-src"])]),_:2},1024)):g("",!0)],64))),256))]),_:1})]),_:1})):g("",!0)])}}});const Z={class:"attachment-wrap"},G=h({__name:"post-attachment",props:{attachments:{default:()=>[]},price:{default:0}},setup(y){const l=y,p=j(!1),u=j(""),x=j(0),n=_=>{p.value=!0,x.value=_.id,u.value="这是一个免费附件,您可以直接下载?",_.type===8&&(u.value=()=>b("div",{},[b("p",{},"这是一个收费附件,下载将收取"+(l.price/100).toFixed(2)+"元")]),R({id:x.value}).then(f=>{f.paid&&(u.value=()=>b("div",{},[b("p",{},"此次下载您已支付或无需付费,请确认下载")]))}).catch(f=>{p.value=!1}))},v=()=>{M({id:x.value}).then(_=>{window.open(_.signed_url.replace("http://","https://"),"_blank")}).catch(_=>{console.log(_)})};return(_,f)=>{const w=$,t=F,i=L;return e(),r("div",Z,[(e(!0),r(a,null,m(_.attachments,E=>(e(),r("div",{class:"attach-item",key:E.id},[s(t,{onClick:k(J=>n(E),["stop"]),type:"primary",size:"tiny",dashed:""},{icon:o(()=>[s(w,null,{default:o(()=>[s(c(T))]),_:1})]),default:o(()=>[N(" "+I(E.type===8?"收费":"免费")+"附件 ",1)]),_:2},1032,["onClick"])]))),128)),s(i,{show:p.value,"onUpdate:show":f[0]||(f[0]=E=>p.value=E),"mask-closable":!1,preset:"dialog",title:"下载提示",content:u.value,"positive-text":"确认下载","negative-text":"取消","icon-placement":"top",onPositiveClick:v},null,8,["show","content"])])}}});const lt=D(G,[["__scopeId","data-v-22563084"]]),ct=y=>{const l=[],p=[];var u=/(#|#)([^#@\s])+?\s+?/g,x=/@([a-zA-Z0-9])+?\s+?/g;return y=y.replace(/<[^>]*?>/gi,"").replace(/(.*?)<\/[^>]*?>/gi,"").replace(u,n=>(l.push(n.substr(1).trim()),''+n.trim()+" ")).replace(x,n=>(p.push(n.substr(1).trim()),''+n.trim()+" ")),{content:y,tags:l,users:p}};export{rt as _,lt as a,st as b,ot as c,ct as p}; diff --git a/web/dist/assets/index-5faa66a7.js b/web/dist/assets/index-fae12ace.js similarity index 90% rename from web/dist/assets/index-5faa66a7.js rename to web/dist/assets/index-fae12ace.js index 8bba078c..c2d8dbee 100644 --- a/web/dist/assets/index-5faa66a7.js +++ b/web/dist/assets/index-fae12ace.js @@ -1 +1 @@ -import{d as Y,H as k,R as oe,b as Z,e as w,q as K,w as a,j as y,k as s,f as E,A as U,Z as q,y as N,Y as M,bf as f,c as J,E as Q,r as me,F as se,u as ne,x as A,h as P,a5 as Pe,s as re,l as Oe,ag as Le}from"./@vue-a481fc63.js";import{c as Te,a as Ae,u as pe,b as Ee}from"./vue-router-e5a2430e.js";import{c as Ie,u as B}from"./vuex-44de225f.js";import{a as Re}from"./axios-4a70c6fc.js";import{_ as Ce,N as $e,a as _e,b as he,c as Me,d as Se,e as ge,f as Ue,g as De,h as fe,i as xe,j as W,k as qe,u as Ne,l as Ke,m as Fe,n as Ve,o as ze,p as He,q as We,r as Ye,s as Be,t as je}from"./naive-ui-d8de3dda.js";import{h as D}from"./moment-2ab8298d.js";import{S as Ge,M as Qe,L as Ze,C as Je,B as Xe,P as et,W as tt,a as ot,H as ae,b as le,c as ue}from"./@vicons-7a4ef312.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))c(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function r(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function c(i){if(i.ep)return;i.ep=!0;const n=r(i);fetch(i.href,n)}})();const st="modulepreload",nt=function(e){return"/"+e},ie={},T=function(t,r,c){if(!r||r.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(r.map(n=>{if(n=nt(n),n in ie)return;ie[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!c)for(let b=i.length-1;b>=0;b--){const _=i[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":st,m||(v.as="script",v.crossOrigin=""),v.href=n,document.head.appendChild(v),m)return new Promise((b,_)=>{v.addEventListener("load",b),v.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},rt=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>T(()=>import("./Home-0382696a.js"),["assets/Home-0382696a.js","assets/whisper-d959da10.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js","assets/content-2d41ca0a.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/IEnum-5453a777.js","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/@opentiny-d73a2d67.js","assets/vue-1e3b54ec.js","assets/xss-a5544f63.js","assets/cssfilter-af71ba68.js","assets/@opentiny-0f942bd4.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Home-2a6423f9.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"泡泡详情"},component:()=>T(()=>import("./Post-b40cc86e.js"),["assets/Post-b40cc86e.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/IEnum-5453a777.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-2d41ca0a.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vue-router-e5a2430e.js","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/@babel-725317a4.js","assets/whisper-d959da10.js","assets/whisper-61451957.css","assets/copy-to-clipboard-4ef7d3eb.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Post-3a79fbc3.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>T(()=>import("./Topic-5e96d43f.js"),["assets/Topic-5e96d43f.js","assets/@vicons-7a4ef312.js","assets/@vue-a481fc63.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Topic-384e019e.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>T(()=>import("./Anouncement-9133d100.js"),["assets/Anouncement-9133d100.js","assets/post-skeleton-47a1ebec.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>T(()=>import("./Profile-e00fa856.js"),["assets/Profile-e00fa856.js","assets/whisper-d959da10.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js","assets/content-2d41ca0a.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Profile-3ffb7be9.css","assets/vfonts-7afd136d.css"])},{path:"/u",name:"user",meta:{title:"用户详情"},component:()=>T(()=>import("./User-a35461e8.js"),["assets/User-a35461e8.js","assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js","assets/content-2d41ca0a.js","assets/@vue-a481fc63.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/whisper-d959da10.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/User-b21ba7c9.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>T(()=>import("./Messages-c3fa26d0.js"),["assets/Messages-c3fa26d0.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-d959da10.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Messages-3c6066fb.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>T(()=>import("./Collection-2ba2fc81.js"),["assets/Collection-2ba2fc81.js","assets/whisper-d959da10.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js","assets/content-2d41ca0a.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Collection-5c3a44e2.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>T(()=>import("./Contacts-e25841ce.js"),["assets/Contacts-e25841ce.js","assets/whisper-d959da10.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/@vicons-7a4ef312.js","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Contacts-7fa3e0d6.css","assets/vfonts-7afd136d.css"])},{path:"/following",name:"following",meta:{title:"关注"},component:()=>T(()=>import("./Following-0d52a2ca.js"),["assets/Following-0d52a2ca.js","assets/whisper-d959da10.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/post-skeleton-47a1ebec.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Following-6aa7d36c.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>T(()=>import("./Wallet-a477a3e7.js"),["assets/Wallet-a477a3e7.js","assets/post-skeleton-47a1ebec.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>T(()=>import("./Setting-22e8a111.js"),["assets/Setting-22e8a111.js","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>T(()=>import("./404-d844c63e.js"),["assets/404-d844c63e.js","assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],ve=Te({history:Ae(),routes:rt});ve.beforeEach((e,t,r)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,r()});const at=Ie({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:"",created_on:0,follows:0,followings:0,is_admin:!1}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:"",created_on:0,follows:0,followings:0,is_admin:!1},e.userLogined=!1}},actions:{},modules:{}}),X=Re.create({baseURL:"",timeout:3e4});X.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));X.interceptors.response.use(e=>{const{data:t={},code:r=0}=(e==null?void 0:e.data)||{};if(+r==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var r;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((r=t==null?void 0:t.data)==null?void 0:r.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return X(e)}const ce=e=>o({method:"post",url:"/v1/auth/login",data:e}),lt=e=>o({method:"post",url:"/v1/auth/register",data:e}),G=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),ut={class:"auth-wrap"},it={key:0},ct=Y({__name:"auth",setup(e){const t=k("true".toLowerCase()==="true"),r=B(),c=k(!1),i=k(),n=oe({username:"",password:""}),m=k(),d=oe({username:"",password:"",repassword:""}),S={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},v=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=i.value)==null||u.validate(I=>{I||(c.value=!0,ce({username:n.username,password:n.password}).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("登录成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),r.commit("refresh"),n.username="",n.password=""}).catch(h=>{c.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(I=>{I||(c.value=!0,lt({username:d.username,password:d.password}).then(h=>ce({username:d.username,password:d.password})).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("注册成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(h=>{c.value=!1}))})};return Z(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?G(_).then(u=>{r.commit("updateUserinfo",u),r.commit("triggerAuth",!1)}).catch(u=>{r.commit("userLogout")}):r.commit("userLogout")}),(_,u)=>{const I=Ce,h=$e,R=_e,C=he,O=Me,x=Se,l=ge,L=Ue,F=De,H=fe,V=xe;return w(),K(V,{show:f(r).state.authModalShow,"onUpdate:show":u[7]||(u[7]=p=>f(r).state.authModalShow=p),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[y("div",ut,[s(H,{bordered:!1},{default:a(()=>[t.value?M("",!0):(w(),E("div",it,[s(R,{justify:"center"},{default:a(()=>[s(h,null,{default:a(()=>[s(I,{type:"success"},{default:a(()=>[U("账号登录")]),_:1})]),_:1})]),_:1}),s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[0]||(u[0]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])])),t.value?(w(),K(F,{key:1,"default-value":f(r).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(L,{name:"signin",tab:"登录"},{default:a(()=>[s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[2]||(u[2]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(L,{name:"signup",tab:"注册"},{default:a(()=>[s(x,{ref_key:"registerRef",ref:m,model:d,rules:S},{default:a(()=>[s(O,{label:"用户名",path:"username"},{default:a(()=>[s(C,{value:d.username,"onUpdate:value":u[4]||(u[4]=p=>d.username=p),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=p=>d.password=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"重复密码",path:"repassword"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=p=>d.repassword=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:b},{default:a(()=>[U(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const we=(e,t)=>{const r=e.__vccOpts||e;for(const[c,i]of t)r[c]=i;return r},dt=we(ct,[["__scopeId","data-v-053dfa44"]]),io=e=>o({method:"get",url:"/v1/posts",params:e}),mt=e=>o({method:"get",url:"/v1/tags",params:e}),co=e=>o({method:"get",url:"/v1/post",params:e}),mo=e=>o({method:"get",url:"/v1/post/star",params:e}),po=e=>o({method:"post",url:"/v1/post/star",data:e}),_o=e=>o({method:"get",url:"/v1/post/collection",params:e}),ho=e=>o({method:"post",url:"/v1/post/collection",data:e}),go=e=>o({method:"get",url:"/v1/post/comments",params:e}),fo=e=>o({method:"get",url:"/v1/user/contacts",params:e}),vo=e=>o({method:"post",url:"/v1/post",data:e}),wo=e=>o({method:"delete",url:"/v1/post",data:e}),yo=e=>o({method:"post",url:"/v1/post/lock",data:e}),bo=e=>o({method:"post",url:"/v1/post/stick",data:e}),ko=e=>o({method:"post",url:"/v1/post/highlight",data:e}),Po=e=>o({method:"post",url:"/v1/post/visibility",data:e}),Oo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),Lo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),To=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),Ao=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),Eo=e=>o({method:"post",url:"/v1/post/comment",data:e}),Io=e=>o({method:"delete",url:"/v1/post/comment",data:e}),Ro=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),Co=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),$o=e=>o({method:"post",url:"/v1/topic/stick",data:e}),Mo=e=>o({method:"post",url:"/v1/topic/follow",data:e}),So=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),Uo=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Do=e=>o({method:"post",url:"/v1/captcha",data:e}),xo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),qo=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),No=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ko=e=>o({method:"post",url:"/v1/user/follow",data:e}),Fo=e=>o({method:"post",url:"/v1/user/unfollow",data:e}),Vo=e=>o({method:"get",url:"/v1/user/follows",params:e}),zo=e=>o({method:"get",url:"/v1/user/followings",params:e}),Ho=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Wo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Yo=e=>o({method:"post",url:"/v1/user/phone",data:e}),Bo=e=>o({method:"post",url:"/v1/user/activate",data:e}),jo=e=>o({method:"post",url:"/v1/user/password",data:e}),Go=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Qo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),de=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Zo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Jo=e=>o({method:"post",url:"/v1/user/message/read",data:e}),Xo=e=>o({method:"get",url:"/v1/user/collections",params:e}),es=e=>o({method:"get",url:"/v1/user/profile",params:e}),ts=e=>o({method:"get",url:"/v1/user/posts",params:e}),os=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),ss=e=>o({method:"post",url:"/v1/user/recharge",data:e}),ns=e=>o({method:"get",url:"/v1/user/recharge",params:e}),rs=e=>o({method:"get",url:"/v1/suggest/users",params:e}),as=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),ls=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),us=e=>o({method:"get",url:"/v1/attachment",params:e}),is=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),pt=()=>o({method:"get",url:"/v1/admin/site/status"});D.locale("zh-cn");const _t=e=>D.unix(e).fromNow(),cs=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()},ds=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD"):t.fromNow()},ms=e=>D.unix(e).utc(!0).format("YYYY年MM月"),ht={key:0,class:"rightbar-wrap"},gt={class:"search-wrap"},ft={class:"post-num"},vt={class:"post-num"},wt={class:"copyright"},yt=["href"],bt=["href"],kt={class:"site-info-item"},Pt=Y({__name:"rightbar",setup(e){const t=k([]),r=k([]),c=k(!1),i=k(""),n=B(),m=pe(),d=k(0),S=k(0),v=k(0),b=k(0),_=k(null),u="2023 paopao.info",I="Roc's Me",h="",R="泡泡(PaoPao)开源社区",C="https://www.paopao.info",O=+"6",x=+"12",l=()=>{pt().then(g=>{d.value=g.register_user_count,S.value=g.online_user_count,v.value=g.history_max_online,b.value=g.server_up_time}).catch(g=>{}),p.disconnect()},L=()=>{c.value=!0,mt({type:"hot_extral",num:x,extral_num:O}).then(g=>{t.value=g.topics,r.value=g.extral_topics??[],V.value=!0,c.value=!1}).catch(g=>{c.value=!1})},F=g=>g>=1e3?(g/1e3).toFixed(1)+"k":g,H=()=>{m.push({name:"home",query:{q:i.value}})},V=J({get:()=>n.state.userLogined&&r.value.length!==0,set:g=>{}});Q(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(g,z)=>{(g.refreshTopicFollow!==z.refreshTopicFollow||g.userLogined)&&L(),n.state.userInfo.is_admin&&l()});const p=new IntersectionObserver(g=>{g.forEach(z=>{z.isIntersecting&&l()})},{root:null,rootMargin:"0px",threshold:1});return Z(()=>{_.value&&p.observe(_.value),L()}),(g,z)=>{const ye=W,be=he,ee=me("router-link"),te=qe,j=fe,ke=_e;return f(n).state.collapsedRight?M("",!0):(w(),E("div",ht,[y("div",gt,[s(be,{round:"",clearable:"",placeholder:"搜一搜...",value:i.value,"onUpdate:value":z[0]||(z[0]=$=>i.value=$),onKeyup:q(N(H,["prevent"]),["enter"])},{prefix:a(()=>[s(ye,{component:f(Ge)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),V.value?(w(),K(j,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(r.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",ft,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(j,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(t.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",vt,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(j,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[y("div",wt,"© "+A(f(u)),1),y("div",null,[s(ke,null,{default:a(()=>[y("a",{href:f(h),target:"_blank",class:"hash-link"},A(f(I)),9,yt),y("a",{href:f(C),target:"_blank",class:"hash-link"},A(f(R)),9,bt)]),_:1})])]),_:1}),f(n).state.userInfo.is_admin?(w(),E("div",{key:1,class:"site-info",ref_key:"userInfoElement",ref:_},[y("span",kt,A(d.value)+" 注册用户,"+A(S.value)+" 人在线,最高在线 "+A(v.value)+" 人,站点上线于 "+A(f(_t)(b.value)),1)],512)):M("",!0)]))}}});const Ot=we(Pt,[["__scopeId","data-v-0a6cd0b6"]]),Lt="/assets/logo-52afee68.png",Tt={class:"sidebar-wrap"},At={class:"logo-wrap"},Et={key:0,class:"user-wrap"},It={class:"user-info"},Rt={class:"nickname"},Ct={class:"nickname-txt"},$t={class:"username"},Mt={class:"user-mini-wrap"},St={key:1,class:"user-wrap"},Ut={key:0,class:"login-only-wrap"},Dt={key:1,class:"login-wrap"},xt=Y({__name:"sidebar",setup(e){const t=B(),r=Ee(),c=pe(),i=k(!1),n=k(r.name||""),m=k(),d="true".toLowerCase()==="true",S="false".toLowerCase()==="true",v="false".toLocaleLowerCase()==="true",b=k("true".toLowerCase()==="true"),_=+"5000";Q(r,()=>{n.value=r.name}),Q(t.state,()=>{t.state.userInfo.id>0?m.value||(de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)}),m.value=setInterval(()=>{de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)})},_)):m.value&&clearInterval(m.value)}),Z(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const u=J(()=>{const l=[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}];return S&&l.push({label:"公告",key:"anouncement",icon:()=>P(Qe),href:"/anouncement"}),l.push({label:"主页",key:"profile",icon:()=>P(Ze),href:"/profile"}),l.push({label:"消息",key:"messages",icon:()=>P(Je),href:"/messages"}),l.push({label:"收藏",key:"collection",icon:()=>P(Xe),href:"/collection"}),d&&l.push({label:"好友",key:"contacts",icon:()=>P(et),href:"/contacts"}),v&&l.push({label:"钱包",key:"wallet",icon:()=>P(tt),href:"/wallet"}),l.push({label:"设置",key:"setting",icon:()=>P(ot),href:"/setting"}),t.state.userInfo.id>0?l:[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}]}),I=l=>"href"in l?P("div",{},l.label):l.label,h=l=>l.key==="messages"?P(Ke,{dot:!0,show:i.value,processing:!0},{default:()=>P(W,{color:l.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:l.icon})}):P(W,null,{default:l.icon}),R=(l,L={})=>{n.value=l,c.push({name:l,query:{t:new Date().getTime()}})},C=()=>{r.path==="/"&&t.commit("refresh"),R("home")},O=l=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",l)},x=()=>{t.commit("userLogout"),t.commit("refresh"),C()};return window.$store=t,window.$message=Ne(),(l,L)=>{const F=Fe,H=Ve,V=ze,p=ge;return w(),E("div",Tt,[y("div",At,[s(F,{class:"logo-img",width:"36",src:f(Lt),"preview-disabled":!0,onClick:C},null,8,["src"])]),s(H,{accordion:!0,"icon-size":24,options:u.value,"render-label":I,"render-icon":h,value:n.value,"onUpdate:value":R},null,8,["options","value"]),f(t).state.userInfo.id>0?(w(),E("div",Et,[s(V,{class:"user-avatar",round:"",size:34,src:f(t).state.userInfo.avatar},null,8,["src"]),y("div",It,[y("div",Rt,[y("span",Ct,A(f(t).state.userInfo.nickname),1),s(p,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:x},{icon:a(()=>[s(f(W),null,{default:a(()=>[s(f(ue))]),_:1})]),_:1})]),y("div",$t,"@"+A(f(t).state.userInfo.username),1)]),y("div",Mt,[s(p,{class:"logout",quaternary:"",circle:"",onClick:x},{icon:a(()=>[s(f(W),{size:24},{default:a(()=>[s(f(ue))]),_:1})]),_:1})])])):(w(),E("div",St,[b.value?M("",!0):(w(),E("div",Ut,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[0]||(L[0]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1})])),b.value?(w(),E("div",Dt,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[1]||(L[1]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1}),s(p,{strong:"",secondary:"",round:"",type:"info",onClick:L[2]||(L[2]=g=>O("signup"))},{default:a(()=>[U(" 注册 ")]),_:1})])):M("",!0)]))])}}});const qt={"has-sider":"",class:"main-wrap",position:"static"},Nt={key:0},Kt={class:"content-wrap"},Ft=Y({__name:"App",setup(e){const t=B(),r=J(()=>t.state.theme==="dark"?We:null);return(c,i)=>{const n=xt,m=me("router-view"),d=Ot,S=dt,v=Ye,b=Be,_=je,u=He;return w(),K(u,{theme:r.value},{default:a(()=>[s(b,null,{default:a(()=>[s(v,null,{default:a(()=>{var I;return[y("div",{class:Oe(["app-container",{dark:((I=r.value)==null?void 0:I.name)==="dark",mobile:!f(t).state.desktopModelShow}])},[y("div",qt,[f(t).state.desktopModelShow?(w(),E("div",Nt,[s(n)])):M("",!0),y("div",Kt,[s(m,{class:"app-wrap"},{default:a(({Component:h})=>[(w(),K(Pe,null,[c.$route.meta.keepAlive?(w(),K(re(h),{key:0})):M("",!0)],1024)),c.$route.meta.keepAlive?M("",!0):(w(),K(re(h),{key:0}))]),_:1})]),s(d)]),s(S)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});Le(Ft).use(ve).use(at).mount("#app");export{ns as $,$o as A,So as B,Mo as C,mt as D,_t as E,ms as F,qo as G,es as H,Wo as I,Fo as J,Ko as K,is as L,No as M,Ho as N,Jo as O,Zo as P,Xo as Q,ds as R,ls as S,us as T,Vo as U,zo as V,xo as W,G as X,os as Y,ss as Z,we as _,as as a,Uo as a0,Qo as a1,jo as a2,Yo as a3,Bo as a4,Go as a5,Do as a6,xt as a7,fo as b,vo as c,io as d,ts as e,cs as f,rs as g,Ao as h,Co as i,Oo as j,Lo as k,Ro as l,Io as m,Eo as n,mo as o,_o as p,wo as q,yo as r,bo as s,To as t,ko as u,Po as v,po as w,ho as x,co as y,go as z}; +import{d as Y,H as k,R as oe,b as Z,e as w,q as K,w as a,j as y,k as s,f as E,A as U,Z as q,y as N,Y as M,bf as f,c as J,E as Q,r as me,F as se,u as ne,x as A,h as P,a5 as Pe,s as re,l as Oe,ag as Le}from"./@vue-a481fc63.js";import{c as Te,a as Ae,u as pe,b as Ee}from"./vue-router-e5a2430e.js";import{c as Ie,u as B}from"./vuex-44de225f.js";import{a as Re}from"./axios-4a70c6fc.js";import{_ as Ce,N as $e,a as _e,b as he,c as Me,d as Se,e as ge,f as Ue,g as De,h as fe,i as xe,j as W,k as qe,u as Ne,l as Ke,m as Fe,n as Ve,o as ze,p as He,q as We,r as Ye,s as Be,t as je}from"./naive-ui-d8de3dda.js";import{h as D}from"./moment-2ab8298d.js";import{S as Ge,M as Qe,L as Ze,C as Je,B as Xe,P as et,W as tt,a as ot,H as ae,b as le,c as ue}from"./@vicons-7a4ef312.js";/* empty css */import"./seemly-76b7b838.js";import"./vueuc-39372edb.js";import"./evtd-b614532e.js";import"./@css-render-7124a1a5.js";import"./vooks-6d99783e.js";import"./vdirs-b0483831.js";import"./@juggle-41516555.js";import"./css-render-6a5c5852.js";import"./@emotion-8a8e73f6.js";import"./lodash-es-8412e618.js";import"./treemate-25c27bff.js";import"./async-validator-dee29e8b.js";import"./date-fns-975a2d8f.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))c(i);new MutationObserver(i=>{for(const n of i)if(n.type==="childList")for(const m of n.addedNodes)m.tagName==="LINK"&&m.rel==="modulepreload"&&c(m)}).observe(document,{childList:!0,subtree:!0});function r(i){const n={};return i.integrity&&(n.integrity=i.integrity),i.referrerPolicy&&(n.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?n.credentials="include":i.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function c(i){if(i.ep)return;i.ep=!0;const n=r(i);fetch(i.href,n)}})();const st="modulepreload",nt=function(e){return"/"+e},ie={},T=function(t,r,c){if(!r||r.length===0)return t();const i=document.getElementsByTagName("link");return Promise.all(r.map(n=>{if(n=nt(n),n in ie)return;ie[n]=!0;const m=n.endsWith(".css"),d=m?'[rel="stylesheet"]':"";if(!!c)for(let b=i.length-1;b>=0;b--){const _=i[b];if(_.href===n&&(!m||_.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${n}"]${d}`))return;const v=document.createElement("link");if(v.rel=m?"stylesheet":st,m||(v.as="script",v.crossOrigin=""),v.href=n,document.head.appendChild(v),m)return new Promise((b,_)=>{v.addEventListener("load",b),v.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${n}`)))})})).then(()=>t()).catch(n=>{const m=new Event("vite:preloadError",{cancelable:!0});if(m.payload=n,window.dispatchEvent(m),!m.defaultPrevented)throw n})},rt=[{path:"/",name:"home",meta:{title:"广场",keepAlive:!0},component:()=>T(()=>import("./Home-5d6ae80a.js"),["assets/Home-5d6ae80a.js","assets/whisper-e51c17fc.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js","assets/content-1a1bcb51.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2311fe04.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/IEnum-5453a777.js","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/@opentiny-d73a2d67.js","assets/vue-1e3b54ec.js","assets/xss-a5544f63.js","assets/cssfilter-af71ba68.js","assets/@opentiny-0f942bd4.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Home-b58ba6dd.css","assets/vfonts-7afd136d.css"])},{path:"/post",name:"post",meta:{title:"泡泡详情"},component:()=>T(()=>import("./Post-833e907f.js"),["assets/Post-833e907f.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/IEnum-5453a777.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/content-1a1bcb51.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vue-router-e5a2430e.js","assets/post-skeleton-2311fe04.js","assets/post-skeleton-f1900002.css","assets/lodash-e0b37ac3.js","assets/@babel-725317a4.js","assets/whisper-e51c17fc.js","assets/whisper-61451957.css","assets/copy-to-clipboard-4ef7d3eb.js","assets/toggle-selection-93f4ad84.js","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Post-3a79fbc3.css","assets/vfonts-7afd136d.css"])},{path:"/topic",name:"topic",meta:{title:"话题"},component:()=>T(()=>import("./Topic-8225d9c3.js"),["assets/Topic-8225d9c3.js","assets/@vicons-7a4ef312.js","assets/@vue-a481fc63.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Topic-384e019e.css","assets/vfonts-7afd136d.css"])},{path:"/anouncement",name:"anouncement",meta:{title:"公告"},component:()=>T(()=>import("./Anouncement-db86fa3e.js"),["assets/Anouncement-db86fa3e.js","assets/post-skeleton-2311fe04.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Anouncement-662e2d95.css","assets/vfonts-7afd136d.css"])},{path:"/profile",name:"profile",meta:{title:"主页"},component:()=>T(()=>import("./Profile-45bd0928.js"),["assets/Profile-45bd0928.js","assets/whisper-e51c17fc.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js","assets/content-1a1bcb51.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2311fe04.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Profile-3ffb7be9.css","assets/vfonts-7afd136d.css"])},{path:"/u",name:"user",meta:{title:"用户详情"},component:()=>T(()=>import("./User-ab286216.js"),["assets/User-ab286216.js","assets/post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js","assets/content-1a1bcb51.js","assets/@vue-a481fc63.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2311fe04.js","assets/post-skeleton-f1900002.css","assets/whisper-e51c17fc.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/main-nav-569a7b0c.css","assets/v3-infinite-loading-2c58ec2f.js","assets/v3-infinite-loading-1ff9ffe7.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/User-b21ba7c9.css","assets/vfonts-7afd136d.css"])},{path:"/messages",name:"messages",meta:{title:"消息"},component:()=>T(()=>import("./Messages-af51f2e2.js"),["assets/Messages-af51f2e2.js","assets/@vue-a481fc63.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-e51c17fc.js","assets/whisper-61451957.css","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Messages-3c6066fb.css","assets/vfonts-7afd136d.css"])},{path:"/collection",name:"collection",meta:{title:"收藏"},component:()=>T(()=>import("./Collection-8f6204ca.js"),["assets/Collection-8f6204ca.js","assets/whisper-e51c17fc.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js","assets/content-1a1bcb51.js","assets/@vicons-7a4ef312.js","assets/paopao-video-player-2fe58954.js","assets/content-2fda112b.css","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/copy-to-clipboard-4ef7d3eb.js","assets/@babel-725317a4.js","assets/toggle-selection-93f4ad84.js","assets/post-item-d81938d1.css","assets/post-skeleton-2311fe04.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Collection-5c3a44e2.css","assets/vfonts-7afd136d.css"])},{path:"/contacts",name:"contacts",meta:{title:"好友"},component:()=>T(()=>import("./Contacts-460b1cc1.js"),["assets/Contacts-460b1cc1.js","assets/whisper-e51c17fc.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/@vicons-7a4ef312.js","assets/post-skeleton-2311fe04.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Contacts-7fa3e0d6.css","assets/vfonts-7afd136d.css"])},{path:"/following",name:"following",meta:{title:"关注"},component:()=>T(()=>import("./Following-81df3d31.js"),["assets/Following-81df3d31.js","assets/whisper-e51c17fc.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/whisper-61451957.css","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/post-skeleton-2311fe04.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/vuex-44de225f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Following-6aa7d36c.css","assets/vfonts-7afd136d.css"])},{path:"/wallet",name:"wallet",meta:{title:"钱包"},component:()=>T(()=>import("./Wallet-60249712.js"),["assets/Wallet-60249712.js","assets/post-skeleton-2311fe04.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/@vue-a481fc63.js","assets/vueuc-39372edb.js","assets/evtd-b614532e.js","assets/@css-render-7124a1a5.js","assets/vooks-6d99783e.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/post-skeleton-f1900002.css","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/vuex-44de225f.js","assets/vue-router-e5a2430e.js","assets/@vicons-7a4ef312.js","assets/main-nav-569a7b0c.css","assets/qrcode-9719fc56.js","assets/encode-utf8-f813de00.js","assets/dijkstrajs-f906a09e.js","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Wallet-77044929.css","assets/vfonts-7afd136d.css"])},{path:"/setting",name:"setting",meta:{title:"设置"},component:()=>T(()=>import("./Setting-5b238741.js"),["assets/Setting-5b238741.js","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/Setting-bfd24152.css","assets/vfonts-7afd136d.css"])},{path:"/404",name:"404",meta:{title:"404"},component:()=>T(()=>import("./404-bd861409.js"),["assets/404-bd861409.js","assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js","assets/vuex-44de225f.js","assets/@vue-a481fc63.js","assets/vue-router-e5a2430e.js","assets/vooks-6d99783e.js","assets/evtd-b614532e.js","assets/@vicons-7a4ef312.js","assets/naive-ui-d8de3dda.js","assets/seemly-76b7b838.js","assets/vueuc-39372edb.js","assets/@css-render-7124a1a5.js","assets/vdirs-b0483831.js","assets/@juggle-41516555.js","assets/css-render-6a5c5852.js","assets/@emotion-8a8e73f6.js","assets/lodash-es-8412e618.js","assets/treemate-25c27bff.js","assets/async-validator-dee29e8b.js","assets/date-fns-975a2d8f.js","assets/main-nav-569a7b0c.css","assets/axios-4a70c6fc.js","assets/moment-2ab8298d.js","assets/404-020b2afd.css","assets/vfonts-7afd136d.css"])},{path:"/:pathMatch(.*)",redirect:"/404"}],ve=Te({history:Ae(),routes:rt});ve.beforeEach((e,t,r)=>{document.title=`${e.meta.title} | 泡泡 - 一个清新文艺的微社区`,r()});const at=Ie({state:{refresh:Date.now(),refreshTopicFollow:Date.now(),theme:localStorage.getItem("PAOPAO_THEME"),collapsedLeft:document.body.clientWidth<=821,collapsedRight:document.body.clientWidth<=821,drawerModelShow:document.body.clientWidth<=821,desktopModelShow:document.body.clientWidth>821,authModalShow:!1,authModelTab:"signin",userLogined:!1,userInfo:{id:0,username:"",nickname:"",created_on:0,follows:0,followings:0,is_admin:!1}},mutations:{refresh(e,t){e.refresh=t||Date.now()},refreshTopicFollow(e){e.refreshTopicFollow=Date.now()},triggerTheme(e,t){e.theme=t},triggerAuth(e,t){e.authModalShow=t},triggerAuthKey(e,t){e.authModelTab=t},triggerCollapsedLeft(e,t){e.collapsedLeft=t,e.drawerModelShow=t,e.desktopModelShow=!t},triggerCollapsedRight(e,t){e.collapsedRight=t},updateUserinfo(e,t){e.userInfo=t,e.userInfo.id>0&&(e.userLogined=!0)},userLogout(e){localStorage.removeItem("PAOPAO_TOKEN"),e.userInfo={id:0,nickname:"",username:"",created_on:0,follows:0,followings:0,is_admin:!1},e.userLogined=!1}},actions:{},modules:{}}),X=Re.create({baseURL:"",timeout:3e4});X.interceptors.request.use(e=>(localStorage.getItem("PAOPAO_TOKEN")&&(e.headers.Authorization="Bearer "+localStorage.getItem("PAOPAO_TOKEN")),e),e=>Promise.reject(e));X.interceptors.response.use(e=>{const{data:t={},code:r=0}=(e==null?void 0:e.data)||{};if(+r==0)return t||{};Promise.reject((e==null?void 0:e.data)||{})},(e={})=>{var r;const{response:t={}}=e||{};return+(t==null?void 0:t.status)==401?(localStorage.removeItem("PAOPAO_TOKEN"),(t==null?void 0:t.data.code)!==10005?window.$message.warning((t==null?void 0:t.data.msg)||"鉴权失败"):window.$store.commit("triggerAuth",!0)):window.$message.error(((r=t==null?void 0:t.data)==null?void 0:r.msg)||"请求失败"),Promise.reject((t==null?void 0:t.data)||{})});function o(e){return X(e)}const ce=e=>o({method:"post",url:"/v1/auth/login",data:e}),lt=e=>o({method:"post",url:"/v1/auth/register",data:e}),G=(e="")=>o({method:"get",url:"/v1/user/info",headers:{Authorization:`Bearer ${e}`}}),ut={class:"auth-wrap"},it={key:0},ct=Y({__name:"auth",setup(e){const t=k("true".toLowerCase()==="true"),r=B(),c=k(!1),i=k(),n=oe({username:"",password:""}),m=k(),d=oe({username:"",password:"",repassword:""}),S={username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"},repassword:[{required:!0,message:"请输入密码"},{validator:(_,u)=>!!d.password&&d.password.startsWith(u)&&d.password.length>=u.length,message:"两次密码输入不一致",trigger:"input"}]},v=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=i.value)==null||u.validate(I=>{I||(c.value=!0,ce({username:n.username,password:n.password}).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("登录成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),r.commit("refresh"),n.username="",n.password=""}).catch(h=>{c.value=!1}))})},b=_=>{var u;_.preventDefault(),_.stopPropagation(),(u=m.value)==null||u.validate(I=>{I||(c.value=!0,lt({username:d.username,password:d.password}).then(h=>ce({username:d.username,password:d.password})).then(h=>{const R=(h==null?void 0:h.token)||"";return localStorage.setItem("PAOPAO_TOKEN",R),G(R)}).then(h=>{window.$message.success("注册成功"),c.value=!1,r.commit("updateUserinfo",h),r.commit("triggerAuth",!1),d.username="",d.password="",d.repassword=""}).catch(h=>{c.value=!1}))})};return Z(()=>{const _=localStorage.getItem("PAOPAO_TOKEN")||"";_?G(_).then(u=>{r.commit("updateUserinfo",u),r.commit("triggerAuth",!1)}).catch(u=>{r.commit("userLogout")}):r.commit("userLogout")}),(_,u)=>{const I=Ce,h=$e,R=_e,C=he,O=Me,x=Se,l=ge,L=Ue,F=De,H=fe,V=xe;return w(),K(V,{show:f(r).state.authModalShow,"onUpdate:show":u[7]||(u[7]=p=>f(r).state.authModalShow=p),class:"auth-card",preset:"card",size:"small","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:a(()=>[y("div",ut,[s(H,{bordered:!1},{default:a(()=>[t.value?M("",!0):(w(),E("div",it,[s(R,{justify:"center"},{default:a(()=>[s(h,null,{default:a(()=>[s(I,{type:"success"},{default:a(()=>[U("账号登录")]),_:1})]),_:1})]),_:1}),s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[0]||(u[0]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[1]||(u[1]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])])),t.value?(w(),K(F,{key:1,"default-value":f(r).state.authModelTab,size:"large","justify-content":"space-evenly"},{default:a(()=>[s(L,{name:"signin",tab:"登录"},{default:a(()=>[s(x,{ref_key:"loginRef",ref:i,model:n,rules:{username:{required:!0,message:"请输入账户名"},password:{required:!0,message:"请输入密码"}}},{default:a(()=>[s(O,{label:"账户",path:"username"},{default:a(()=>[s(C,{value:n.username,"onUpdate:value":u[2]||(u[2]=p=>n.username=p),placeholder:"请输入用户名",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",value:n.password,"onUpdate:value":u[3]||(u[3]=p=>n.password=p),placeholder:"请输入账户密码",onKeyup:q(N(v,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:v},{default:a(()=>[U(" 登录 ")]),_:1},8,["loading"])]),_:1}),s(L,{name:"signup",tab:"注册"},{default:a(()=>[s(x,{ref_key:"registerRef",ref:m,model:d,rules:S},{default:a(()=>[s(O,{label:"用户名",path:"username"},{default:a(()=>[s(C,{value:d.username,"onUpdate:value":u[4]||(u[4]=p=>d.username=p),placeholder:"用户名注册后无法修改"},null,8,["value"])]),_:1}),s(O,{label:"密码",path:"password"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"密码不少于6位",value:d.password,"onUpdate:value":u[5]||(u[5]=p=>d.password=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1}),s(O,{label:"重复密码",path:"repassword"},{default:a(()=>[s(C,{type:"password","show-password-on":"mousedown",placeholder:"请再次输入密码",value:d.repassword,"onUpdate:value":u[6]||(u[6]=p=>d.repassword=p),onKeyup:q(N(b,["prevent"]),["enter"])},null,8,["value","onKeyup"])]),_:1})]),_:1},8,["model"]),s(l,{type:"primary",block:"",secondary:"",strong:"",loading:c.value,onClick:b},{default:a(()=>[U(" 注册 ")]),_:1},8,["loading"])]),_:1})]),_:1},8,["default-value"])):M("",!0)]),_:1})])]),_:1},8,["show"])}}});const we=(e,t)=>{const r=e.__vccOpts||e;for(const[c,i]of t)r[c]=i;return r},dt=we(ct,[["__scopeId","data-v-053dfa44"]]),io=e=>o({method:"get",url:"/v1/posts",params:e}),mt=e=>o({method:"get",url:"/v1/tags",params:e}),co=e=>o({method:"get",url:"/v1/post",params:e}),mo=e=>o({method:"get",url:"/v1/post/star",params:e}),po=e=>o({method:"post",url:"/v1/post/star",data:e}),_o=e=>o({method:"get",url:"/v1/post/collection",params:e}),ho=e=>o({method:"post",url:"/v1/post/collection",data:e}),go=e=>o({method:"get",url:"/v1/post/comments",params:e}),fo=e=>o({method:"get",url:"/v1/user/contacts",params:e}),vo=e=>o({method:"post",url:"/v1/post",data:e}),wo=e=>o({method:"delete",url:"/v1/post",data:e}),yo=e=>o({method:"post",url:"/v1/post/lock",data:e}),bo=e=>o({method:"post",url:"/v1/post/stick",data:e}),ko=e=>o({method:"post",url:"/v1/post/highlight",data:e}),Po=e=>o({method:"post",url:"/v1/post/visibility",data:e}),Oo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsup",data:e}),Lo=e=>o({method:"post",url:"/v1/tweet/comment/thumbsdown",data:e}),To=e=>o({method:"post",url:"/v1/tweet/reply/thumbsup",data:e}),Ao=e=>o({method:"post",url:"/v1/tweet/reply/thumbsdown",data:e}),Eo=e=>o({method:"post",url:"/v1/post/comment",data:e}),Io=e=>o({method:"delete",url:"/v1/post/comment",data:e}),Ro=e=>o({method:"post",url:"/v1/post/comment/reply",data:e}),Co=e=>o({method:"delete",url:"/v1/post/comment/reply",data:e}),$o=e=>o({method:"post",url:"/v1/topic/stick",data:e}),Mo=e=>o({method:"post",url:"/v1/topic/follow",data:e}),So=e=>o({method:"post",url:"/v1/topic/unfollow",data:e}),Uo=(e={})=>o({method:"get",url:"/v1/captcha",params:e}),Do=e=>o({method:"post",url:"/v1/captcha",data:e}),xo=e=>o({method:"post",url:"/v1/user/whisper",data:e}),qo=e=>o({method:"post",url:"/v1/friend/requesting",data:e}),No=e=>o({method:"post",url:"/v1/friend/add",data:e}),Ko=e=>o({method:"post",url:"/v1/user/follow",data:e}),Fo=e=>o({method:"post",url:"/v1/user/unfollow",data:e}),Vo=e=>o({method:"get",url:"/v1/user/follows",params:e}),zo=e=>o({method:"get",url:"/v1/user/followings",params:e}),Ho=e=>o({method:"post",url:"/v1/friend/reject",data:e}),Wo=e=>o({method:"post",url:"/v1/friend/delete",data:e}),Yo=e=>o({method:"post",url:"/v1/user/phone",data:e}),Bo=e=>o({method:"post",url:"/v1/user/activate",data:e}),jo=e=>o({method:"post",url:"/v1/user/password",data:e}),Go=e=>o({method:"post",url:"/v1/user/nickname",data:e}),Qo=e=>o({method:"post",url:"/v1/user/avatar",data:e}),de=(e={})=>o({method:"get",url:"/v1/user/msgcount/unread",params:e}),Zo=e=>o({method:"get",url:"/v1/user/messages",params:e}),Jo=e=>o({method:"post",url:"/v1/user/message/read",data:e}),Xo=e=>o({method:"get",url:"/v1/user/collections",params:e}),es=e=>o({method:"get",url:"/v1/user/profile",params:e}),ts=e=>o({method:"get",url:"/v1/user/posts",params:e}),os=e=>o({method:"get",url:"/v1/user/wallet/bills",params:e}),ss=e=>o({method:"post",url:"/v1/user/recharge",data:e}),ns=e=>o({method:"get",url:"/v1/user/recharge",params:e}),rs=e=>o({method:"get",url:"/v1/suggest/users",params:e}),as=e=>o({method:"get",url:"/v1/suggest/tags",params:e}),ls=e=>o({method:"get",url:"/v1/attachment/precheck",params:e}),us=e=>o({method:"get",url:"/v1/attachment",params:e}),is=e=>o({method:"post",url:"/v1/admin/user/status",data:e}),pt=()=>o({method:"get",url:"/v1/admin/site/status"});D.locale("zh-cn");const _t=e=>D.unix(e).fromNow(),cs=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD HH:mm"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD HH:mm"):t.fromNow()},ds=e=>{let t=D.unix(e),r=D();return t.year()!=r.year()?t.utc(!0).format("YYYY-MM-DD"):D().diff(t,"month")>3?t.utc(!0).format("MM-DD"):t.fromNow()},ms=e=>D.unix(e).utc(!0).format("YYYY年MM月"),ht={key:0,class:"rightbar-wrap"},gt={class:"search-wrap"},ft={class:"post-num"},vt={class:"post-num"},wt={class:"copyright"},yt=["href"],bt=["href"],kt={class:"site-info-item"},Pt=Y({__name:"rightbar",setup(e){const t=k([]),r=k([]),c=k(!1),i=k(""),n=B(),m=pe(),d=k(0),S=k(0),v=k(0),b=k(0),_=k(null),u="2023 paopao.info",I="Roc's Me",h="",R="泡泡(PaoPao)开源社区",C="https://www.paopao.info",O=+"6",x=+"12",l=()=>{pt().then(g=>{d.value=g.register_user_count,S.value=g.online_user_count,v.value=g.history_max_online,b.value=g.server_up_time}).catch(g=>{}),p.disconnect()},L=()=>{c.value=!0,mt({type:"hot_extral",num:x,extral_num:O}).then(g=>{t.value=g.topics,r.value=g.extral_topics??[],V.value=!0,c.value=!1}).catch(g=>{c.value=!1})},F=g=>g>=1e3?(g/1e3).toFixed(1)+"k":g,H=()=>{m.push({name:"home",query:{q:i.value}})},V=J({get:()=>n.state.userLogined&&r.value.length!==0,set:g=>{}});Q(()=>({refreshTopicFollow:n.state.refreshTopicFollow,userLogined:n.state.userLogined}),(g,z)=>{(g.refreshTopicFollow!==z.refreshTopicFollow||g.userLogined)&&L(),n.state.userInfo.is_admin&&l()});const p=new IntersectionObserver(g=>{g.forEach(z=>{z.isIntersecting&&l()})},{root:null,rootMargin:"0px",threshold:1});return Z(()=>{_.value&&p.observe(_.value),L()}),(g,z)=>{const ye=W,be=he,ee=me("router-link"),te=qe,j=fe,ke=_e;return f(n).state.collapsedRight?M("",!0):(w(),E("div",ht,[y("div",gt,[s(be,{round:"",clearable:"",placeholder:"搜一搜...",value:i.value,"onUpdate:value":z[0]||(z[0]=$=>i.value=$),onKeyup:q(N(H,["prevent"]),["enter"])},{prefix:a(()=>[s(ye,{component:f(Ge)},null,8,["component"])]),_:1},8,["value","onKeyup"])]),V.value?(w(),K(j,{key:0,class:"hottopic-wrap",title:"关注话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(r.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",ft,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1})):M("",!0),s(j,{class:"hottopic-wrap",title:"热门话题",embedded:"",bordered:!1,size:"small"},{default:a(()=>[s(te,{show:c.value},{default:a(()=>[(w(!0),E(se,null,ne(t.value,$=>(w(),E("div",{class:"hot-tag-item",key:$.id},[s(ee,{class:"hash-link",to:{name:"home",query:{q:$.tag,t:"tag"}}},{default:a(()=>[U(" #"+A($.tag),1)]),_:2},1032,["to"]),y("div",vt,A(F($.quote_num)),1)]))),128))]),_:1},8,["show"])]),_:1}),s(j,{class:"copyright-wrap",embedded:"",bordered:!1,size:"small"},{default:a(()=>[y("div",wt,"© "+A(f(u)),1),y("div",null,[s(ke,null,{default:a(()=>[y("a",{href:f(h),target:"_blank",class:"hash-link"},A(f(I)),9,yt),y("a",{href:f(C),target:"_blank",class:"hash-link"},A(f(R)),9,bt)]),_:1})])]),_:1}),f(n).state.userInfo.is_admin?(w(),E("div",{key:1,class:"site-info",ref_key:"userInfoElement",ref:_},[y("span",kt,A(d.value)+" 注册用户,"+A(S.value)+" 人在线,最高在线 "+A(v.value)+" 人,站点上线于 "+A(f(_t)(b.value)),1)],512)):M("",!0)]))}}});const Ot=we(Pt,[["__scopeId","data-v-0a6cd0b6"]]),Lt="/assets/logo-52afee68.png",Tt={class:"sidebar-wrap"},At={class:"logo-wrap"},Et={key:0,class:"user-wrap"},It={class:"user-info"},Rt={class:"nickname"},Ct={class:"nickname-txt"},$t={class:"username"},Mt={class:"user-mini-wrap"},St={key:1,class:"user-wrap"},Ut={key:0,class:"login-only-wrap"},Dt={key:1,class:"login-wrap"},xt=Y({__name:"sidebar",setup(e){const t=B(),r=Ee(),c=pe(),i=k(!1),n=k(r.name||""),m=k(),d="true".toLowerCase()==="true",S="false".toLowerCase()==="true",v="false".toLocaleLowerCase()==="true",b=k("true".toLowerCase()==="true"),_=+"5000";Q(r,()=>{n.value=r.name}),Q(t.state,()=>{t.state.userInfo.id>0?m.value||(de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)}),m.value=setInterval(()=>{de().then(l=>{i.value=l.count>0}).catch(l=>{console.log(l)})},_)):m.value&&clearInterval(m.value)}),Z(()=>{window.onresize=()=>{t.commit("triggerCollapsedLeft",document.body.clientWidth<=821),t.commit("triggerCollapsedRight",document.body.clientWidth<=821)}});const u=J(()=>{const l=[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}];return S&&l.push({label:"公告",key:"anouncement",icon:()=>P(Qe),href:"/anouncement"}),l.push({label:"主页",key:"profile",icon:()=>P(Ze),href:"/profile"}),l.push({label:"消息",key:"messages",icon:()=>P(Je),href:"/messages"}),l.push({label:"收藏",key:"collection",icon:()=>P(Xe),href:"/collection"}),d&&l.push({label:"好友",key:"contacts",icon:()=>P(et),href:"/contacts"}),v&&l.push({label:"钱包",key:"wallet",icon:()=>P(tt),href:"/wallet"}),l.push({label:"设置",key:"setting",icon:()=>P(ot),href:"/setting"}),t.state.userInfo.id>0?l:[{label:"广场",key:"home",icon:()=>P(ae),href:"/"},{label:"话题",key:"topic",icon:()=>P(le),href:"/topic"}]}),I=l=>"href"in l?P("div",{},l.label):l.label,h=l=>l.key==="messages"?P(Ke,{dot:!0,show:i.value,processing:!0},{default:()=>P(W,{color:l.key===n.value?"var(--n-item-icon-color-active)":"var(--n-item-icon-color)"},{default:l.icon})}):P(W,null,{default:l.icon}),R=(l,L={})=>{n.value=l,c.push({name:l,query:{t:new Date().getTime()}})},C=()=>{r.path==="/"&&t.commit("refresh"),R("home")},O=l=>{t.commit("triggerAuth",!0),t.commit("triggerAuthKey",l)},x=()=>{t.commit("userLogout"),t.commit("refresh"),C()};return window.$store=t,window.$message=Ne(),(l,L)=>{const F=Fe,H=Ve,V=ze,p=ge;return w(),E("div",Tt,[y("div",At,[s(F,{class:"logo-img",width:"36",src:f(Lt),"preview-disabled":!0,onClick:C},null,8,["src"])]),s(H,{accordion:!0,"icon-size":24,options:u.value,"render-label":I,"render-icon":h,value:n.value,"onUpdate:value":R},null,8,["options","value"]),f(t).state.userInfo.id>0?(w(),E("div",Et,[s(V,{class:"user-avatar",round:"",size:34,src:f(t).state.userInfo.avatar},null,8,["src"]),y("div",It,[y("div",Rt,[y("span",Ct,A(f(t).state.userInfo.nickname),1),s(p,{class:"logout",quaternary:"",circle:"",size:"tiny",onClick:x},{icon:a(()=>[s(f(W),null,{default:a(()=>[s(f(ue))]),_:1})]),_:1})]),y("div",$t,"@"+A(f(t).state.userInfo.username),1)]),y("div",Mt,[s(p,{class:"logout",quaternary:"",circle:"",onClick:x},{icon:a(()=>[s(f(W),{size:24},{default:a(()=>[s(f(ue))]),_:1})]),_:1})])])):(w(),E("div",St,[b.value?M("",!0):(w(),E("div",Ut,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[0]||(L[0]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1})])),b.value?(w(),E("div",Dt,[s(p,{strong:"",secondary:"",round:"",type:"primary",onClick:L[1]||(L[1]=g=>O("signin"))},{default:a(()=>[U(" 登录 ")]),_:1}),s(p,{strong:"",secondary:"",round:"",type:"info",onClick:L[2]||(L[2]=g=>O("signup"))},{default:a(()=>[U(" 注册 ")]),_:1})])):M("",!0)]))])}}});const qt={"has-sider":"",class:"main-wrap",position:"static"},Nt={key:0},Kt={class:"content-wrap"},Ft=Y({__name:"App",setup(e){const t=B(),r=J(()=>t.state.theme==="dark"?We:null);return(c,i)=>{const n=xt,m=me("router-view"),d=Ot,S=dt,v=Ye,b=Be,_=je,u=He;return w(),K(u,{theme:r.value},{default:a(()=>[s(b,null,{default:a(()=>[s(v,null,{default:a(()=>{var I;return[y("div",{class:Oe(["app-container",{dark:((I=r.value)==null?void 0:I.name)==="dark",mobile:!f(t).state.desktopModelShow}])},[y("div",qt,[f(t).state.desktopModelShow?(w(),E("div",Nt,[s(n)])):M("",!0),y("div",Kt,[s(m,{class:"app-wrap"},{default:a(({Component:h})=>[(w(),K(Pe,null,[c.$route.meta.keepAlive?(w(),K(re(h),{key:0})):M("",!0)],1024)),c.$route.meta.keepAlive?M("",!0):(w(),K(re(h),{key:0}))]),_:1})]),s(d)]),s(S)],2)]}),_:1})]),_:1}),s(_)]),_:1},8,["theme"])}}});Le(Ft).use(ve).use(at).mount("#app");export{ns as $,$o as A,So as B,Mo as C,mt as D,_t as E,ms as F,qo as G,es as H,Wo as I,Fo as J,Ko as K,is as L,No as M,Ho as N,Jo as O,Zo as P,Xo as Q,ds as R,ls as S,us as T,Vo as U,zo as V,xo as W,G as X,os as Y,ss as Z,we as _,as as a,Uo as a0,Qo as a1,jo as a2,Yo as a3,Bo as a4,Go as a5,Do as a6,xt as a7,fo as b,vo as c,io as d,ts as e,cs as f,rs as g,Ao as h,Co as i,Oo as j,Lo as k,Ro as l,Io as m,Eo as n,mo as o,_o as p,wo as q,yo as r,bo as s,To as t,ko as u,Po as v,po as w,ho as x,co as y,go as z}; diff --git a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js similarity index 96% rename from web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js rename to web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js index 0622e32b..e58a40ad 100644 --- a/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-0888b762.js +++ b/web/dist/assets/main-nav.vue_vue_type_style_index_0_lang-96e8e840.js @@ -1 +1 @@ -import{a7 as A}from"./index-5faa66a7.js";import{u as B}from"./vuex-44de225f.js";import{u as E}from"./vue-router-e5a2430e.js";import{j as z}from"./vooks-6d99783e.js";import{Z as C,_ as N,$ as P,a0 as D}from"./@vicons-7a4ef312.js";import{u as R,a3 as $,a4 as x,j as H,e as I,a5 as V,h as j}from"./naive-ui-d8de3dda.js";import{d as q,H as h,b as F,e as n,f,bf as a,k as e,w as t,Y as c,j as L,q as _,A as U,x as Y,F as Z}from"./@vue-a481fc63.js";const G={key:0},J={class:"navbar"},ae=q({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(w){const i=w,o=B(),m=E(),l=h(!1),g=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),o.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),o.commit("triggerTheme","light"))},k=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return F(()=>{localStorage.getItem("PAOPAO_THEME")||u(z()==="dark"),o.state.desktopModelShow||(window.$store=o,window.$message=R())}),(s,d)=>{const b=A,y=$,M=x,r=H,p=I,O=V,S=j;return n(),f(Z,null,[a(o).state.drawerModelShow?(n(),f("div",G,[e(M,{show:l.value,"onUpdate:show":d[0]||(d[0]=T=>l.value=T),width:212,placement:g.value,resizable:""},{default:t(()=>[e(y,null,{default:t(()=>[e(b)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(S,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[L("div",J,[a(o).state.drawerModelShow&&!s.back?(n(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(C))]),_:1})]),_:1})):c("",!0),s.back?(n(),_(p,{key:1,class:"back-btn",onClick:k,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(N))]),_:1})]),_:1})):c("",!0),U(" "+Y(i.title)+" ",1),i.theme?(n(),_(O,{key:2,value:a(o).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:a(P)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:a(D)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{ae as _}; +import{a7 as A}from"./index-fae12ace.js";import{u as B}from"./vuex-44de225f.js";import{u as E}from"./vue-router-e5a2430e.js";import{j as z}from"./vooks-6d99783e.js";import{Z as C,_ as N,$ as P,a0 as D}from"./@vicons-7a4ef312.js";import{u as R,a3 as $,a4 as x,j as H,e as I,a5 as V,h as j}from"./naive-ui-d8de3dda.js";import{d as q,H as h,b as F,e as n,f,bf as a,k as e,w as t,Y as c,j as L,q as _,A as U,x as Y,F as Z}from"./@vue-a481fc63.js";const G={key:0},J={class:"navbar"},ae=q({__name:"main-nav",props:{title:{default:""},back:{type:Boolean,default:!1},theme:{type:Boolean,default:!0}},setup(w){const i=w,o=B(),m=E(),l=h(!1),g=h("left"),u=s=>{s?(localStorage.setItem("PAOPAO_THEME","dark"),o.commit("triggerTheme","dark")):(localStorage.setItem("PAOPAO_THEME","light"),o.commit("triggerTheme","light"))},k=()=>{window.history.length<=1?m.push({path:"/"}):m.go(-1)},v=()=>{l.value=!0};return F(()=>{localStorage.getItem("PAOPAO_THEME")||u(z()==="dark"),o.state.desktopModelShow||(window.$store=o,window.$message=R())}),(s,d)=>{const b=A,y=$,M=x,r=H,p=I,O=V,S=j;return n(),f(Z,null,[a(o).state.drawerModelShow?(n(),f("div",G,[e(M,{show:l.value,"onUpdate:show":d[0]||(d[0]=T=>l.value=T),width:212,placement:g.value,resizable:""},{default:t(()=>[e(y,null,{default:t(()=>[e(b)]),_:1})]),_:1},8,["show","placement"])])):c("",!0),e(S,{size:"small",bordered:!0,class:"nav-title-card"},{header:t(()=>[L("div",J,[a(o).state.drawerModelShow&&!s.back?(n(),_(p,{key:0,class:"drawer-btn",onClick:v,quaternary:"",circle:"",size:"medium"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(C))]),_:1})]),_:1})):c("",!0),s.back?(n(),_(p,{key:1,class:"back-btn",onClick:k,quaternary:"",circle:"",size:"small"},{icon:t(()=>[e(r,null,{default:t(()=>[e(a(N))]),_:1})]),_:1})):c("",!0),U(" "+Y(i.title)+" ",1),i.theme?(n(),_(O,{key:2,value:a(o).state.theme==="dark","onUpdate:value":u,size:"small",class:"theme-switch-wrap"},{"checked-icon":t(()=>[e(r,{component:a(P)},null,8,["component"])]),"unchecked-icon":t(()=>[e(r,{component:a(D)},null,8,["component"])]),_:1},8,["value"])):c("",!0)])]),_:1})],64)}}});export{ae as _}; diff --git a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js similarity index 98% rename from web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js rename to web/dist/assets/post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js index f9737587..7df77ca1 100644 --- a/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-d5631a43.js +++ b/web/dist/assets/post-item.vue_vue_type_style_index_0_lang-eaa0dff0.js @@ -1 +1 @@ -import{p as R,a as V,_ as E,b as Y,c as G}from"./content-2d41ca0a.js";import{d as J,c as x,r as K,e as a,f,k as n,al as Q,w as o,j as i,F as U,u as W,y as m,bf as l,A as r,x as p,q as u,Y as c,h as C}from"./@vue-a481fc63.js";import{u as X}from"./vuex-44de225f.js";import{u as Z}from"./vue-router-e5a2430e.js";import{R as ee,w as te,x as se}from"./index-5faa66a7.js";import{c as oe}from"./copy-to-clipboard-4ef7d3eb.js";import{i as ne,j as ae,l as le,m as ie,p as ue,o as ce}from"./@vicons-7a4ef312.js";import{j as v,o as re,M as pe,e as _e,O as me,a as ve,L as de}from"./naive-ui-d8de3dda.js";const he={class:"post-item"},ge={class:"nickname-wrap"},ke={class:"username-wrap"},ye={class:"timestamp-mobile"},fe={class:"item-header-extra"},we=["innerHTML"],be=["onClick"],xe=["onClick"],Ne=J({__name:"mobile-post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",he,[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",ge,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",ke," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0),i("div",null,[i("span",ye,p(l(ee)(e.value.created_on))+" "+p(e.value.ip_loc),1)])]),"header-extra":o(()=>[i("div",fe,[n(D,{placement:"bottom-end",trigger:"click",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,be),i("div",{class:"opt-item",onClick:s[3]||(s[3]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,xe)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[i("div",{onClick:s[2]||(s[2]=h=>k(e.value.id))},[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,we))),128))])]),key:"0"}:void 0]),1024)])}}});const Ce={class:"nickname-wrap"},$e={class:"username-wrap"},ze={class:"item-header-extra"},Te={class:"timestamp"},qe=["innerHTML"],Pe=["onClick"],Le=["onClick"],Ae=J({__name:"post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",{class:"post-item",onClick:s[3]||(s[3]=h=>k(e.value.id))},[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",Ce,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",$e," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":o(()=>[i("div",ze,[i("span",Te,p(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+p(l(ee)(e.value.created_on)),1),n(D,{placement:"bottom-end",trigger:"hover",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item hover",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,Pe),i("div",{class:"opt-item hover",onClick:s[2]||(s[2]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item hover",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,Le)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text hover",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,qe))),128))]),key:"0"}:void 0]),1024)])}}});export{Ae as _,Ne as a}; +import{p as R,a as V,_ as E,b as Y,c as G}from"./content-1a1bcb51.js";import{d as J,c as x,r as K,e as a,f,k as n,al as Q,w as o,j as i,F as U,u as W,y as m,bf as l,A as r,x as p,q as u,Y as c,h as C}from"./@vue-a481fc63.js";import{u as X}from"./vuex-44de225f.js";import{u as Z}from"./vue-router-e5a2430e.js";import{R as ee,w as te,x as se}from"./index-fae12ace.js";import{c as oe}from"./copy-to-clipboard-4ef7d3eb.js";import{i as ne,j as ae,l as le,m as ie,p as ue,o as ce}from"./@vicons-7a4ef312.js";import{j as v,o as re,M as pe,e as _e,O as me,a as ve,L as de}from"./naive-ui-d8de3dda.js";const he={class:"post-item"},ge={class:"nickname-wrap"},ke={class:"username-wrap"},ye={class:"timestamp-mobile"},fe={class:"item-header-extra"},we=["innerHTML"],be=["onClick"],xe=["onClick"],Ne=J({__name:"mobile-post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",he,[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",ge,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",ke," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0),i("div",null,[i("span",ye,p(l(ee)(e.value.created_on))+" "+p(e.value.ip_loc),1)])]),"header-extra":o(()=>[i("div",fe,[n(D,{placement:"bottom-end",trigger:"click",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,be),i("div",{class:"opt-item",onClick:s[3]||(s[3]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,xe)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[i("div",{onClick:s[2]||(s[2]=h=>k(e.value.id))},[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,we))),128))])]),key:"0"}:void 0]),1024)])}}});const Ce={class:"nickname-wrap"},$e={class:"username-wrap"},ze={class:"item-header-extra"},Te={class:"timestamp"},qe=["innerHTML"],Pe=["onClick"],Le=["onClick"],Ae=J({__name:"post-item",props:{post:{}},emits:["send-whisper"],setup($,{emit:z}){const d=$,g=Z(),T=X(),w=t=>()=>C(v,null,{default:()=>C(t)}),q=x(()=>{let t=[];return t.push({label:"私信",key:"whisper",icon:w(ue)}),t.push({label:"复制链接",key:"copyTweetLink",icon:w(ce)}),t}),P=async t=>{switch(t){case"copyTweetLink":oe(`${window.location.origin}/#/post?id=${e.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success("链接已复制到剪贴板");break;case"whisper":z("send-whisper",d.post.user);break}},e=x({get:()=>{let t=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},d.post);return t.contents.map(s=>{(+s.type==1||+s.type==2)&&t.texts.push(s),+s.type==3&&t.imgs.push(s),+s.type==4&&t.videos.push(s),+s.type==6&&t.links.push(s),+s.type==7&&t.attachments.push(s),+s.type==8&&t.charge_attachments.push(s)}),t},set:t=>{d.post.upvote_count=t.upvote_count,d.post.collection_count=t.collection_count}}),L=()=>{te({id:e.value.id}).then(t=>{t.status?e.value={...e.value,upvote_count:e.value.upvote_count+1}:e.value={...e.value,upvote_count:e.value.upvote_count>0?e.value.upvote_count-1:0}}).catch(t=>{console.log(t)})},O=()=>{se({id:e.value.id}).then(t=>{t.status?e.value={...e.value,collection_count:e.value.collection_count+1}:e.value={...e.value,collection_count:e.value.collection_count>0?e.value.collection_count-1:0}}).catch(t=>{console.log(t)})},k=t=>{g.push({name:"post",query:{id:t}})},S=(t,s)=>{if(t.target.dataset.detail){const _=t.target.dataset.detail.split(":");if(_.length===2){T.commit("refresh"),_[0]==="tag"?g.push({name:"home",query:{q:_[1],t:"tag"}}):g.push({name:"user",query:{s:_[1]}});return}}k(s)};return(t,s)=>{const _=re,j=K("router-link"),y=pe,M=_e,D=me,b=V,H=E,B=Y,I=G,N=ve,A=de;return a(),f("div",{class:"post-item",onClick:s[3]||(s[3]=h=>k(e.value.id))},[n(A,{"content-indented":""},Q({avatar:o(()=>[n(_,{round:"",size:30,src:e.value.user.avatar},null,8,["src"])]),header:o(()=>[i("span",Ce,[n(j,{onClick:s[0]||(s[0]=m(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{s:e.value.user.username}}},{default:o(()=>[r(p(e.value.user.nickname),1)]),_:1},8,["to"])]),i("span",$e," @"+p(e.value.user.username),1),e.value.is_top?(a(),u(y,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:o(()=>[r(" 置顶 ")]),_:1})):c("",!0),e.value.visibility==1?(a(),u(y,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:o(()=>[r(" 私密 ")]),_:1})):c("",!0),e.value.visibility==2?(a(),u(y,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:o(()=>[r(" 好友可见 ")]),_:1})):c("",!0)]),"header-extra":o(()=>[i("div",ze,[i("span",Te,p(e.value.ip_loc?e.value.ip_loc+" · ":e.value.ip_loc)+" "+p(l(ee)(e.value.created_on)),1),n(D,{placement:"bottom-end",trigger:"hover",size:"small",options:q.value,onSelect:P},{default:o(()=>[n(M,{quaternary:"",circle:""},{icon:o(()=>[n(l(v),null,{default:o(()=>[n(l(ne))]),_:1})]),_:1})]),_:1},8,["options"])])]),footer:o(()=>[e.value.attachments.length>0?(a(),u(b,{key:0,attachments:e.value.attachments},null,8,["attachments"])):c("",!0),e.value.charge_attachments.length>0?(a(),u(b,{key:1,attachments:e.value.charge_attachments,price:e.value.attachment_price},null,8,["attachments","price"])):c("",!0),e.value.imgs.length>0?(a(),u(H,{key:2,imgs:e.value.imgs},null,8,["imgs"])):c("",!0),e.value.videos.length>0?(a(),u(B,{key:3,videos:e.value.videos},null,8,["videos"])):c("",!0),e.value.links.length>0?(a(),u(I,{key:4,links:e.value.links},null,8,["links"])):c("",!0)]),action:o(()=>[n(N,{justify:"space-between"},{default:o(()=>[i("div",{class:"opt-item hover",onClick:m(L,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ae))]),_:1}),r(" "+p(e.value.upvote_count),1)],8,Pe),i("div",{class:"opt-item hover",onClick:s[2]||(s[2]=m(h=>k(e.value.id),["stop"]))},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(le))]),_:1}),r(" "+p(e.value.comment_count),1)]),i("div",{class:"opt-item hover",onClick:m(O,["stop"])},[n(l(v),{size:"18",class:"opt-item-icon"},{default:o(()=>[n(l(ie))]),_:1}),r(" "+p(e.value.collection_count),1)],8,Le)]),_:1})]),_:2},[e.value.texts.length>0?{name:"description",fn:o(()=>[(a(!0),f(U,null,W(e.value.texts,h=>(a(),f("span",{key:h.id,class:"post-text hover",onClick:s[1]||(s[1]=m(F=>S(F,e.value.id),["stop"])),innerHTML:l(R)(h.content).content},null,8,qe))),128))]),key:"0"}:void 0]),1024)])}}});export{Ae as _,Ne as a}; diff --git a/web/dist/assets/post-skeleton-47a1ebec.js b/web/dist/assets/post-skeleton-2311fe04.js similarity index 88% rename from web/dist/assets/post-skeleton-47a1ebec.js rename to web/dist/assets/post-skeleton-2311fe04.js index 10635ed5..94cfb9e7 100644 --- a/web/dist/assets/post-skeleton-47a1ebec.js +++ b/web/dist/assets/post-skeleton-2311fe04.js @@ -1 +1 @@ -import{U as r}from"./naive-ui-d8de3dda.js";import{d as c,e as s,f as n,u as p,j as o,k as t,F as l}from"./@vue-a481fc63.js";import{_ as i}from"./index-5faa66a7.js";const m={class:"user"},u={class:"content"},d=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",u,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(d,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; +import{U as r}from"./naive-ui-d8de3dda.js";import{d as c,e as s,f as n,u as p,j as o,k as t,F as l}from"./@vue-a481fc63.js";import{_ as i}from"./index-fae12ace.js";const m={class:"user"},u={class:"content"},d=c({__name:"post-skeleton",props:{num:{default:1}},setup(f){return(_,k)=>{const e=r;return s(!0),n(l,null,p(new Array(_.num),a=>(s(),n("div",{class:"skeleton-item",key:a},[o("div",m,[t(e,{circle:"",size:"small"})]),o("div",u,[t(e,{text:"",repeat:3}),t(e,{text:"",style:{width:"60%"}})])]))),128)}}});const b=i(d,[["__scopeId","data-v-ab0015b4"]]);export{b as _}; diff --git a/web/dist/assets/whisper-d959da10.js b/web/dist/assets/whisper-e51c17fc.js similarity index 95% rename from web/dist/assets/whisper-d959da10.js rename to web/dist/assets/whisper-e51c17fc.js index 0dd00b98..26f05e63 100644 --- a/web/dist/assets/whisper-d959da10.js +++ b/web/dist/assets/whisper-e51c17fc.js @@ -1 +1 @@ -import{W as b,_ as k}from"./index-5faa66a7.js";import{R as B,H as C,S as N,b as R,e as U,i as V}from"./naive-ui-d8de3dda.js";import{d as W,H as p,e as $,q as z,w as s,j as a,k as n,A as _,x as i}from"./@vue-a481fc63.js";const H={class:"whisper-wrap"},S={class:"whisper-line"},j={class:"whisper-line send-wrap"},q=W({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(r,{emit:u}){const d=r,o=p(""),t=p(!1),c=()=>{u("success")},m=()=>{t.value=!0,b({user_id:d.user.id,content:o.value}).then(e=>{window.$message.success("发送成功"),t.value=!1,o.value="",c()}).catch(e=>{t.value=!1})};return(e,l)=>{const h=B,w=C,f=N,v=R,g=U,y=V;return $(),z(y,{show:e.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:s(()=>[a("div",H,[n(f,{"show-icon":!1},{default:s(()=>[_(" 即将发送私信给: "),n(w,{style:{"max-width":"100%"}},{default:s(()=>[n(h,{type:"success"},{default:s(()=>[_(i(e.user.nickname)+"@"+i(e.user.username),1)]),_:1})]),_:1})]),_:1}),a("div",S,[n(v,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":l[0]||(l[0]=x=>o.value=x),maxlength:"200","show-count":""},null,8,["value"])]),a("div",j,[n(g,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:m},{default:s(()=>[_(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const M=k(q,[["__scopeId","data-v-0cbfe47c"]]);export{M as _}; +import{W as b,_ as k}from"./index-fae12ace.js";import{R as B,H as C,S as N,b as R,e as U,i as V}from"./naive-ui-d8de3dda.js";import{d as W,H as p,e as $,q as z,w as s,j as a,k as n,A as _,x as i}from"./@vue-a481fc63.js";const H={class:"whisper-wrap"},S={class:"whisper-line"},j={class:"whisper-line send-wrap"},q=W({__name:"whisper",props:{show:{type:Boolean,default:!1},user:{}},emits:["success"],setup(r,{emit:u}){const d=r,o=p(""),t=p(!1),c=()=>{u("success")},m=()=>{t.value=!0,b({user_id:d.user.id,content:o.value}).then(e=>{window.$message.success("发送成功"),t.value=!1,o.value="",c()}).catch(e=>{t.value=!1})};return(e,l)=>{const h=B,w=C,f=N,v=R,g=U,y=V;return $(),z(y,{show:e.show,"onUpdate:show":c,class:"whisper-card",preset:"card",size:"small",title:"私信","mask-closable":!1,bordered:!1,style:{width:"360px"}},{default:s(()=>[a("div",H,[n(f,{"show-icon":!1},{default:s(()=>[_(" 即将发送私信给: "),n(w,{style:{"max-width":"100%"}},{default:s(()=>[n(h,{type:"success"},{default:s(()=>[_(i(e.user.nickname)+"@"+i(e.user.username),1)]),_:1})]),_:1})]),_:1}),a("div",S,[n(v,{type:"textarea",placeholder:"请输入私信内容(请勿发送不和谐内容,否则将会被封号)",autosize:{minRows:5,maxRows:10},value:o.value,"onUpdate:value":l[0]||(l[0]=x=>o.value=x),maxlength:"200","show-count":""},null,8,["value"])]),a("div",j,[n(g,{strong:"",secondary:"",type:"primary",loading:t.value,onClick:m},{default:s(()=>[_(" 发送 ")]),_:1},8,["loading"])])])]),_:1},8,["show"])}}});const M=k(q,[["__scopeId","data-v-0cbfe47c"]]);export{M as _}; diff --git a/web/dist/index.html b/web/dist/index.html index 445eddf0..33a2758d 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -8,7 +8,7 @@ 泡泡 - + diff --git a/web/src/views/Home.vue b/web/src/views/Home.vue index 85c87a1c..4f4cace9 100644 --- a/web/src/views/Home.vue +++ b/web/src/views/Home.vue @@ -281,36 +281,43 @@ const loadUserPosts = () => { }; const onPostSuccess = (post: Item.PostProps) => { - // 如果不在第一页,需要跳转到详情页面 - if (targetStyle.value != 1) { - router.push({ - name: 'post', - query: { - id: post.id, - }, - }); - return; - } - - // 如果实在第一页,就地插入新推文到文章列表中 - let items = []; - let length = list.value.length; - if (length == pageSize.value) { - length--; - } - var i = 0; - for (; i < length; i++) { - let item: Item.PostProps = list.value[i]; - if (!item.is_top) { - break; - } - items.push(item); - } - items.push(post); - for (; i < length; i++) { - items.push(list.value[i]); - } - list.value = items; + // 暂时统统跳到详情页面,后续再精细化分场景优化 + router.push({ + name: 'post', + query: { + id: post.id, + }, + }); + // // 如果不在第一页,需要跳转到详情页面 + // if (targetStyle.value != 1) { + // router.push({ + // name: 'post', + // query: { + // id: post.id, + // }, + // }); + // return; + // } + + // // 如果是在第一页,就地插入新推文到文章列表中 + // let items = []; + // let length = list.value.length; + // if (length == pageSize.value) { + // length--; + // } + // var i = 0; + // for (; i < length; i++) { + // let item: Item.PostProps = list.value[i]; + // if (!item.is_top) { + // break; + // } + // items.push(item); + // } + // items.push(post); + // for (; i < length; i++) { + // items.push(list.value[i]); + // } + // list.value = items; }; const loadMorePosts = () => { From 35b865724c3447759d22db87204b0119493f16c9 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 18 Sep 2023 19:07:06 +0800 Subject: [PATCH 23/26] fixed get user tweets error when use cache --- internal/servants/web/loose.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/servants/web/loose.go b/internal/servants/web/loose.go index 2ef89d10..f171bec5 100644 --- a/internal/servants/web/loose.go +++ b/internal/servants/web/loose.go @@ -175,10 +175,10 @@ func (s *looseSrv) GetUserTweets(req *web.GetUserTweetsReq) (res *web.GetUserTwe func (s *looseSrv) userTweetsFromCache(req *web.GetUserTweetsReq, user *cs.VistUser) (res *web.GetUserTweetsResp, key string, ok bool) { switch req.Style { case web.UserPostsStylePost, web.UserPostsStyleHighlight, web.UserPostsStyleMedia: - key = fmt.Sprintf("%s%d:%s:%s:%d:%d", s.prefixUserTweets, req.User.ID, req.Style, user.RelTyp, req.Page, req.PageSize) + key = fmt.Sprintf("%s%d:%s:%s:%d:%d", s.prefixUserTweets, user.UserId, req.Style, user.RelTyp, req.Page, req.PageSize) default: - visitUserName := lets.If(user.RelTyp != cs.RelationGuest, user.Username, "_") - key = fmt.Sprintf("%s%d:%s:%s:%d:%d", s.prefixUserTweets, req.User.ID, req.Style, visitUserName, req.Page, req.PageSize) + meName := lets.If(user.RelTyp != cs.RelationGuest, req.User.Username, "_") + key = fmt.Sprintf("%s%d:%s:%s:%d:%d", s.prefixUserTweets, user.UserId, req.Style, meName, req.Page, req.PageSize) } if data, err := s.ac.Get(key); err == nil { ok, res = true, &web.GetUserTweetsResp{ From 8f32e827d622ad9d2096fe5107819c06c9079217 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 18 Sep 2023 19:48:34 +0800 Subject: [PATCH 24/26] fixed get user's coment/like tweets error by guest --- internal/servants/web/loose.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/servants/web/loose.go b/internal/servants/web/loose.go index f171bec5..7fafd395 100644 --- a/internal/servants/web/loose.go +++ b/internal/servants/web/loose.go @@ -177,7 +177,10 @@ func (s *looseSrv) userTweetsFromCache(req *web.GetUserTweetsReq, user *cs.VistU case web.UserPostsStylePost, web.UserPostsStyleHighlight, web.UserPostsStyleMedia: key = fmt.Sprintf("%s%d:%s:%s:%d:%d", s.prefixUserTweets, user.UserId, req.Style, user.RelTyp, req.Page, req.PageSize) default: - meName := lets.If(user.RelTyp != cs.RelationGuest, req.User.Username, "_") + meName := "_" + if user.RelTyp != cs.RelationGuest { + meName = req.User.Username + } key = fmt.Sprintf("%s%d:%s:%s:%d:%d", s.prefixUserTweets, user.UserId, req.Style, meName, req.Page, req.PageSize) } if data, err := s.ac.Get(key); err == nil { From ba40775da9c1c063c24ccca04692dc89741397de Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 18 Sep 2023 19:55:11 +0800 Subject: [PATCH 25/26] optimize index tweets from cache logic --- internal/servants/web/loose.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/servants/web/loose.go b/internal/servants/web/loose.go index 7fafd395..cd197be5 100644 --- a/internal/servants/web/loose.go +++ b/internal/servants/web/loose.go @@ -8,7 +8,6 @@ import ( "fmt" "github.com/alimy/mir/v4" - "github.com/alimy/tryst/lets" "github.com/gin-gonic/gin" api "github.com/rocboss/paopao-ce/auto/api/v1" "github.com/rocboss/paopao-ce/internal/conf" @@ -122,7 +121,10 @@ func (s *looseSrv) getIndexTweets(req *web.TimelineReq, limit int, offset int) ( func (s *looseSrv) indexTweetsFromCache(req *web.TimelineReq, limit int, offset int) (res *web.TimelineResp, key string, ok bool) { switch req.Style { case web.StyleTweetsFollowing: - username := lets.If(req.User != nil, req.User.Username, "_") + username := "_" + if req.User != nil { + username = req.User.Username + } key = fmt.Sprintf("%s%s:%d:%d", s.prefixIdxTweetsFollowing, username, offset, limit) case web.StyleTweetsNewest: key = fmt.Sprintf("%s%d:%d", s.prefixIdxTweetsNewest, offset, limit) From 4b3292f9ad1b17a50907e7d83f910bd973088f80 Mon Sep 17 00:00:00 2001 From: Michael Li Date: Mon, 18 Sep 2023 20:03:40 +0800 Subject: [PATCH 26/26] change relationTyp out string describe --- internal/core/cs/user.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/internal/core/cs/user.go b/internal/core/cs/user.go index 240c235a..4014f277 100644 --- a/internal/core/cs/user.go +++ b/internal/core/cs/user.go @@ -5,7 +5,7 @@ package cs const ( - RelationUnknow RelationTyp = iota + RelationUnknown RelationTyp = iota RelationSelf RelationFriend RelationFollower @@ -51,9 +51,9 @@ func (t RelationTyp) String() string { return "following" case RelationAdmin: return "admin" - case RelationUnknow: + case RelationUnknown: fallthrough default: - return "unknow relation" + return "unknown" } }