Merge branch 'x/sqlx' into r/paopao-ce-xtra

r/paopao-ce-xtra
Michael Li 3 years ago
commit 5613006639
No known key found for this signature in database

@ -9,6 +9,24 @@ All notable changes to paopao-ce are documented in this file.
- add custom comment sort strategy support [#243](https://github.com/rocboss/paopao-ce/pull/243)
- add `RedisCacheIndex` feature [#250](https://github.com/rocboss/paopao-ce/pull/250)
- add `Sentry` feature [#258](https://github.com/rocboss/paopao-ce/pull/258)
- add simple tweet share feature(just copy tweet link to clipboard now) support [#264](https://github.com/rocboss/paopao-ce/pull/264)
- add default tweet max length configure in web/.env support. [&a1160ca](https://github.com/rocboss/paopao-ce/commit/a1160ca79380445157146d9eae1710543c153cce 'commit a1160ca')
Set the value of `VITE_DEFAULT_TWEET_MAX_LENGTH` in file web/.env to change the tweet max default length.
```
# file: web/.env or web/.env.local
...
# 局部参数
VITE_DEFAULT_TWEET_MAX_LENGTH=300
...
```
### Fixed
- fixed sql ddl p_contact's column `is_delete` define error (change to `is_del`) in scripts/paopao-mysql.sql [&afd8fe1](https://github.com/rocboss/paopao-ce/commit/afd8fe18d2dce08a4af846c2f822379d99a3d3b3 'commit afd8fe1')
### Fixed
- fixed sql ddl p_contact's column `is_delete` define error (change to `is_del`) in scripts/paopao-mysql.sql [&afd8fe1](https://github.com/rocboss/paopao-ce/commit/afd8fe18d2dce08a4af846c2f822379d99a3d3b3 'commit afd8fe1')
### Changed
@ -32,6 +50,8 @@ All notable changes to paopao-ce are documented in this file.
SelectDB:
ConnWriteTimeout: 60 # 连接写超时时间 多少秒 默认 60秒
```
- optimize web frontend dark theme [&b082a8f](https://github.com/rocboss/paopao-ce/commit/b082a8fa5e43dd6dacf459df93fa7e243dd901ea 'commit b082a8f')
- change web frontend main content layout default size to 544px [&b082a8f](https://github.com/rocboss/paopao-ce/commit/b082a8fa5e43dd6dacf459df93fa7e243dd901ea 'commit b082a8f')
### Removed

@ -7,7 +7,7 @@ endif
TARGET_BIN = $(basename $(TARGET))
ifeq (n$(CGO_ENABLED),n)
CGO_ENABLED := 0
CGO_ENABLED := 1
endif
RELEASE_ROOT = release

@ -7,10 +7,10 @@ require (
github.com/afocus/captcha v0.0.0-20191010092841-4bd1f21c8868
github.com/alimy/cfg v0.3.0
github.com/alimy/mir/v3 v3.1.1
github.com/alimy/yesql v1.1.5
github.com/alimy/yesql v1.1.6
github.com/aliyun/aliyun-oss-go-sdk v2.2.7+incompatible
github.com/allegro/bigcache/v3 v3.0.2
github.com/bytedance/sonic v1.8.5
github.com/bytedance/sonic v1.8.7
github.com/cockroachdb/errors v1.9.1
github.com/disintegration/imaging v1.6.2
github.com/fatih/color v1.15.0
@ -19,7 +19,7 @@ require (
github.com/gin-gonic/gin v1.9.0
github.com/go-resty/resty/v2 v2.7.0
github.com/goccy/go-json v0.10.2
github.com/gofrs/uuid v4.0.0+incompatible
github.com/gofrs/uuid v4.4.0+incompatible
github.com/golang-jwt/jwt/v4 v4.5.0
github.com/golang-migrate/migrate/v4 v4.15.2
github.com/huaweicloud/huaweicloud-sdk-go-obs v3.23.3+incompatible
@ -28,13 +28,13 @@ require (
github.com/json-iterator/go v1.1.12
github.com/kyleconroy/sqlc v1.17.2
github.com/meilisearch/meilisearch-go v0.21.0
github.com/minio/minio-go/v7 v7.0.50
github.com/minio/minio-go/v7 v7.0.51
github.com/onsi/ginkgo/v2 v2.9.2
github.com/onsi/gomega v1.27.5
github.com/onsi/gomega v1.27.6
github.com/pyroscope-io/client v0.7.0
github.com/rueian/rueidis v0.0.97
github.com/sirupsen/logrus v1.9.0
github.com/smartwalle/alipay/v3 v3.2.0
github.com/smartwalle/alipay/v3 v3.2.1
github.com/sourcegraph/conc v0.3.0
github.com/spf13/viper v1.15.0
github.com/tencentyun/cos-go-sdk-v5 v0.7.41
@ -124,7 +124,7 @@ require (
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rogpeppe/go-internal v1.9.0 // indirect
github.com/rs/xid v1.4.0 // indirect
github.com/smartwalle/crypto4go v1.0.2 // indirect
github.com/smartwalle/ncrypto v1.0.0 // indirect
github.com/spf13/afero v1.9.3 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/cobra v1.6.1 // indirect

@ -133,8 +133,8 @@ github.com/alimy/cfg v0.3.0 h1:9xgA0QWVCPSq9fFNRcYahVCAX22IL9ts2wrTQPfAStY=
github.com/alimy/cfg v0.3.0/go.mod h1:rOxbasTH2srl6StAjNF5Vyi8bfrdkl3fLGmOYtSw81c=
github.com/alimy/mir/v3 v3.1.1 h1:3tz7uGOwuA1IKU0BysyBvGbyqKtEVMuhPBD/APk1ANw=
github.com/alimy/mir/v3 v3.1.1/go.mod h1:ybhT2ijOiDn0lLwWzIY6vXdv+uzZrctS7VFfczcXBWU=
github.com/alimy/yesql v1.1.5 h1:kHqF5rXS8if/YXazXyfo2OjqV+NhkvVwR43+dfkxkKU=
github.com/alimy/yesql v1.1.5/go.mod h1:Y0FdRIwIbJyTv56wSX+MpaIHiAW1PyKTDYO6K/er4JY=
github.com/alimy/yesql v1.1.6 h1:4on8osVaTpecfzf7gXM/1okyHMIaDKEkjHGdoqiZBQs=
github.com/alimy/yesql v1.1.6/go.mod h1:Y0FdRIwIbJyTv56wSX+MpaIHiAW1PyKTDYO6K/er4JY=
github.com/aliyun/aliyun-oss-go-sdk v2.2.7+incompatible h1:KpbJFXwhVeuxNtBJ74MCGbIoaBok2uZvkD7QXp2+Wis=
github.com/aliyun/aliyun-oss-go-sdk v2.2.7+incompatible/go.mod h1:T/Aws4fEfogEE9v+HPhhw+CntffsBHJ8nXQCwKr0/g8=
github.com/allegro/bigcache/v3 v3.0.2 h1:AKZCw+5eAaVyNTBmI2fgyPVJhHkdWder3O9IrprcQfI=
@ -207,8 +207,8 @@ github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3k
github.com/bytecodealliance/wasmtime-go/v5 v5.0.0 h1:Ue3eBDElMrdzWoUtr7uPr7NeDZriuR5oIivp5EHknQU=
github.com/bytecodealliance/wasmtime-go/v5 v5.0.0/go.mod h1:KcecyOqumZrvLnlaEIMFRbBaQeUYNvsbPjAEVho1Fcs=
github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
github.com/bytedance/sonic v1.8.5 h1:kjX0/vo5acEQ/sinD/18SkA/lDDUk23F0RcaHvI7omc=
github.com/bytedance/sonic v1.8.5/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U=
github.com/bytedance/sonic v1.8.7 h1:d3sry5vGgVq/OpgozRUNP6xBsSo0mtNdwliApw+SAMQ=
github.com/bytedance/sonic v1.8.7/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U=
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=
@ -596,8 +596,9 @@ github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5x
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw=
github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gogo/googleapis v0.0.0-20180223154316-0cd9801be74a/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s=
github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU=
github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c=
@ -1008,8 +1009,8 @@ github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3N
github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
github.com/minio/md5-simd v1.1.2 h1:Gdi1DZK69+ZVMoNHRXJyNcxrMA4dSxoYHZSQbirFg34=
github.com/minio/md5-simd v1.1.2/go.mod h1:MzdKDxYpY2BT9XQFocsiZf/NKVtR7nkE4RoEpN+20RM=
github.com/minio/minio-go/v7 v7.0.50 h1:4IL4V8m/kI90ZL6GupCARZVrBv8/XrcKcJhaJ3iz68k=
github.com/minio/minio-go/v7 v7.0.50/go.mod h1:IbbodHyjUAguneyucUaahv+VMNs/EOTV9du7A7/Z3HU=
github.com/minio/minio-go/v7 v7.0.51 h1:eSewrwc23TqUDEH8aw8Bwp4f+JDdozRrPWcKR7DZhmY=
github.com/minio/minio-go/v7 v7.0.51/go.mod h1:IbbodHyjUAguneyucUaahv+VMNs/EOTV9du7A7/Z3HU=
github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g=
github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM=
github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4=
@ -1093,8 +1094,8 @@ github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoT
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
github.com/onsi/gomega v1.15.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0=
github.com/onsi/gomega v1.27.5 h1:T/X6I0RNFw/kTqgfkZPcQ5KU6vCnWNBGdtrIx2dpGeQ=
github.com/onsi/gomega v1.27.5/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg=
github.com/onsi/gomega v1.27.6 h1:ENqfyGeS5AX/rlXDd/ETokDz93u0YufY1Pgxuy/PvWE=
github.com/onsi/gomega v1.27.6/go.mod h1:PIQNjfQwkP3aQAH7lf7j87O/5FiNr+ZR8+ipb+qQlhg=
github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
@ -1252,10 +1253,10 @@ github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.0 h1:trlNQbNUG3OdDrDil03MCb1H2o9nJ1x4/5LYw7byDE0=
github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/smartwalle/alipay/v3 v3.2.0 h1:14Yf6gbE33iOuXreEueEbCutCri6V8TbcZNJ3pQJ8CM=
github.com/smartwalle/alipay/v3 v3.2.0/go.mod h1:cZUMCCnsux9YAxA0/f3PWUR+7wckWtE1BqxbVRtGij0=
github.com/smartwalle/crypto4go v1.0.2 h1:9DUEOOsPhmp00438L4oBdcL8EZG1zumecft5bWj5phI=
github.com/smartwalle/crypto4go v1.0.2/go.mod h1:LQ7vCZIb7BE5+MuMtJBuO8ORkkQ01m4DXDBWPzLbkMY=
github.com/smartwalle/alipay/v3 v3.2.1 h1:K2htYgCABjYxTbwSx+bctVbQ7tlDrmRok02Ard049TE=
github.com/smartwalle/alipay/v3 v3.2.1/go.mod h1:AtAg7UMCxuqG61WcEv5DJTkyF2qI+iw75kZvxbEqINQ=
github.com/smartwalle/ncrypto v1.0.0 h1:nQFxIS3fRgr8V0xRkhnfNQOrcJGPNF6d5XzFwVm79KU=
github.com/smartwalle/ncrypto v1.0.0/go.mod h1:NmCbG0nLnSDnMImEDrjptFKs0PiLThnFkjQSMtGYgs4=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
@ -1471,7 +1472,6 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20190506204251-e1dfcc566284/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=

@ -18,7 +18,7 @@ import (
)
//go:embed config.yaml
var fileBytes []byte
var configBytes []byte
type pyroscopeConf struct {
AppName string
@ -408,7 +408,7 @@ func newViper() (*viper.Viper, error) {
vp.AddConfigPath(".")
vp.AddConfigPath("custom/")
vp.SetConfigType("yaml")
err := vp.ReadConfig(bytes.NewReader(fileBytes))
err := vp.ReadConfig(bytes.NewReader(configBytes))
if err != nil {
return nil, err
}

@ -7,6 +7,7 @@ package core
import (
"context"
"github.com/rocboss/paopao-ce/internal/core/cs"
"github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr"
)
@ -26,6 +27,11 @@ type IndexAction struct {
Post *dbr.Post
}
type IndexActionA struct {
Act IdxAct
Tweet *cs.TweetInfo
}
func (a IdxAct) String() string {
switch a {
case IdxActNop:
@ -52,6 +58,13 @@ func NewIndexAction(act IdxAct, post *dbr.Post) *IndexAction {
}
}
func NewIndexActionA(act IdxAct, tweet *cs.TweetInfo) *IndexActionA {
return &IndexActionA{
Act: act,
Tweet: tweet,
}
}
// CacheIndexService cache index service interface
type CacheIndexService interface {
IndexPostsService
@ -59,6 +72,13 @@ type CacheIndexService interface {
SendAction(act IdxAct, post *dbr.Post)
}
// CacheIndexServantA cache index service interface
type CacheIndexServantA interface {
IndexPostsServantA
SendAction(act IdxAct, tweet *cs.TweetInfo)
}
// RedisCache memory cache by Redis
type RedisCache interface {
SetPushToSearchJob(ctx context.Context) error

@ -8,12 +8,17 @@ import (
"github.com/rocboss/paopao-ce/internal/core/cs"
)
// TweetTimelineService 广场首页推文时间线服务
type TweetTimelineService interface {
TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error)
type IndexTweetList struct {
Tweets []*PostFormated
Total int64
}
// TweetTimelineServantA 广场首页推文时间线服务(版本A)
type TweetTimelineServantA interface {
TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error)
// IndexPostsService 广场首页推文列表服务
type IndexPostsService interface {
IndexPosts(user *User, offset int, limit int) (*IndexTweetList, error)
}
// IndexPostsServantA 广场首页推文列表服务(版本A)
type IndexPostsServantA interface {
IndexPosts(user *User, limit int, offset int) (*cs.TweetBox, error)
}

@ -33,11 +33,6 @@ type (
Attachment = dbr.Attachment
AttachmentType = dbr.AttachmentType
PostContentT = dbr.PostContentT
IndexTweetList struct {
Tweets []*PostFormated
Total int64
}
)
// TweetService 推文检索服务
@ -78,20 +73,15 @@ type TweetHelpService interface {
MergePosts(posts []*Post) ([]*PostFormated, error)
}
// IndexPostsService 广场首页推文列表服务
type IndexPostsService interface {
IndexPosts(user *User, offset int, limit int) (*IndexTweetList, error)
}
// TweetServantA 推文检索服务(版本A)
type TweetServantA interface {
TweetInfoById(id int64) (*cs.TweetInfo, error)
TweetItemById(id int64) (*cs.TweetItem, error)
UserTweets(visitorId, userId int64) (cs.TweetList, error)
ReactionByTweetId(userId int64, tweetId int64) (*cs.ReactionItem, error)
UserReactions(userId int64, offset int, limit int) (cs.ReactionList, error)
UserReactions(userId int64, limit int, offset int) (cs.ReactionList, error)
FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error)
UserFavorites(userId int64, offset int, limit int) (cs.FavoriteList, error)
UserFavorites(userId int64, limit int, offset int) (cs.FavoriteList, error)
AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error)
}

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

@ -9,6 +9,7 @@ import (
"github.com/Masterminds/semver/v3"
"github.com/alimy/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"
@ -112,8 +113,55 @@ func NewDataService() (core.DataService, core.VersionInfo) {
func NewWebDataServantA() (core.WebDataServantA, core.VersionInfo) {
lazyInitial()
// db := conf.MustSqlxDB()
ds := &webDataSrvA{}
var (
v core.VersionInfo
cis core.CacheIndexService
ips core.IndexPostsService
)
// pvs := security.NewPhoneVerifyService()
ams := NewAuthorizationManageService()
ths := newTweetHelpService(_db)
// initialize core.IndexPostsService
if cfg.If("Friendship") {
ips = newFriendIndexService(_db, ams, ths)
} else if cfg.If("Followship") {
ips = newFollowIndexService(_db, ths)
} else if cfg.If("Lightship") {
ips = newLightIndexService(_db, ths)
} else {
// default use lightship post index service
ips = newLightIndexService(_db, 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() {
// TODO: make cache index post in different scence like friendship/followship/lightship
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())
db := conf.MustSqlxDB()
ds := &webDataSrvA{
TopicServantA: newTopicServantA(db),
TweetServantA: newTweetServantA(db),
TweetManageServantA: newTweetManageServantA(db, cis),
TweetHelpServantA: newTweetHelpServantA(db),
}
return ds, ds
}
@ -135,7 +183,7 @@ func (s *webDataSrvA) Name() string {
}
func (s *webDataSrvA) Version() *semver.Version {
return semver.MustParse("v0.0.0")
return semver.MustParse("v0.0.1")
}
// lazyInitial do some package lazy initialize for performance

@ -0,0 +1,17 @@
// 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 sakila_test
import (
"testing"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
)
func TestSakila(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "Sakila Suite")
}

@ -5,10 +5,10 @@
package sakila
import (
"bytes"
"context"
"database/sql"
_ "embed"
"strings"
"github.com/alimy/yesql"
"github.com/jmoiron/sqlx"
@ -18,6 +18,7 @@ import (
var (
_db *sqlx.DB
_tablePrefix string
)
type sqlxSrv struct {
@ -110,7 +111,27 @@ func n(query string) *sqlx.NamedStmt {
// t repace table prefix for query
func t(query string) string {
return strings.Replace(query, "@", conf.DatabaseSetting.TablePrefix, -1)
buf := bytes.NewBuffer(make([]byte, 0, len(query)))
qr := make([]rune, 0, len(query))
for _, c := range query {
qr = append(qr, c)
}
isPrevAt := false
size := len(qr)
for i := 0; i < size; i++ {
if qr[i] == '@' {
if next := i + 1; next == size || (!isPrevAt && qr[next] != '@') {
buf.WriteString(_tablePrefix)
} else {
buf.WriteRune('@')
}
isPrevAt = true
} else {
buf.WriteRune(qr[i])
isPrevAt = false
}
}
return buf.String()
}
// yesqlScan yesql.Scan help function
@ -122,9 +143,7 @@ func yesqlScan[T any](query yesql.SQLQuery, obj T) T {
}
func mustBuild[T any](db *sqlx.DB, fn func(yesql.PreparexBuilder, ...context.Context) (T, error)) T {
p := yesql.NewPreparexBuilder(db, func(query string) string {
return strings.Replace(query, "@", conf.DatabaseSetting.TablePrefix, -1)
})
p := yesql.NewPreparexBuilder(db, t)
obj, err := fn(p)
if err != nil {
logrus.Fatalf("build object failure: %s", err)
@ -134,4 +153,10 @@ func mustBuild[T any](db *sqlx.DB, fn func(yesql.PreparexBuilder, ...context.Con
func initSqlxDB() {
_db = conf.MustSqlxDB()
_tablePrefix = conf.DatabaseSetting.TablePrefix
}
// FnTest_t just for test t(...) function not use in out package
func FnTest_t(query string) string {
return t(query)
}

@ -0,0 +1,55 @@
// 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 sakila_test
import (
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
"github.com/rocboss/paopao-ce/internal/dao/sakila"
)
var _ = Describe("Sqlx", Ordered, func() {
type queries []struct {
originQuery string
fixedQuery string
}
var samples queries
BeforeAll(func() {
samples = queries{
{
originQuery: `SELECT * FROM @user WHERE username=?@_`,
fixedQuery: `SELECT * FROM user WHERE username=?_`,
},
{
originQuery: `SELECT * FROM @user WHERE username=?`,
fixedQuery: `SELECT * FROM user WHERE username=?`,
},
{
originQuery: `SELECT * FROM @@user WHERE 用户名=?`,
fixedQuery: `SELECT * FROM @@user WHERE 用户名=?`,
},
{
originQuery: `SELECT * FROM @@user, @@@@contact WHERE 用户名=?`,
fixedQuery: `SELECT * FROM @@user, @@@@contact WHERE 用户名=?`,
},
{
originQuery: `SELECT @@name, @@@@@id FROM @@user, @@@@contact WHERE 用户名=?`,
fixedQuery: `SELECT @@name, @@@@@id FROM @@user, @@@@contact WHERE 用户名=?`,
},
{
originQuery: `SELECT @name, @id FROM @user, @contact WHERE 用户名=?`,
fixedQuery: `SELECT name, id FROM user, contact WHERE 用户名=?`,
},
}
})
It("test internal t func", func() {
for _, t := range samples {
Expect(sakila.FnTest_t(t.originQuery)).To(Equal(t.fixedQuery))
}
})
})

@ -17,6 +17,11 @@ var (
_ core.IndexPostsService = (*followIndexSrv)(nil)
_ core.IndexPostsService = (*lightIndexSrv)(nil)
_ core.IndexPostsService = (*simpleIndexPostsSrv)(nil)
_ core.IndexPostsServantA = (*friendIndexSrvA)(nil)
_ core.IndexPostsServantA = (*followIndexSrvA)(nil)
_ core.IndexPostsServantA = (*lightIndexSrvA)(nil)
_ core.IndexPostsServantA = (*simpleIndexPostsSrvA)(nil)
)
type friendIndexSrv struct {
@ -44,46 +49,75 @@ type simpleIndexPostsSrv struct {
q *cc.SimpleIndex
}
type friendIndexSrvA struct {
*sqlxSrv
ams core.AuthorizationManageService
ths core.TweetHelpServantA
q *cc.FriendIndexA
}
type followIndexSrvA struct {
*sqlxSrv
ths core.TweetHelpServantA
q *cc.FollowIndexA
}
type lightIndexSrvA struct {
*sqlxSrv
ths core.TweetHelpServantA
q *cc.LightIndexA
}
type simpleIndexPostsSrvA struct {
*sqlxSrv
ths core.TweetHelpServantA
q *cc.SimpleIndexA
}
// IndexPosts 根据userId查询广场推文列表简单做到不同用户的主页都是不同的
func (s *friendIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *friendIndexSrv) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) {
// IndexPosts 根据userId查询广场推文列表简单做到不同用户的主页都是不同的
func (s *followIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) {
// TODO
return nil, debug.ErrNotImplemented
}
// IndexPosts 根据userId查询广场推文列表简单做到不同用户的主页都是不同的
func (s *followIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) {
func (s *lightIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *followIndexSrv) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) {
// simpleCacheIndexGetPosts simpleCacheIndex 专属获取广场推文列表函数
func (s *simpleIndexPostsSrv) IndexPosts(_user *core.User, offset int, limit int) (*core.IndexTweetList, error) {
// TODO
return nil, debug.ErrNotImplemented
}
// IndexPosts 根据userId查询广场推文列表简单做到不同用户的主页都是不同的
func (s *lightIndexSrv) IndexPosts(user *core.User, offset int, limit int) (*core.IndexTweetList, error) {
func (s *friendIndexSrvA) IndexPosts(user *core.User, limit int, offset int) (*cs.TweetBox, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *lightIndexSrv) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) {
// IndexPosts 根据userId查询广场推文列表简单做到不同用户的主页都是不同的
func (s *followIndexSrvA) IndexPosts(user *core.User, limit int, offset int) (*cs.TweetBox, error) {
// TODO
return nil, debug.ErrNotImplemented
}
// simpleCacheIndexGetPosts simpleCacheIndex 专属获取广场推文列表函数
func (s *simpleIndexPostsSrv) IndexPosts(_user *core.User, offset int, limit int) (*core.IndexTweetList, error) {
// IndexPosts 根据userId查询广场推文列表简单做到不同用户的主页都是不同的
func (s *lightIndexSrvA) IndexPosts(user *core.User, limit int, offset int) (*cs.TweetBox, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *simpleIndexPostsSrv) TweetTimeline(userId int64, offset int, limit int) (*cs.TweetBox, error) {
// IndexPosts simpleCacheIndex 专属获取广场推文列表函数
func (s *simpleIndexPostsSrvA) IndexPosts(_user *core.User, limit int, offset int) (*cs.TweetBox, error) {
// TODO
return nil, debug.ErrNotImplemented
}
@ -91,6 +125,7 @@ func (s *simpleIndexPostsSrv) TweetTimeline(userId int64, offset int, limit int)
func newFriendIndexService(db *sqlx.DB, ams core.AuthorizationManageService, ths core.TweetHelpService) core.IndexPostsService {
return &friendIndexSrv{
ams: ams,
ths: ths,
sqlxSrv: newSqlxSrv(db),
q: mustBuild(db, cc.BuildFriendIndex),
}
@ -119,3 +154,36 @@ func newSimpleIndexPostsService(db *sqlx.DB, ths core.TweetHelpService) core.Ind
q: mustBuild(db, cc.BuildSimpleIndex),
}
}
func newFriendIndexServantA(db *sqlx.DB, ams core.AuthorizationManageService, ths core.TweetHelpServantA) core.IndexPostsServantA {
return &friendIndexSrvA{
ams: ams,
ths: ths,
sqlxSrv: newSqlxSrv(db),
q: mustBuild(db, cc.BuildFriendIndexA),
}
}
func newFollowIndexServantA(db *sqlx.DB, ths core.TweetHelpServantA) core.IndexPostsServantA {
return &followIndexSrvA{
ths: ths,
sqlxSrv: newSqlxSrv(db),
q: mustBuild(db, cc.BuildFollowIndexA),
}
}
func newLightIndexServantA(db *sqlx.DB, ths core.TweetHelpServantA) core.IndexPostsServantA {
return &lightIndexSrvA{
ths: ths,
sqlxSrv: newSqlxSrv(db),
q: mustBuild(db, cc.BuildLightIndexA),
}
}
func newSimpleIndexPostsServantA(db *sqlx.DB, ths core.TweetHelpServantA) core.IndexPostsServantA {
return &simpleIndexPostsSrvA{
ths: ths,
sqlxSrv: newSqlxSrv(db),
q: mustBuild(db, cc.BuildSimpleIndexA),
}
}

@ -15,15 +15,16 @@ import (
)
var (
_ core.TopicService = (*topicSrv)(nil)
_ core.TopicService = (*topicSrvA)(nil)
_ core.TopicServantA = (*topicSrvA)(nil)
)
type topicSrv struct {
type topicSrvA struct {
*sqlxSrv
q *cc.Topic
q *cc.TopicA
}
func (s *topicSrv) UpsertTags(userId int64, tags []string) (res cs.TagInfoList, xerr error) {
func (s *topicSrvA) UpsertTags(userId int64, tags []string) (res cs.TagInfoList, xerr error) {
if len(tags) == 0 {
return nil, nil
}
@ -80,7 +81,7 @@ func (s *topicSrv) UpsertTags(userId int64, tags []string) (res cs.TagInfoList,
return
}
func (s *topicSrv) DecrTagsById(ids []int64) error {
func (s *topicSrvA) DecrTagsById(ids []int64) error {
return s.with(func(tx *sqlx.Tx) error {
var ids []int64
err := s.inSelect(tx, &ids, s.q.TagsByIdA, ids)
@ -92,7 +93,7 @@ func (s *topicSrv) DecrTagsById(ids []int64) error {
})
}
func (s *topicSrv) ListTags(typ cs.TagType, limit int, offset int) (res cs.TagList, err error) {
func (s *topicSrvA) ListTags(typ cs.TagType, limit int, offset int) (res cs.TagList, err error) {
switch typ {
case cs.TagTypeHot:
err = s.q.HotTags.Select(&res, limit, offset)
@ -102,7 +103,7 @@ func (s *topicSrv) ListTags(typ cs.TagType, limit int, offset int) (res cs.TagLi
return
}
func (s *topicSrv) TagsByKeyword(keyword string) (res cs.TagInfoList, err error) {
func (s *topicSrvA) TagsByKeyword(keyword string) (res cs.TagInfoList, err error) {
keyword = "%" + strings.Trim(keyword, " ") + "%"
if keyword == "%%" {
err = s.q.TagsByKeywordA.Select(&res)
@ -113,8 +114,15 @@ func (s *topicSrv) TagsByKeyword(keyword string) (res cs.TagInfoList, err error)
}
func newTopicService(db *sqlx.DB) core.TopicService {
return &topicSrv{
return &topicSrvA{
sqlxSrv: newSqlxSrv(db),
q: mustBuild(db, cc.BuildTopic),
q: mustBuild(db, cc.BuildTopicA),
}
}
func newTopicServantA(db *sqlx.DB) core.TopicServantA {
return &topicSrvA{
sqlxSrv: newSqlxSrv(db),
q: mustBuild(db, cc.BuildTopicA),
}
}

@ -11,13 +11,16 @@ import (
"github.com/rocboss/paopao-ce/internal/dao/jinzhu/dbr"
"github.com/rocboss/paopao-ce/internal/dao/sakila/yesql/cc"
"github.com/rocboss/paopao-ce/pkg/debug"
"gorm.io/gorm"
)
var (
_ core.TweetService = (*tweetSrv)(nil)
_ core.TweetManageService = (*tweetManageSrv)(nil)
_ core.TweetHelpService = (*tweetHelpSrv)(nil)
_ core.TweetServantA = (*tweetSrvA)(nil)
_ core.TweetManageServantA = (*tweetManageSrvA)(nil)
_ core.TweetHelpServantA = (*tweetHelpSrvA)(nil)
)
type tweetSrv struct {
@ -27,7 +30,7 @@ type tweetSrv struct {
type tweetManageSrv struct {
*sqlxSrv
cacheIndex core.CacheIndexService
cis core.CacheIndexService
q *cc.TweetManage
}
@ -36,6 +39,22 @@ type tweetHelpSrv struct {
q *cc.TweetHelp
}
type tweetSrvA struct {
*sqlxSrv
q *cc.TweetA
}
type tweetManageSrvA struct {
*sqlxSrv
cis core.CacheIndexService
q *cc.TweetManageA
}
type tweetHelpSrvA struct {
*sqlxSrv
q *cc.TweetHelpA
}
// MergePosts post数据整合
func (s *tweetHelpSrv) MergePosts(posts []*core.Post) ([]*core.PostFormated, error) {
// TODO
@ -50,16 +69,6 @@ func (s *tweetHelpSrv) RevampPosts(posts []*core.PostFormated) ([]*core.PostForm
return nil, nil
}
func (s *tweetHelpSrv) RevampTweets(tweets cs.TweetList) (cs.TweetList, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetHelpSrv) MergeTweets(tweets cs.TweetInfo) (cs.TweetList, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetHelpSrv) getPostContentsByIDs(ids []int64) ([]*dbr.PostContent, error) {
// TODO
debug.NotImplemented()
@ -107,12 +116,6 @@ func (s *tweetManageSrv) DeletePost(post *core.Post) ([]string, error) {
return nil, nil
}
func (s *tweetManageSrv) deleteCommentByPostId(db *gorm.DB, postId int64) ([]string, error) {
// TODO
debug.NotImplemented()
return nil, nil
}
func (s *tweetManageSrv) LockPost(post *core.Post) error {
// TODO
debug.NotImplemented()
@ -149,51 +152,6 @@ func (s *tweetManageSrv) DeletePostStar(p *core.PostStar) error {
return nil
}
func (s *tweetManageSrv) CreateTweet(userId int64, req *cs.NewTweetReq) (*cs.TweetItem, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetManageSrv) DeleteTweet(userId int64, tweetId int64) ([]string, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetManageSrv) LockTweet(userId int64, tweetId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrv) StickTweet(userId int64, tweetId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrv) VisibleTweet(userId int64, visibility cs.TweetVisibleType) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrv) CreateReaction(userId int64, tweetId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrv) DeleteReaction(userId int64, reactionId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrv) CreateFavorite(userId int64, tweetId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrv) DeleteFavorite(userId int64, favoriteId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetSrv) GetPostByID(id int64) (*core.Post, error) {
// TODO
debug.NotImplemented()
@ -278,42 +236,102 @@ func (s *tweetSrv) GetPostContentByID(id int64) (*core.PostContent, error) {
return nil, nil
}
func (s *tweetSrv) TweetInfoById(id int64) (*cs.TweetInfo, error) {
func (s *tweetSrvA) TweetInfoById(id int64) (*cs.TweetInfo, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetSrv) TweetItemById(id int64) (*cs.TweetItem, error) {
func (s *tweetSrvA) TweetItemById(id int64) (*cs.TweetItem, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetSrv) UserTweets(visitorId, userId int64) (cs.TweetList, error) {
func (s *tweetSrvA) UserTweets(visitorId, userId int64) (cs.TweetList, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetSrv) ReactionByTweetId(userId int64, tweetId int64) (*cs.ReactionItem, error) {
func (s *tweetSrvA) ReactionByTweetId(userId int64, tweetId int64) (*cs.ReactionItem, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetSrv) UserReactions(userId int64, offset int, limit int) (cs.ReactionList, error) {
func (s *tweetSrvA) UserReactions(userId int64, limit int, offset int) (cs.ReactionList, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetSrv) FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) {
func (s *tweetSrvA) FavoriteByTweetId(userId int64, tweetId int64) (*cs.FavoriteItem, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetSrv) UserFavorites(userId int64, offset int, limit int) (cs.FavoriteList, error) {
func (s *tweetSrvA) UserFavorites(userId int64, limit int, offset int) (cs.FavoriteList, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetSrv) AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) {
func (s *tweetSrvA) AttachmentByTweetId(userId int64, tweetId int64) (*cs.AttachmentBill, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetManageSrvA) CreateAttachment(obj *cs.Attachment) (int64, error) {
// TODO
return 0, debug.ErrNotImplemented
}
func (s *tweetManageSrvA) CreateTweet(userId int64, req *cs.NewTweetReq) (*cs.TweetItem, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetManageSrvA) DeleteTweet(userId int64, tweetId int64) ([]string, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetManageSrvA) LockTweet(userId int64, tweetId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrvA) StickTweet(userId int64, tweetId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrvA) VisibleTweet(userId int64, visibility cs.TweetVisibleType) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrvA) CreateReaction(userId int64, tweetId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrvA) DeleteReaction(userId int64, reactionId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrvA) CreateFavorite(userId int64, tweetId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetManageSrvA) DeleteFavorite(userId int64, favoriteId int64) error {
// TODO
return debug.ErrNotImplemented
}
func (s *tweetHelpSrvA) RevampTweets(tweets cs.TweetList) (cs.TweetList, error) {
// TODO
return nil, debug.ErrNotImplemented
}
func (s *tweetHelpSrvA) MergeTweets(tweets cs.TweetInfo) (cs.TweetList, error) {
// TODO
return nil, debug.ErrNotImplemented
}
@ -328,7 +346,7 @@ func newTweetService(db *sqlx.DB) core.TweetService {
func newTweetManageService(db *sqlx.DB, cacheIndex core.CacheIndexService) core.TweetManageService {
return &tweetManageSrv{
sqlxSrv: newSqlxSrv(db),
cacheIndex: cacheIndex,
cis: cacheIndex,
q: mustBuild(db, cc.BuildTweetManage),
}
}
@ -339,3 +357,25 @@ func newTweetHelpService(db *sqlx.DB) core.TweetHelpService {
q: mustBuild(db, cc.BuildTweetHelp),
}
}
func newTweetServantA(db *sqlx.DB) core.TweetServantA {
return &tweetSrvA{
sqlxSrv: newSqlxSrv(db),
q: mustBuild(db, cc.BuildTweetA),
}
}
func newTweetManageServantA(db *sqlx.DB, cacheIndex core.CacheIndexService) core.TweetManageServantA {
return &tweetManageSrvA{
sqlxSrv: newSqlxSrv(db),
cis: cacheIndex,
q: mustBuild(db, cc.BuildTweetManageA),
}
}
func newTweetHelpServantA(db *sqlx.DB) core.TweetHelpServantA {
return &tweetHelpSrvA{
sqlxSrv: newSqlxSrv(db),
q: mustBuild(db, cc.BuildTweetHelpA),
}
}

@ -1,6 +1,6 @@
// Code generated by Yesql. DO NOT EDIT.
// versions:
// - Yesql v1.1.5
// - Yesql v1.1.6
package cc
@ -12,31 +12,38 @@ import (
)
const (
_UserInfo_LightIndex = `SELECT * FROM @user WHERE username=?`
_NewestTags_Topic = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.id DESC LIMIT ? OFFSET ?`
_TagsByKeywordA_Topic = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC LIMIT 6`
_TagsByKeywordB_Topic = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC LIMIT 6`
_TagsByIdB_Topic = `SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`
_HotTags_Topic = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.quote_num DESC LIMIT ? OFFSET ?`
_InsertTag_Topic = `INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`
_TagsByIdA_Topic = `SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0`
_DecrTagsById_Topic = `UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`
_TagsForIncr_Topic = `SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)`
_IncrTagsById_Topic = `UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)`
_UserInfo_Wallet = `SELECT * FROM @user WHERE username=?`
_UserInfo_AuthorizationManage = `SELECT * FROM @user WHERE username=?`
_UserInfo_CommentManage = `SELECT * FROM @user WHERE username=?`
_UserInfo_Comment = `SELECT * FROM @user WHERE username=?`
_UserInfo_ContactManager = `SELECT * FROM @user WHERE username=?`
_UserInfo_FollowIndexA = `SELECT * FROM @user WHERE username=?`
_UserInfo_FollowIndex = `SELECT * FROM @user WHERE username=?`
_UserInfo_SimpleIndex = `SELECT * FROM @user WHERE username=?`
_UserInfo_UserManage = `SELECT * FROM @user WHERE username=?`
_UserInfo_CommentManage = `SELECT * FROM @user WHERE username=?`
_UserInfo_FriendIndexA = `SELECT * FROM @user WHERE username=?`
_UserInfo_FriendIndex = `SELECT * FROM @user WHERE username=?`
_UserInfo_LightIndexA = `SELECT * FROM @user WHERE username=?`
_UserInfo_LightIndex = `SELECT * FROM @user WHERE username=?`
_UserInfo_Message = `SELECT * FROM @user WHERE username=?`
_UserInfo_Security = `SELECT * FROM @user WHERE username=?`
_UserInfo_SimpleIndexA = `SELECT * FROM @user WHERE username=?`
_UserInfo_SimpleIndex = `SELECT * FROM @user WHERE username=?`
_DecrTagsById_TopicA = `UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?)`
_HotTags_TopicA = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.quote_num DESC LIMIT ? OFFSET ?`
_IncrTagsById_TopicA = `UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?)`
_InsertTag_TopicA = `INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1)`
_NewestTags_TopicA = `SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin FROM @tag t JOIN @user u ON t.user_id = u.id WHERE t.is_del = 0 AND t.quote_num > 0 ORDER BY t.id DESC LIMIT ? OFFSET ?`
_TagsByIdA_TopicA = `SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0`
_TagsByIdB_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?)`
_TagsByKeywordA_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC LIMIT 6`
_TagsByKeywordB_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC LIMIT 6`
_TagsForIncr_TopicA = `SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?)`
_UserInfo_TweetA = `SELECT * FROM @user WHERE username=?`
_UserInfo_TweetHelpA = `SELECT * FROM @user WHERE username=?`
_UserInfo_TweetHelp = `SELECT * FROM @user WHERE username=?`
_UserInfo_AuthorizationManage = `SELECT * FROM @user WHERE username=?`
_UserInfo_Comment = `SELECT * FROM @user WHERE username=?`
_UserInfo_Message = `SELECT * FROM @user WHERE username=?`
_UserInfo_FriendIndex = `SELECT * FROM @user WHERE username=?`
_UserInfo_Tweet = `SELECT * FROM @user WHERE username=?`
_UserInfo_TweetManageA = `SELECT * FROM @user WHERE username=?`
_UserInfo_TweetManage = `SELECT * FROM @user WHERE username=?`
_UserInfo_Tweet = `SELECT * FROM @user WHERE username=?`
_UserInfo_UserManage = `SELECT * FROM @user WHERE username=?`
_UserInfo_Wallet = `SELECT * FROM @user WHERE username=?`
)
type AuthorizationManage struct {
@ -64,16 +71,31 @@ type FollowIndex struct {
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type FollowIndexA struct {
yesql.Namespace `yesql:"follow_index_a"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type FriendIndex struct {
yesql.Namespace `yesql:"friend_index"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type FriendIndexA struct {
yesql.Namespace `yesql:"friend_index_a"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type LightIndex struct {
yesql.Namespace `yesql:"light_index"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type LightIndexA struct {
yesql.Namespace `yesql:"light_index_a"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type Message struct {
yesql.Namespace `yesql:"message"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
@ -89,8 +111,13 @@ type SimpleIndex struct {
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type Topic struct {
yesql.Namespace `yesql:"topic"`
type SimpleIndexA struct {
yesql.Namespace `yesql:"simple_index_a"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type TopicA struct {
yesql.Namespace `yesql:"topic_a"`
DecrTagsById string `yesql:"decr_tags_by_id"`
IncrTagsById string `yesql:"incr_tags_by_id"`
TagsByIdA string `yesql:"tags_by_id_a"`
@ -108,16 +135,31 @@ type Tweet struct {
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type TweetA struct {
yesql.Namespace `yesql:"tweet_a"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type TweetHelp struct {
yesql.Namespace `yesql:"tweet_help"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type TweetHelpA struct {
yesql.Namespace `yesql:"tweet_help_a"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type TweetManage struct {
yesql.Namespace `yesql:"tweet_manage"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type TweetManageA struct {
yesql.Namespace `yesql:"tweet_manage_a"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
}
type UserManage struct {
yesql.Namespace `yesql:"user_manage"`
UserInfo *sqlx.Stmt `yesql:"user_info"`
@ -198,6 +240,20 @@ func BuildFollowIndex(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Fol
return
}
func BuildFollowIndexA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *FollowIndexA, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
c = ctx[0]
} else {
c = context.Background()
}
obj = &FollowIndexA{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_FollowIndexA))); err != nil {
return
}
return
}
func BuildFriendIndex(p yesql.PreparexBuilder, ctx ...context.Context) (obj *FriendIndex, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
@ -212,6 +268,20 @@ func BuildFriendIndex(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Fri
return
}
func BuildFriendIndexA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *FriendIndexA, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
c = ctx[0]
} else {
c = context.Background()
}
obj = &FriendIndexA{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_FriendIndexA))); err != nil {
return
}
return
}
func BuildLightIndex(p yesql.PreparexBuilder, ctx ...context.Context) (obj *LightIndex, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
@ -226,6 +296,20 @@ func BuildLightIndex(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Ligh
return
}
func BuildLightIndexA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *LightIndexA, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
c = ctx[0]
} else {
c = context.Background()
}
obj = &LightIndexA{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_LightIndexA))); err != nil {
return
}
return
}
func BuildMessage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Message, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
@ -268,33 +352,47 @@ func BuildSimpleIndex(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Sim
return
}
func BuildTopic(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Topic, err error) {
func BuildSimpleIndexA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *SimpleIndexA, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
c = ctx[0]
} else {
c = context.Background()
}
obj = &Topic{
DecrTagsById: p.QueryHook(_DecrTagsById_Topic),
IncrTagsById: p.QueryHook(_IncrTagsById_Topic),
TagsByIdA: p.QueryHook(_TagsByIdA_Topic),
TagsByIdB: p.QueryHook(_TagsByIdB_Topic),
TagsForIncr: p.QueryHook(_TagsForIncr_Topic),
obj = &SimpleIndexA{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_SimpleIndexA))); err != nil {
return
}
if obj.HotTags, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_HotTags_Topic))); err != nil {
return
}
if obj.InsertTag, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_InsertTag_Topic))); err != nil {
func BuildTopicA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *TopicA, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
c = ctx[0]
} else {
c = context.Background()
}
obj = &TopicA{
DecrTagsById: p.QueryHook(_DecrTagsById_TopicA),
IncrTagsById: p.QueryHook(_IncrTagsById_TopicA),
TagsByIdA: p.QueryHook(_TagsByIdA_TopicA),
TagsByIdB: p.QueryHook(_TagsByIdB_TopicA),
TagsForIncr: p.QueryHook(_TagsForIncr_TopicA),
}
if obj.HotTags, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_HotTags_TopicA))); err != nil {
return
}
if obj.InsertTag, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_InsertTag_TopicA))); err != nil {
return
}
if obj.NewestTags, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_NewestTags_Topic))); err != nil {
if obj.NewestTags, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_NewestTags_TopicA))); err != nil {
return
}
if obj.TagsByKeywordA, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TagsByKeywordA_Topic))); err != nil {
if obj.TagsByKeywordA, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TagsByKeywordA_TopicA))); err != nil {
return
}
if obj.TagsByKeywordB, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TagsByKeywordB_Topic))); err != nil {
if obj.TagsByKeywordB, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_TagsByKeywordB_TopicA))); err != nil {
return
}
return
@ -314,6 +412,20 @@ func BuildTweet(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Tweet, er
return
}
func BuildTweetA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *TweetA, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
c = ctx[0]
} else {
c = context.Background()
}
obj = &TweetA{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_TweetA))); err != nil {
return
}
return
}
func BuildTweetHelp(p yesql.PreparexBuilder, ctx ...context.Context) (obj *TweetHelp, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
@ -328,6 +440,20 @@ func BuildTweetHelp(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Tweet
return
}
func BuildTweetHelpA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *TweetHelpA, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
c = ctx[0]
} else {
c = context.Background()
}
obj = &TweetHelpA{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_TweetHelpA))); err != nil {
return
}
return
}
func BuildTweetManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *TweetManage, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
@ -342,6 +468,20 @@ func BuildTweetManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *Twe
return
}
func BuildTweetManageA(p yesql.PreparexBuilder, ctx ...context.Context) (obj *TweetManageA, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {
c = ctx[0]
} else {
c = context.Background()
}
obj = &TweetManageA{}
if obj.UserInfo, err = p.PreparexContext(c, p.Rebind(p.QueryHook(_UserInfo_TweetManageA))); err != nil {
return
}
return
}
func BuildUserManage(p yesql.PreparexBuilder, ctx ...context.Context) (obj *UserManage, err error) {
var c context.Context
if len(ctx) > 0 && ctx[0] != nil {

@ -78,6 +78,38 @@ SELECT * FROM @user WHERE username=?
-- prepare: stmt
SELECT * FROM @user WHERE username=?
--------------------------------------------------------------------------------
-- friend_index_a sql dml
--------------------------------------------------------------------------------
-- name: user_info@friend_index_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
--------------------------------------------------------------------------------
-- follow_index_a sql dml
--------------------------------------------------------------------------------
-- name: user_info@follow_index_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
--------------------------------------------------------------------------------
-- light_index_a sql dml
--------------------------------------------------------------------------------
-- name: user_info@light_index_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
--------------------------------------------------------------------------------
-- simple_index_a sql dml
--------------------------------------------------------------------------------
-- name: user_info@simple_index_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
--------------------------------------------------------------------------------
-- tweet sql dml
--------------------------------------------------------------------------------
@ -103,10 +135,34 @@ SELECT * FROM @user WHERE username=?
SELECT * FROM @user WHERE username=?
--------------------------------------------------------------------------------
-- topic sql dml
-- tweet_a sql dml
--------------------------------------------------------------------------------
-- name: user_info@tweet_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
--------------------------------------------------------------------------------
-- tweet_manage_a sql dml
--------------------------------------------------------------------------------
-- name: user_info@tweet_manage_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
--------------------------------------------------------------------------------
-- tweet_help_a sql dml
--------------------------------------------------------------------------------
-- name: user_info@tweet_help_a
-- prepare: stmt
SELECT * FROM @user WHERE username=?
--------------------------------------------------------------------------------
-- topic_a sql dml
--------------------------------------------------------------------------------
-- name: newest_tags@topic
-- name: newest_tags@topic_a
-- get newest tag information
SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin
FROM @tag t
@ -116,7 +172,7 @@ WHERE t.is_del = 0 AND t.quote_num > 0
ORDER BY t.id DESC
LIMIT ? OFFSET ?;
-- name: hot_tags@topic
-- name: hot_tags@topic_a
-- get get host tag information
SELECT t.id id, t.user_id user_id, t.tag tag, t.quote_num quote_num, u.id, u.nickname, u.username, u.status, u.avatar, u.is_admin
FROM @tag t
@ -126,37 +182,37 @@ WHERE t.is_del = 0 AND t.quote_num > 0
ORDER BY t.quote_num DESC
LIMIT ? OFFSET ?;
-- name: tags_by_keyword_a@topic
-- name: tags_by_keyword_a@topic_a
-- get tags by keyword
SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 ORDER BY quote_num DESC LIMIT 6;
-- name: tags_by_keyword_b@topic
-- name: tags_by_keyword_b@topic_a
SELECT id, user_id, tag, quote_num FROM @tag WHERE is_del = 0 AND tag LIKE ? ORDER BY quote_num DESC LIMIT 6;
-- name: insert_tag@topic
-- name: insert_tag@topic_a
INSERT INTO @tag (user_id, tag, created_on, modified_on, quote_num) VALUES (?, ?, ?, ?, 1);
-- name: tags_by_id_a@topic
-- name: tags_by_id_a@topic_a
-- prepare: raw
-- clause: in
SELECT id FROM @tag WHERE id IN (?) AND is_del = 0 AND quote_num > 0;
-- name: tags_by_id_b@topic
-- name: tags_by_id_b@topic_a
-- prepare: raw
-- clause: in
SELECT id, user_id, tag, quote_num FROM @tag WHERE id IN (?);
-- name: decr_tags_by_id@topic
-- name: decr_tags_by_id@topic_a
-- prepare: raw
-- clause: in
UPDATE @tag SET quote_num=quote_num-1, modified_on=? WHERE id IN (?);
-- name: tags_for_incr@topic
-- name: tags_for_incr@topic_a
-- prepare: raw
-- clause: in
SELECT id, user_id, tag, quote_num FROM @tag WHERE tag IN (?);
-- name: incr_tags_by_id@topic
-- name: incr_tags_by_id@topic_a
-- prepare: raw
-- clause: in
UPDATE @tag SET quote_num=quote_num+1, is_del=0, modified_on=? WHERE id IN (?);

@ -257,6 +257,7 @@ func (s *DaoServant) GetTweetList(conditions *core.ConditionsT, offset, limit in
func NewDaoServant() *DaoServant {
return &DaoServant{
Redis: cache.NewRedisCache(),
Dsa: dao.WebDataServantA(),
Ds: dao.DataService(),
Ts: dao.TweetSearchService(),
}

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

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

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

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

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

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

@ -137,6 +137,7 @@ CREATE TABLE `p_post` (
`comment_count` bigint unsigned NOT NULL DEFAULT '0' COMMENT '评论数',
`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好友可见',
`is_top` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '是否置顶',
`is_essence` tinyint unsigned NOT NULL DEFAULT '0' COMMENT '是否精华',
@ -283,7 +284,7 @@ CREATE TABLE `p_contact` (
`status` tinyint NOT NULL DEFAULT '0' COMMENT '好友状态: 1请求好友, 2已好友, 3拒绝好友, 4已删好友',
`is_top` tinyint NOT NULL DEFAULT '0' COMMENT '是否置顶, 0否, 1是',
`is_black` tinyint NOT NULL DEFAULT '0' COMMENT '是否为黑名单, 0否, 1是',
`is_delete` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除好友, 0否, 1是',
`is_del` tinyint NOT NULL DEFAULT '0' COMMENT '是否删除好友, 0否, 1是',
`notice_enable` tinyint NOT NULL DEFAULT '0' COMMENT '是否有消息提醒, 0否, 1是',
`created_on` bigint unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
`modified_on` bigint unsigned NOT NULL DEFAULT '0' COMMENT '修改时间',

@ -114,6 +114,7 @@ CREATE TABLE p_post (
comment_count BIGINT NOT NULL DEFAULT 0,
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好友可见
is_top SMALLINT NOT NULL DEFAULT 0, -- 是否置顶
is_essence SMALLINT NOT NULL DEFAULT 0, -- 是否精华

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

@ -14,6 +14,7 @@ VITE_ALLOW_PHONE_BIND=true
# 局部参数
VITE_DEFAULT_TWEET_VISIBILITY=friend
VITE_DEFAULT_TWEET_MAX_LENGTH=300
VITE_COPYRIGHT_TOP="2023 paopao.info"
VITE_COPYRIGHT_LEFT="Roc's Me"
VITE_COPYRIGHT_LEFT_LINK=""

@ -0,0 +1 @@
.wrap404[data-v-e62daa85]{min-height:500px;display:flex;align-items:center;justify-content:center}.dark .main-content-wra[data-v-e62daa85]{background-color:#101014bf}

@ -1 +0,0 @@
.wrap404[data-v-b082cc88]{min-height:500px;display:flex;align-items:center;justify-content:center}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,4 +1,8 @@
import{k as M,cE as O,cF as u,m as f,c as P,f as i,e as E,cA as N,b as V,d as D,u as G,x as H,i as K,y as $,cd as q,z as a,A as J,r as Q,h as l,b7 as U,cG as X,L as Y,B as Z,cx as oo,N as eo,cu as ro,an as no,cv as so,ct as lo}from"./index-c17d3913.js";const to=r=>{const{lineHeight:e,borderRadius:d,fontWeightStrong:b,baseColor:t,dividerColor:v,actionColor:S,textColor1:g,textColor2:s,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,infoColor:o,successColor:I,warningColor:x,errorColor:z,fontSize:T}=r;return Object.assign(Object.assign({},O),{fontSize:T,lineHeight:e,titleFontWeight:b,borderRadius:d,border:`1px solid ${v}`,color:S,titleTextColor:g,iconColor:s,contentTextColor:s,closeBorderRadius:d,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,borderInfo:`1px solid ${u(t,f(o,{alpha:.25}))}`,colorInfo:u(t,f(o,{alpha:.08})),titleTextColorInfo:g,iconColorInfo:o,contentTextColorInfo:s,closeColorHoverInfo:h,closeColorPressedInfo:C,closeIconColorInfo:m,closeIconColorHoverInfo:p,closeIconColorPressedInfo:n,borderSuccess:`1px solid ${u(t,f(I,{alpha:.25}))}`,colorSuccess:u(t,f(I,{alpha:.08})),titleTextColorSuccess:g,iconColorSuccess:I,contentTextColorSuccess:s,closeColorHoverSuccess:h,closeColorPressedSuccess:C,closeIconColorSuccess:m,closeIconColorHoverSuccess:p,closeIconColorPressedSuccess:n,borderWarning:`1px solid ${u(t,f(x,{alpha:.33}))}`,colorWarning:u(t,f(x,{alpha:.08})),titleTextColorWarning:g,iconColorWarning:x,contentTextColorWarning:s,closeColorHoverWarning:h,closeColorPressedWarning:C,closeIconColorWarning:m,closeIconColorHoverWarning:p,closeIconColorPressedWarning:n,borderError:`1px solid ${u(t,f(z,{alpha:.25}))}`,colorError:u(t,f(z,{alpha:.08})),titleTextColorError:g,iconColorError:z,contentTextColorError:s,closeColorHoverError:h,closeColorPressedError:C,closeIconColorError:m,closeIconColorHoverError:p,closeIconColorPressedError:n})},io={name:"Alert",common:M,self:to},co=io,ao=P("alert",`
<<<<<<<< HEAD:web/dist/assets/Alert-f1e64ed3.js
import{k as M,cE as O,cF as u,m as f,c as P,f as i,e as E,cA as N,b as V,d as D,u as G,x as H,j as K,y as $,cf as q,z as a,A as J,r as Q,h as l,b7 as U,cG as X,L as Y,N as Z,cu as oo,an as eo,cv as ro,ct as no,B as so,cx as lo}from"./index-dfd5495a.js";const to=r=>{const{lineHeight:e,borderRadius:d,fontWeightStrong:b,baseColor:t,dividerColor:v,actionColor:S,textColor1:g,textColor2:s,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,infoColor:o,successColor:I,warningColor:x,errorColor:z,fontSize:T}=r;return Object.assign(Object.assign({},O),{fontSize:T,lineHeight:e,titleFontWeight:b,borderRadius:d,border:`1px solid ${v}`,color:S,titleTextColor:g,iconColor:s,contentTextColor:s,closeBorderRadius:d,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,borderInfo:`1px solid ${u(t,f(o,{alpha:.25}))}`,colorInfo:u(t,f(o,{alpha:.08})),titleTextColorInfo:g,iconColorInfo:o,contentTextColorInfo:s,closeColorHoverInfo:h,closeColorPressedInfo:C,closeIconColorInfo:m,closeIconColorHoverInfo:p,closeIconColorPressedInfo:n,borderSuccess:`1px solid ${u(t,f(I,{alpha:.25}))}`,colorSuccess:u(t,f(I,{alpha:.08})),titleTextColorSuccess:g,iconColorSuccess:I,contentTextColorSuccess:s,closeColorHoverSuccess:h,closeColorPressedSuccess:C,closeIconColorSuccess:m,closeIconColorHoverSuccess:p,closeIconColorPressedSuccess:n,borderWarning:`1px solid ${u(t,f(x,{alpha:.33}))}`,colorWarning:u(t,f(x,{alpha:.08})),titleTextColorWarning:g,iconColorWarning:x,contentTextColorWarning:s,closeColorHoverWarning:h,closeColorPressedWarning:C,closeIconColorWarning:m,closeIconColorHoverWarning:p,closeIconColorPressedWarning:n,borderError:`1px solid ${u(t,f(z,{alpha:.25}))}`,colorError:u(t,f(z,{alpha:.08})),titleTextColorError:g,iconColorError:z,contentTextColorError:s,closeColorHoverError:h,closeColorPressedError:C,closeIconColorError:m,closeIconColorHoverError:p,closeIconColorPressedError:n})},io={name:"Alert",common:M,self:to},co=io,ao=P("alert",`
========
import{k as M,cE as O,cF as u,m as f,c as P,f as i,e as E,cA as N,b as V,d as D,u as G,x as H,j as K,y as $,cf as q,z as a,A as J,r as Q,h as l,b7 as U,cG as X,L as Y,N as Z,cu as oo,an as eo,cv as ro,ct as no,B as so,cx as lo}from"./index-eae02f93.js";const to=r=>{const{lineHeight:e,borderRadius:d,fontWeightStrong:b,baseColor:t,dividerColor:v,actionColor:S,textColor1:g,textColor2:s,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,infoColor:o,successColor:I,warningColor:x,errorColor:z,fontSize:T}=r;return Object.assign(Object.assign({},O),{fontSize:T,lineHeight:e,titleFontWeight:b,borderRadius:d,border:`1px solid ${v}`,color:S,titleTextColor:g,iconColor:s,contentTextColor:s,closeBorderRadius:d,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,borderInfo:`1px solid ${u(t,f(o,{alpha:.25}))}`,colorInfo:u(t,f(o,{alpha:.08})),titleTextColorInfo:g,iconColorInfo:o,contentTextColorInfo:s,closeColorHoverInfo:h,closeColorPressedInfo:C,closeIconColorInfo:m,closeIconColorHoverInfo:p,closeIconColorPressedInfo:n,borderSuccess:`1px solid ${u(t,f(I,{alpha:.25}))}`,colorSuccess:u(t,f(I,{alpha:.08})),titleTextColorSuccess:g,iconColorSuccess:I,contentTextColorSuccess:s,closeColorHoverSuccess:h,closeColorPressedSuccess:C,closeIconColorSuccess:m,closeIconColorHoverSuccess:p,closeIconColorPressedSuccess:n,borderWarning:`1px solid ${u(t,f(x,{alpha:.33}))}`,colorWarning:u(t,f(x,{alpha:.08})),titleTextColorWarning:g,iconColorWarning:x,contentTextColorWarning:s,closeColorHoverWarning:h,closeColorPressedWarning:C,closeIconColorWarning:m,closeIconColorHoverWarning:p,closeIconColorPressedWarning:n,borderError:`1px solid ${u(t,f(z,{alpha:.25}))}`,colorError:u(t,f(z,{alpha:.08})),titleTextColorError:g,iconColorError:z,contentTextColorError:s,closeColorHoverError:h,closeColorPressedError:C,closeIconColorError:m,closeIconColorHoverError:p,closeIconColorPressedError:n})},io={name:"Alert",common:M,self:to},co=io,ao=P("alert",`
>>>>>>>> rocboss-dev:web/dist/assets/Alert-6350fa6b.js
line-height: var(--n-line-height);
border-radius: var(--n-border-radius);
position: relative;
@ -45,4 +49,4 @@ import{k as M,cE as O,cF as u,m as f,c as P,f as i,e as E,cA as N,b as V,d as D,
font-size: 16px;
line-height: 19px;
font-weight: var(--n-title-font-weight);
`,[V("& +",[i("content",{marginTop:"9px"})])]),i("content",{transition:"color .3s var(--n-bezier)",fontSize:"var(--n-font-size)"})]),i("icon",{transition:"color .3s var(--n-bezier)"})]),go=Object.assign(Object.assign({},H.props),{title:String,showIcon:{type:Boolean,default:!0},type:{type:String,default:"default"},bordered:{type:Boolean,default:!0},closable:Boolean,onClose:Function,onAfterLeave:Function,onAfterHide:Function}),uo=D({name:"Alert",inheritAttrs:!1,props:go,setup(r){const{mergedClsPrefixRef:e,mergedBorderedRef:d,inlineThemeDisabled:b,mergedRtlRef:t}=G(r),v=H("Alert","-alert",ao,co,r,e),S=K("Alert",t,e),g=$(()=>{const{common:{cubicBezierEaseInOut:n},self:o}=v.value,{fontSize:I,borderRadius:x,titleFontWeight:z,lineHeight:T,iconSize:R,iconMargin:y,iconMarginRtl:_,closeIconSize:A,closeBorderRadius:W,closeSize:w,closeMargin:B,closeMarginRtl:L,padding:k}=o,{type:c}=r,{left:F,right:j}=q(y);return{"--n-bezier":n,"--n-color":o[a("color",c)],"--n-close-icon-size":A,"--n-close-border-radius":W,"--n-close-color-hover":o[a("closeColorHover",c)],"--n-close-color-pressed":o[a("closeColorPressed",c)],"--n-close-icon-color":o[a("closeIconColor",c)],"--n-close-icon-color-hover":o[a("closeIconColorHover",c)],"--n-close-icon-color-pressed":o[a("closeIconColorPressed",c)],"--n-icon-color":o[a("iconColor",c)],"--n-border":o[a("border",c)],"--n-title-text-color":o[a("titleTextColor",c)],"--n-content-text-color":o[a("contentTextColor",c)],"--n-line-height":T,"--n-border-radius":x,"--n-font-size":I,"--n-title-font-weight":z,"--n-icon-size":R,"--n-icon-margin":y,"--n-icon-margin-rtl":_,"--n-close-size":w,"--n-close-margin":B,"--n-close-margin-rtl":L,"--n-padding":k,"--n-icon-margin-left":F,"--n-icon-margin-right":j}}),s=b?J("alert",$(()=>r.type[0]),g,r):void 0,h=Q(!0),C=()=>{const{onAfterLeave:n,onAfterHide:o}=r;n&&n(),o&&o()};return{rtlEnabled:S,mergedClsPrefix:e,mergedBordered:d,visible:h,handleCloseClick:()=>{var n;Promise.resolve((n=r.onClose)===null||n===void 0?void 0:n.call(r)).then(o=>{o!==!1&&(h.value=!1)})},handleAfterLeave:()=>{C()},mergedTheme:v,cssVars:b?void 0:g,themeClass:s==null?void 0:s.themeClass,onRender:s==null?void 0:s.onRender}},render(){var r;return(r=this.onRender)===null||r===void 0||r.call(this),l(oo,{onAfterLeave:this.handleAfterLeave},{default:()=>{const{mergedClsPrefix:e,$slots:d}=this,b={class:[`${e}-alert`,this.themeClass,this.closable&&`${e}-alert--closable`,this.showIcon&&`${e}-alert--show-icon`,this.rtlEnabled&&`${e}-alert--rtl`],style:this.cssVars,role:"alert"};return this.visible?l("div",Object.assign({},U(this.$attrs,b)),this.closable&&l(X,{clsPrefix:e,class:`${e}-alert__close`,onClick:this.handleCloseClick}),this.bordered&&l("div",{class:`${e}-alert__border`}),this.showIcon&&l("div",{class:`${e}-alert__icon`,"aria-hidden":"true"},Y(d.icon,()=>[l(eo,{clsPrefix:e},{default:()=>{switch(this.type){case"success":return l(lo,null);case"info":return l(so,null);case"warning":return l(no,null);case"error":return l(ro,null);default:return null}}})])),l("div",{class:[`${e}-alert-body`,this.mergedBordered&&`${e}-alert-body--bordered`]},Z(d.header,t=>{const v=t||this.title;return v?l("div",{class:`${e}-alert-body__title`},v):null}),d.default&&l("div",{class:`${e}-alert-body__content`},d))):null}})}});export{uo as _};
`,[V("& +",[i("content",{marginTop:"9px"})])]),i("content",{transition:"color .3s var(--n-bezier)",fontSize:"var(--n-font-size)"})]),i("icon",{transition:"color .3s var(--n-bezier)"})]),go=Object.assign(Object.assign({},H.props),{title:String,showIcon:{type:Boolean,default:!0},type:{type:String,default:"default"},bordered:{type:Boolean,default:!0},closable:Boolean,onClose:Function,onAfterLeave:Function,onAfterHide:Function}),uo=D({name:"Alert",inheritAttrs:!1,props:go,setup(r){const{mergedClsPrefixRef:e,mergedBorderedRef:d,inlineThemeDisabled:b,mergedRtlRef:t}=G(r),v=H("Alert","-alert",ao,co,r,e),S=K("Alert",t,e),g=$(()=>{const{common:{cubicBezierEaseInOut:n},self:o}=v.value,{fontSize:I,borderRadius:x,titleFontWeight:z,lineHeight:T,iconSize:R,iconMargin:y,iconMarginRtl:_,closeIconSize:A,closeBorderRadius:W,closeSize:w,closeMargin:B,closeMarginRtl:L,padding:k}=o,{type:c}=r,{left:j,right:F}=q(y);return{"--n-bezier":n,"--n-color":o[a("color",c)],"--n-close-icon-size":A,"--n-close-border-radius":W,"--n-close-color-hover":o[a("closeColorHover",c)],"--n-close-color-pressed":o[a("closeColorPressed",c)],"--n-close-icon-color":o[a("closeIconColor",c)],"--n-close-icon-color-hover":o[a("closeIconColorHover",c)],"--n-close-icon-color-pressed":o[a("closeIconColorPressed",c)],"--n-icon-color":o[a("iconColor",c)],"--n-border":o[a("border",c)],"--n-title-text-color":o[a("titleTextColor",c)],"--n-content-text-color":o[a("contentTextColor",c)],"--n-line-height":T,"--n-border-radius":x,"--n-font-size":I,"--n-title-font-weight":z,"--n-icon-size":R,"--n-icon-margin":y,"--n-icon-margin-rtl":_,"--n-close-size":w,"--n-close-margin":B,"--n-close-margin-rtl":L,"--n-padding":k,"--n-icon-margin-left":j,"--n-icon-margin-right":F}}),s=b?J("alert",$(()=>r.type[0]),g,r):void 0,h=Q(!0),C=()=>{const{onAfterLeave:n,onAfterHide:o}=r;n&&n(),o&&o()};return{rtlEnabled:S,mergedClsPrefix:e,mergedBordered:d,visible:h,handleCloseClick:()=>{var n;Promise.resolve((n=r.onClose)===null||n===void 0?void 0:n.call(r)).then(o=>{o!==!1&&(h.value=!1)})},handleAfterLeave:()=>{C()},mergedTheme:v,cssVars:b?void 0:g,themeClass:s==null?void 0:s.themeClass,onRender:s==null?void 0:s.onRender}},render(){var r;return(r=this.onRender)===null||r===void 0||r.call(this),l(lo,{onAfterLeave:this.handleAfterLeave},{default:()=>{const{mergedClsPrefix:e,$slots:d}=this,b={class:[`${e}-alert`,this.themeClass,this.closable&&`${e}-alert--closable`,this.showIcon&&`${e}-alert--show-icon`,this.rtlEnabled&&`${e}-alert--rtl`],style:this.cssVars,role:"alert"};return this.visible?l("div",Object.assign({},U(this.$attrs,b)),this.closable&&l(X,{clsPrefix:e,class:`${e}-alert__close`,onClick:this.handleCloseClick}),this.bordered&&l("div",{class:`${e}-alert__border`}),this.showIcon&&l("div",{class:`${e}-alert__icon`,"aria-hidden":"true"},Y(d.icon,()=>[l(Z,{clsPrefix:e},{default:()=>{switch(this.type){case"success":return l(no,null);case"info":return l(ro,null);case"warning":return l(eo,null);case"error":return l(oo,null);default:return null}}})])),l("div",{class:[`${e}-alert-body`,this.mergedBordered&&`${e}-alert-body--bordered`]},so(d.header,t=>{const v=t||this.title;return v?l("div",{class:`${e}-alert-body__title`},v):null}),d.default&&l("div",{class:`${e}-alert-body__content`},d))):null}})}});export{uo as _};

@ -0,0 +1,52 @@
<<<<<<<< HEAD:web/dist/assets/Alert-f1e64ed3.js
import{k as M,cE as O,cF as u,m as f,c as P,f as i,e as E,cA as N,b as V,d as D,u as G,x as H,j as K,y as $,cf as q,z as a,A as J,r as Q,h as l,b7 as U,cG as X,L as Y,N as Z,cu as oo,an as eo,cv as ro,ct as no,B as so,cx as lo}from"./index-dfd5495a.js";const to=r=>{const{lineHeight:e,borderRadius:d,fontWeightStrong:b,baseColor:t,dividerColor:v,actionColor:S,textColor1:g,textColor2:s,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,infoColor:o,successColor:I,warningColor:x,errorColor:z,fontSize:T}=r;return Object.assign(Object.assign({},O),{fontSize:T,lineHeight:e,titleFontWeight:b,borderRadius:d,border:`1px solid ${v}`,color:S,titleTextColor:g,iconColor:s,contentTextColor:s,closeBorderRadius:d,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,borderInfo:`1px solid ${u(t,f(o,{alpha:.25}))}`,colorInfo:u(t,f(o,{alpha:.08})),titleTextColorInfo:g,iconColorInfo:o,contentTextColorInfo:s,closeColorHoverInfo:h,closeColorPressedInfo:C,closeIconColorInfo:m,closeIconColorHoverInfo:p,closeIconColorPressedInfo:n,borderSuccess:`1px solid ${u(t,f(I,{alpha:.25}))}`,colorSuccess:u(t,f(I,{alpha:.08})),titleTextColorSuccess:g,iconColorSuccess:I,contentTextColorSuccess:s,closeColorHoverSuccess:h,closeColorPressedSuccess:C,closeIconColorSuccess:m,closeIconColorHoverSuccess:p,closeIconColorPressedSuccess:n,borderWarning:`1px solid ${u(t,f(x,{alpha:.33}))}`,colorWarning:u(t,f(x,{alpha:.08})),titleTextColorWarning:g,iconColorWarning:x,contentTextColorWarning:s,closeColorHoverWarning:h,closeColorPressedWarning:C,closeIconColorWarning:m,closeIconColorHoverWarning:p,closeIconColorPressedWarning:n,borderError:`1px solid ${u(t,f(z,{alpha:.25}))}`,colorError:u(t,f(z,{alpha:.08})),titleTextColorError:g,iconColorError:z,contentTextColorError:s,closeColorHoverError:h,closeColorPressedError:C,closeIconColorError:m,closeIconColorHoverError:p,closeIconColorPressedError:n})},io={name:"Alert",common:M,self:to},co=io,ao=P("alert",`
========
import{k as M,cE as O,cF as u,m as f,c as P,f as i,e as E,cA as N,b as V,d as D,u as G,x as H,j as K,y as $,cf as q,z as a,A as J,r as Q,h as l,b7 as U,cG as X,L as Y,N as Z,cu as oo,an as eo,cv as ro,ct as no,B as so,cx as lo}from"./index-eae02f93.js";const to=r=>{const{lineHeight:e,borderRadius:d,fontWeightStrong:b,baseColor:t,dividerColor:v,actionColor:S,textColor1:g,textColor2:s,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,infoColor:o,successColor:I,warningColor:x,errorColor:z,fontSize:T}=r;return Object.assign(Object.assign({},O),{fontSize:T,lineHeight:e,titleFontWeight:b,borderRadius:d,border:`1px solid ${v}`,color:S,titleTextColor:g,iconColor:s,contentTextColor:s,closeBorderRadius:d,closeColorHover:h,closeColorPressed:C,closeIconColor:m,closeIconColorHover:p,closeIconColorPressed:n,borderInfo:`1px solid ${u(t,f(o,{alpha:.25}))}`,colorInfo:u(t,f(o,{alpha:.08})),titleTextColorInfo:g,iconColorInfo:o,contentTextColorInfo:s,closeColorHoverInfo:h,closeColorPressedInfo:C,closeIconColorInfo:m,closeIconColorHoverInfo:p,closeIconColorPressedInfo:n,borderSuccess:`1px solid ${u(t,f(I,{alpha:.25}))}`,colorSuccess:u(t,f(I,{alpha:.08})),titleTextColorSuccess:g,iconColorSuccess:I,contentTextColorSuccess:s,closeColorHoverSuccess:h,closeColorPressedSuccess:C,closeIconColorSuccess:m,closeIconColorHoverSuccess:p,closeIconColorPressedSuccess:n,borderWarning:`1px solid ${u(t,f(x,{alpha:.33}))}`,colorWarning:u(t,f(x,{alpha:.08})),titleTextColorWarning:g,iconColorWarning:x,contentTextColorWarning:s,closeColorHoverWarning:h,closeColorPressedWarning:C,closeIconColorWarning:m,closeIconColorHoverWarning:p,closeIconColorPressedWarning:n,borderError:`1px solid ${u(t,f(z,{alpha:.25}))}`,colorError:u(t,f(z,{alpha:.08})),titleTextColorError:g,iconColorError:z,contentTextColorError:s,closeColorHoverError:h,closeColorPressedError:C,closeIconColorError:m,closeIconColorHoverError:p,closeIconColorPressedError:n})},io={name:"Alert",common:M,self:to},co=io,ao=P("alert",`
>>>>>>>> rocboss-dev:web/dist/assets/Alert-6350fa6b.js
line-height: var(--n-line-height);
border-radius: var(--n-border-radius);
position: relative;
transition: background-color .3s var(--n-bezier);
background-color: var(--n-color);
text-align: start;
word-break: break-word;
`,[i("border",`
border-radius: inherit;
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
transition: border-color .3s var(--n-bezier);
border: var(--n-border);
pointer-events: none;
`),E("closable",[P("alert-body",[i("title",`
padding-right: 24px;
`)])]),i("icon",{color:"var(--n-icon-color)"}),P("alert-body",{padding:"var(--n-padding)"},[i("title",{color:"var(--n-title-text-color)"}),i("content",{color:"var(--n-content-text-color)"})]),N({originalTransition:"transform .3s var(--n-bezier)",enterToProps:{transform:"scale(1)"},leaveToProps:{transform:"scale(0.9)"}}),i("icon",`
position: absolute;
left: 0;
top: 0;
align-items: center;
justify-content: center;
display: flex;
width: var(--n-icon-size);
height: var(--n-icon-size);
font-size: var(--n-icon-size);
margin: var(--n-icon-margin);
`),i("close",`
transition:
color .3s var(--n-bezier),
background-color .3s var(--n-bezier);
position: absolute;
right: 0;
top: 0;
margin: var(--n-close-margin);
`),E("show-icon",[P("alert-body",{paddingLeft:"calc(var(--n-icon-margin-left) + var(--n-icon-size) + var(--n-icon-margin-right))"})]),P("alert-body",`
border-radius: var(--n-border-radius);
transition: border-color .3s var(--n-bezier);
`,[i("title",`
transition: color .3s var(--n-bezier);
font-size: 16px;
line-height: 19px;
font-weight: var(--n-title-font-weight);
`,[V("& +",[i("content",{marginTop:"9px"})])]),i("content",{transition:"color .3s var(--n-bezier)",fontSize:"var(--n-font-size)"})]),i("icon",{transition:"color .3s var(--n-bezier)"})]),go=Object.assign(Object.assign({},H.props),{title:String,showIcon:{type:Boolean,default:!0},type:{type:String,default:"default"},bordered:{type:Boolean,default:!0},closable:Boolean,onClose:Function,onAfterLeave:Function,onAfterHide:Function}),uo=D({name:"Alert",inheritAttrs:!1,props:go,setup(r){const{mergedClsPrefixRef:e,mergedBorderedRef:d,inlineThemeDisabled:b,mergedRtlRef:t}=G(r),v=H("Alert","-alert",ao,co,r,e),S=K("Alert",t,e),g=$(()=>{const{common:{cubicBezierEaseInOut:n},self:o}=v.value,{fontSize:I,borderRadius:x,titleFontWeight:z,lineHeight:T,iconSize:R,iconMargin:y,iconMarginRtl:_,closeIconSize:A,closeBorderRadius:W,closeSize:w,closeMargin:B,closeMarginRtl:L,padding:k}=o,{type:c}=r,{left:j,right:F}=q(y);return{"--n-bezier":n,"--n-color":o[a("color",c)],"--n-close-icon-size":A,"--n-close-border-radius":W,"--n-close-color-hover":o[a("closeColorHover",c)],"--n-close-color-pressed":o[a("closeColorPressed",c)],"--n-close-icon-color":o[a("closeIconColor",c)],"--n-close-icon-color-hover":o[a("closeIconColorHover",c)],"--n-close-icon-color-pressed":o[a("closeIconColorPressed",c)],"--n-icon-color":o[a("iconColor",c)],"--n-border":o[a("border",c)],"--n-title-text-color":o[a("titleTextColor",c)],"--n-content-text-color":o[a("contentTextColor",c)],"--n-line-height":T,"--n-border-radius":x,"--n-font-size":I,"--n-title-font-weight":z,"--n-icon-size":R,"--n-icon-margin":y,"--n-icon-margin-rtl":_,"--n-close-size":w,"--n-close-margin":B,"--n-close-margin-rtl":L,"--n-padding":k,"--n-icon-margin-left":j,"--n-icon-margin-right":F}}),s=b?J("alert",$(()=>r.type[0]),g,r):void 0,h=Q(!0),C=()=>{const{onAfterLeave:n,onAfterHide:o}=r;n&&n(),o&&o()};return{rtlEnabled:S,mergedClsPrefix:e,mergedBordered:d,visible:h,handleCloseClick:()=>{var n;Promise.resolve((n=r.onClose)===null||n===void 0?void 0:n.call(r)).then(o=>{o!==!1&&(h.value=!1)})},handleAfterLeave:()=>{C()},mergedTheme:v,cssVars:b?void 0:g,themeClass:s==null?void 0:s.themeClass,onRender:s==null?void 0:s.onRender}},render(){var r;return(r=this.onRender)===null||r===void 0||r.call(this),l(lo,{onAfterLeave:this.handleAfterLeave},{default:()=>{const{mergedClsPrefix:e,$slots:d}=this,b={class:[`${e}-alert`,this.themeClass,this.closable&&`${e}-alert--closable`,this.showIcon&&`${e}-alert--show-icon`,this.rtlEnabled&&`${e}-alert--rtl`],style:this.cssVars,role:"alert"};return this.visible?l("div",Object.assign({},U(this.$attrs,b)),this.closable&&l(X,{clsPrefix:e,class:`${e}-alert__close`,onClick:this.handleCloseClick}),this.bordered&&l("div",{class:`${e}-alert__border`}),this.showIcon&&l("div",{class:`${e}-alert__icon`,"aria-hidden":"true"},Y(d.icon,()=>[l(Z,{clsPrefix:e},{default:()=>{switch(this.type){case"success":return l(no,null);case"info":return l(ro,null);case"warning":return l(eo,null);case"error":return l(oo,null);default:return null}}})])),l("div",{class:[`${e}-alert-body`,this.mergedBordered&&`${e}-alert-body--bordered`]},so(d.header,t=>{const v=t||this.title;return v?l("div",{class:`${e}-alert-body__title`},v):null}),d.default&&l("div",{class:`${e}-alert-body__content`},d))):null}})}});export{uo as _};

@ -0,0 +1,5 @@
<<<<<<<< HEAD:web/dist/assets/Anouncement-362c2a8b.js
import{_ as N}from"./post-skeleton-445c3b83.js";import{_ as z}from"./main-nav.vue_vue_type_style_index_0_lang-750a5968.js";import{d as A,r as o,a2 as R,Y as t,a4 as a,a5 as c,ai as S,W as n,a3 as l,a7 as m,ab as V,ac as F,$ as P,a6 as $,Z as s,aa as _,b3 as q,al as D}from"./index-dfd5495a.js";import{a as E}from"./formatTime-0c777b4d.js";import{_ as I}from"./List-872c113a.js";import{_ as L}from"./Pagination-35c2dd8e.js";import{a as M,_ as O}from"./Skeleton-6c42d34d.js";const T={key:0,class:"pagination-wrap"},U={key:0,class:"skeleton-wrap"},W={key:1},Y={key:0,class:"empty-wrap"},Z={class:"bill-line"},j=A({__name:"Anouncement",setup(G){const d=P(),g=S(),v=o(!1),p=o([]),u=o(+g.query.p||1),f=o(20),i=o(0),h=r=>{u.value=r};return R(()=>{}),(r,H)=>{const y=z,k=L,x=N,w=M,B=O,C=I;return n(),t("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:c(()=>[i.value>1?(n(),t("div",T,[a(k,{page:u.value,"onUpdate:page":h,"page-slot":l(d).state.collapsedRight?5:8,"page-count":i.value},null,8,["page","page-slot","page-count"])])):m("",!0)]),default:c(()=>[v.value?(n(),t("div",U,[a(x,{num:f.value},null,8,["num"])])):(n(),t("div",W,[p.value.length===0?(n(),t("div",Y,[a(w,{size:"large",description:"暂无数据"})])):m("",!0),(n(!0),t(V,null,F(p.value,e=>(n(),$(B,{key:e.id},{default:c(()=>[s("div",Z,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:q({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(l(E)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const te=D(j,[["__scopeId","data-v-d4d04859"]]);export{te as default};
========
import{_ as N}from"./post-skeleton-29cd9db3.js";import{_ as z}from"./main-nav.vue_vue_type_style_index_0_lang-2ea8aeac.js";import{d as A,r as o,a2 as R,Y as t,a4 as a,a5 as c,ai as S,W as n,a3 as l,a7 as m,ab as V,ac as F,$ as P,a6 as $,Z as s,aa as _,b3 as q,al as D}from"./index-eae02f93.js";import{a as E}from"./formatTime-0c777b4d.js";import{_ as I}from"./List-b09cb39c.js";import{_ as L}from"./Pagination-043db1ee.js";import{a as M,_ as O}from"./Skeleton-bc67cca6.js";const T={key:0,class:"pagination-wrap"},U={key:0,class:"skeleton-wrap"},W={key:1},Y={key:0,class:"empty-wrap"},Z={class:"bill-line"},j=A({__name:"Anouncement",setup(G){const d=P(),g=S(),v=o(!1),p=o([]),u=o(+g.query.p||1),f=o(20),i=o(0),h=r=>{u.value=r};return R(()=>{}),(r,H)=>{const y=z,k=L,x=N,w=M,B=O,C=I;return n(),t("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:c(()=>[i.value>1?(n(),t("div",T,[a(k,{page:u.value,"onUpdate:page":h,"page-slot":l(d).state.collapsedRight?5:8,"page-count":i.value},null,8,["page","page-slot","page-count"])])):m("",!0)]),default:c(()=>[v.value?(n(),t("div",U,[a(x,{num:f.value},null,8,["num"])])):(n(),t("div",W,[p.value.length===0?(n(),t("div",Y,[a(w,{size:"large",description:"暂无数据"})])):m("",!0),(n(!0),t(V,null,F(p.value,e=>(n(),$(B,{key:e.id},{default:c(()=>[s("div",Z,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:q({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(l(E)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const te=D(j,[["__scopeId","data-v-d4d04859"]]);export{te as default};
>>>>>>>> rocboss-dev:web/dist/assets/Anouncement-b213c520.js

@ -0,0 +1,5 @@
<<<<<<<< HEAD:web/dist/assets/Anouncement-362c2a8b.js
import{_ as N}from"./post-skeleton-445c3b83.js";import{_ as z}from"./main-nav.vue_vue_type_style_index_0_lang-750a5968.js";import{d as A,r as o,a2 as R,Y as t,a4 as a,a5 as c,ai as S,W as n,a3 as l,a7 as m,ab as V,ac as F,$ as P,a6 as $,Z as s,aa as _,b3 as q,al as D}from"./index-dfd5495a.js";import{a as E}from"./formatTime-0c777b4d.js";import{_ as I}from"./List-872c113a.js";import{_ as L}from"./Pagination-35c2dd8e.js";import{a as M,_ as O}from"./Skeleton-6c42d34d.js";const T={key:0,class:"pagination-wrap"},U={key:0,class:"skeleton-wrap"},W={key:1},Y={key:0,class:"empty-wrap"},Z={class:"bill-line"},j=A({__name:"Anouncement",setup(G){const d=P(),g=S(),v=o(!1),p=o([]),u=o(+g.query.p||1),f=o(20),i=o(0),h=r=>{u.value=r};return R(()=>{}),(r,H)=>{const y=z,k=L,x=N,w=M,B=O,C=I;return n(),t("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:c(()=>[i.value>1?(n(),t("div",T,[a(k,{page:u.value,"onUpdate:page":h,"page-slot":l(d).state.collapsedRight?5:8,"page-count":i.value},null,8,["page","page-slot","page-count"])])):m("",!0)]),default:c(()=>[v.value?(n(),t("div",U,[a(x,{num:f.value},null,8,["num"])])):(n(),t("div",W,[p.value.length===0?(n(),t("div",Y,[a(w,{size:"large",description:"暂无数据"})])):m("",!0),(n(!0),t(V,null,F(p.value,e=>(n(),$(B,{key:e.id},{default:c(()=>[s("div",Z,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:q({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(l(E)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const te=D(j,[["__scopeId","data-v-d4d04859"]]);export{te as default};
========
import{_ as N}from"./post-skeleton-29cd9db3.js";import{_ as z}from"./main-nav.vue_vue_type_style_index_0_lang-2ea8aeac.js";import{d as A,r as o,a2 as R,Y as t,a4 as a,a5 as c,ai as S,W as n,a3 as l,a7 as m,ab as V,ac as F,$ as P,a6 as $,Z as s,aa as _,b3 as q,al as D}from"./index-eae02f93.js";import{a as E}from"./formatTime-0c777b4d.js";import{_ as I}from"./List-b09cb39c.js";import{_ as L}from"./Pagination-043db1ee.js";import{a as M,_ as O}from"./Skeleton-bc67cca6.js";const T={key:0,class:"pagination-wrap"},U={key:0,class:"skeleton-wrap"},W={key:1},Y={key:0,class:"empty-wrap"},Z={class:"bill-line"},j=A({__name:"Anouncement",setup(G){const d=P(),g=S(),v=o(!1),p=o([]),u=o(+g.query.p||1),f=o(20),i=o(0),h=r=>{u.value=r};return R(()=>{}),(r,H)=>{const y=z,k=L,x=N,w=M,B=O,C=I;return n(),t("div",null,[a(y,{title:"公告"}),a(C,{class:"main-content-wrap",bordered:""},{footer:c(()=>[i.value>1?(n(),t("div",T,[a(k,{page:u.value,"onUpdate:page":h,"page-slot":l(d).state.collapsedRight?5:8,"page-count":i.value},null,8,["page","page-slot","page-count"])])):m("",!0)]),default:c(()=>[v.value?(n(),t("div",U,[a(x,{num:f.value},null,8,["num"])])):(n(),t("div",W,[p.value.length===0?(n(),t("div",Y,[a(w,{size:"large",description:"暂无数据"})])):m("",!0),(n(!0),t(V,null,F(p.value,e=>(n(),$(B,{key:e.id},{default:c(()=>[s("div",Z,[s("div",null,"NO."+_(e.id),1),s("div",null,_(e.reason),1),s("div",{class:q({income:e.change_amount>=0,out:e.change_amount<0})},_((e.change_amount>0?"+":"")+(e.change_amount/100).toFixed(2)),3),s("div",null,_(l(E)(e.created_on)),1)])]),_:2},1024))),128))]))]),_:1})])}}});const te=D(j,[["__scopeId","data-v-d4d04859"]]);export{te as default};
>>>>>>>> rocboss-dev:web/dist/assets/Anouncement-b213c520.js

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

@ -1 +0,0 @@
.pagination-wrap[data-v-69c01585]{padding:10px;display:flex;justify-content:center;overflow:hidden}

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

@ -0,0 +1 @@
import{_ as b}from"./post-item.vue_vue_type_style_index_0_lang-8c8699fb.js";import{_ as z}from"./post-skeleton-445c3b83.js";import{_ as B}from"./main-nav.vue_vue_type_style_index_0_lang-750a5968.js";import{d as P,r as n,a2 as R,Y as o,a4 as a,a5 as r,a3 as $,a7 as m,ai as M,bn as N,W as e,ab as S,ac as V,$ as q,ak as E,a6 as F,al as I}from"./index-dfd5495a.js";import{_ as L}from"./List-872c113a.js";import{_ as T}from"./Pagination-35c2dd8e.js";import{a as U,_ as W}from"./Skeleton-6c42d34d.js";import"./content-91421e79.js";import"./formatTime-0c777b4d.js";import"./Thing-7c7318d4.js";const Y={key:0,class:"skeleton-wrap"},j={key:1},A={key:0,class:"empty-wrap"},D={key:0,class:"pagination-wrap"},G=P({__name:"Collection",setup(H){const d=q(),g=M();E();const s=n(!1),_=n([]),l=n(+g.query.p||1),c=n(20),p=n(0),i=()=>{s.value=!0,N({page:l.value,page_size:c.value}).then(t=>{s.value=!1,_.value=t.list,p.value=Math.ceil(t.pager.total_rows/c.value),window.scrollTo(0,0)}).catch(t=>{s.value=!1})},v=t=>{l.value=t,i()};return R(()=>{i()}),(t,J)=>{const f=B,h=z,k=U,y=b,w=W,C=L,x=T;return e(),o("div",null,[a(f,{title:"收藏"}),a(C,{class:"main-content-wrap",bordered:""},{default:r(()=>[s.value?(e(),o("div",Y,[a(h,{num:c.value},null,8,["num"])])):(e(),o("div",j,[_.value.length===0?(e(),o("div",A,[a(k,{size:"large",description:"暂无数据"})])):m("",!0),(e(!0),o(S,null,V(_.value,u=>(e(),F(w,{key:u.id},{default:r(()=>[a(y,{post:u},null,8,["post"])]),_:2},1024))),128))]))]),_:1}),p.value>0?(e(),o("div",D,[a(x,{page:l.value,"onUpdate:page":v,"page-slot":$(d).state.collapsedRight?5:8,"page-count":p.value},null,8,["page","page-slot","page-count"])])):m("",!0)])}}});const se=I(G,[["__scopeId","data-v-1e709369"]]);export{se as default};

@ -1 +0,0 @@
import{_ as b}from"./post-item.vue_vue_type_style_index_0_lang-ce942869.js";import{_ as z}from"./post-skeleton-40e81755.js";import{_ as B}from"./main-nav.vue_vue_type_style_index_0_lang-d6b3b6a4.js";import{d as P,r as n,a2 as R,Y as o,a4 as a,a5 as i,ai as $,bn as M,W as e,a3 as N,a7 as m,ab as S,ac as V,$ as q,ak as E,a6 as F,al as I}from"./index-c17d3913.js";import{_ as L}from"./List-28c5febd.js";import{_ as T}from"./Pagination-84d10fc7.js";import{a as U,_ as W}from"./Skeleton-ca436747.js";import"./content-c9c72716.js";import"./formatTime-09781e30.js";import"./Thing-2157b754.js";const Y={key:0,class:"pagination-wrap"},j={key:0,class:"skeleton-wrap"},A={key:1},D={key:0,class:"empty-wrap"},G=P({__name:"Collection",setup(H){const d=q(),g=$();E();const s=n(!1),_=n([]),l=n(+g.query.p||1),c=n(20),p=n(0),r=()=>{s.value=!0,M({page:l.value,page_size:c.value}).then(t=>{s.value=!1,_.value=t.list,p.value=Math.ceil(t.pager.total_rows/c.value),window.scrollTo(0,0)}).catch(t=>{s.value=!1})},v=t=>{l.value=t,r()};return R(()=>{r()}),(t,J)=>{const f=B,h=T,k=z,y=U,w=b,C=W,x=L;return e(),o("div",null,[a(f,{title:"收藏"}),a(x,{class:"main-content-wrap",bordered:""},{footer:i(()=>[p.value>1?(e(),o("div",Y,[a(h,{page:l.value,"onUpdate:page":v,"page-slot":N(d).state.collapsedRight?5:8,"page-count":p.value},null,8,["page","page-slot","page-count"])])):m("",!0)]),default:i(()=>[s.value?(e(),o("div",j,[a(k,{num:c.value},null,8,["num"])])):(e(),o("div",A,[_.value.length===0?(e(),o("div",D,[a(y,{size:"large",description:"暂无数据"})])):m("",!0),(e(!0),o(S,null,V(_.value,u=>(e(),F(C,{key:u.id},{default:i(()=>[a(w,{post:u},null,8,["post"])]),_:2},1024))),128))]))]),_:1})])}}});const se=I(G,[["__scopeId","data-v-69c01585"]]);export{se as default};

@ -0,0 +1 @@
.pagination-wrap[data-v-1e709369]{padding:10px;display:flex;justify-content:center;overflow:hidden}.dark .main-content-wrap[data-v-1e709369],.dark .empty-wrap[data-v-1e709369],.dark .skeleton-wrap[data-v-1e709369]{background-color:#101014bf}

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

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

@ -0,0 +1 @@
.contact-item[data-v-08ee9b2e]{display:flex;width:100%;padding:12px 16px}.contact-item[data-v-08ee9b2e]:hover{background:#f7f9f9;cursor:pointer}.contact-item .avatar[data-v-08ee9b2e]{width:55px}.contact-item .base-info[data-v-08ee9b2e]{position:relative;width:calc(100% - 55px)}.contact-item .base-info .username[data-v-08ee9b2e]{line-height:16px;font-size:16px}.contact-item .base-info .uid[data-v-08ee9b2e]{font-size:14px;line-height:14px;margin-top:10px;opacity:.75}.dark .contact-item[data-v-08ee9b2e]{background-color:#101014bf}.dark .contact-item[data-v-08ee9b2e]:hover{background:#18181c}.pagination-wrap[data-v-3b2bf978]{padding:10px;display:flex;justify-content:center;overflow:hidden}.dark .main-content-wrap[data-v-3b2bf978],.dark .empty-wrap[data-v-3b2bf978],.dark .skeleton-wrap[data-v-3b2bf978]{background-color:#101014bf}

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

@ -1 +0,0 @@
.contact-item[data-v-c1adabb1]{display:flex;width:100%;padding:12px 16px}.contact-item[data-v-c1adabb1]:hover{background:#f7f9f9;cursor:pointer}.contact-item .avatar[data-v-c1adabb1]{width:55px}.contact-item .base-info[data-v-c1adabb1]{position:relative;width:calc(100% - 55px)}.contact-item .base-info .username[data-v-c1adabb1]{line-height:16px;font-size:16px}.contact-item .base-info .uid[data-v-c1adabb1]{font-size:14px;line-height:14px;margin-top:10px;opacity:.75}.dark .contact-item[data-v-c1adabb1]:hover{background:#18181c}.pagination-wrap[data-v-f767ce40]{padding:10px;display:flex;justify-content:center;overflow:hidden}

File diff suppressed because one or more lines are too long

@ -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-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}.pagination-wrap[data-v-08b57fd7]{padding:10px;display:flex;justify-content:center;overflow:hidden}
.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-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}.pagination-wrap[data-v-936146f2]{padding:10px;display:flex;justify-content:center;overflow:hidden}.dark .main-content-wrap[data-v-936146f2],.dark .pagination-wrap[data-v-936146f2],.dark .empty-wrap[data-v-936146f2],.dark .skeleton-wrap[data-v-936146f2]{background-color:#101014bf}

File diff suppressed because one or more lines are too long

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

File diff suppressed because one or more lines are too long

@ -1,4 +1,8 @@
import{c as t,b as r,f as o,d as a,u as d,g as s,h as n}from"./index-c17d3913.js";const p=t("input-group",`
<<<<<<<< HEAD:web/dist/assets/InputGroup-a08135e4.js
import{c as t,b as r,f as o,d as a,u as d,g as s,h as n}from"./index-dfd5495a.js";const p=t("input-group",`
========
import{c as t,b as r,f as o,d as a,u as d,g as s,h as n}from"./index-eae02f93.js";const p=t("input-group",`
>>>>>>>> rocboss-dev:web/dist/assets/InputGroup-585cc965.js
display: inline-flex;
width: 100%;
flex-wrap: nowrap;

@ -0,0 +1,60 @@
<<<<<<<< HEAD:web/dist/assets/InputGroup-a08135e4.js
import{c as t,b as r,f as o,d as a,u as d,g as s,h as n}from"./index-dfd5495a.js";const p=t("input-group",`
========
import{c as t,b as r,f as o,d as a,u as d,g as s,h as n}from"./index-eae02f93.js";const p=t("input-group",`
>>>>>>>> rocboss-dev:web/dist/assets/InputGroup-585cc965.js
display: inline-flex;
width: 100%;
flex-wrap: nowrap;
vertical-align: bottom;
`,[r(">",[t("input",[r("&:not(:last-child)",`
border-top-right-radius: 0!important;
border-bottom-right-radius: 0!important;
`),r("&:not(:first-child)",`
border-top-left-radius: 0!important;
border-bottom-left-radius: 0!important;
margin-left: -1px!important;
`)]),t("button",[r("&:not(:last-child)",`
border-top-right-radius: 0!important;
border-bottom-right-radius: 0!important;
`,[o("state-border, border",`
border-top-right-radius: 0!important;
border-bottom-right-radius: 0!important;
`)]),r("&:not(:first-child)",`
border-top-left-radius: 0!important;
border-bottom-left-radius: 0!important;
`,[o("state-border, border",`
border-top-left-radius: 0!important;
border-bottom-left-radius: 0!important;
`)])]),r("*",[r("&:not(:last-child)",`
border-top-right-radius: 0!important;
border-bottom-right-radius: 0!important;
`,[r(">",[t("input",`
border-top-right-radius: 0!important;
border-bottom-right-radius: 0!important;
`),t("base-selection",[t("base-selection-label",`
border-top-right-radius: 0!important;
border-bottom-right-radius: 0!important;
`),t("base-selection-tags",`
border-top-right-radius: 0!important;
border-bottom-right-radius: 0!important;
`),o("box-shadow, border, state-border",`
border-top-right-radius: 0!important;
border-bottom-right-radius: 0!important;
`)])])]),r("&:not(:first-child)",`
margin-left: -1px!important;
border-top-left-radius: 0!important;
border-bottom-left-radius: 0!important;
`,[r(">",[t("input",`
border-top-left-radius: 0!important;
border-bottom-left-radius: 0!important;
`),t("base-selection",[t("base-selection-label",`
border-top-left-radius: 0!important;
border-bottom-left-radius: 0!important;
`),t("base-selection-tags",`
border-top-left-radius: 0!important;
border-bottom-left-radius: 0!important;
`),o("box-shadow, border, state-border",`
border-top-left-radius: 0!important;
border-bottom-left-radius: 0!important;
`)])])])])])]),b={},u=a({name:"InputGroup",props:b,setup(i){const{mergedClsPrefixRef:e}=d(i);return s("-input-group",p,e),{mergedClsPrefix:e}},render(){const{mergedClsPrefix:i}=this;return n("div",{class:`${i}-input-group`},this.$slots)}});export{u as _};

@ -1,4 +1,8 @@
import{b as t,c as l,e as d,f as n,cI as w,cJ as P,d as B,u as D,i as E,x as v,p as M,t as j,y as H,A as I,h as a,n as L,cK as K}from"./index-c17d3913.js";const O=t([l("list",`
<<<<<<<< HEAD:web/dist/assets/List-872c113a.js
import{b as t,c as l,e as d,f as n,cI as w,cJ as P,d as B,u as j,j as D,x as v,p as E,t as M,y as H,A as I,h as a,n as L,cK as K}from"./index-dfd5495a.js";const O=t([l("list",`
========
import{b as t,c as l,e as d,f as n,cI as w,cJ as P,d as B,u as j,j as D,x as v,p as E,t as M,y as H,A as I,h as a,n as L,cK as K}from"./index-eae02f93.js";const O=t([l("list",`
>>>>>>>> rocboss-dev:web/dist/assets/List-b09cb39c.js
--n-merged-border-color: var(--n-border-color);
--n-merged-color: var(--n-color);
--n-merged-color-hover: var(--n-color-hover);
@ -70,4 +74,4 @@ import{b as t,c as l,e as d,f as n,cI as w,cJ as P,d as B,u as D,i as E,x as v,p
--n-merged-color-hover: var(--n-color-hover-popover);
--n-merged-color: var(--n-color-popover);
--n-merged-border-color: var(--n-border-color-popover);
`))]),T=Object.assign(Object.assign({},v.props),{size:{type:String,default:"medium"},bordered:Boolean,clickable:Boolean,hoverable:Boolean,showDivider:{type:Boolean,default:!0}}),V=L("n-list"),A=B({name:"List",props:T,setup(e){const{mergedClsPrefixRef:o,inlineThemeDisabled:r,mergedRtlRef:s}=D(e),b=E("List",s,o),m=v("List","-list",O,K,e,o);M(V,{showDividerRef:j(e,"showDivider"),mergedClsPrefixRef:o});const c=H(()=>{const{common:{cubicBezierEaseInOut:p},self:{fontSize:h,textColor:u,color:g,colorModal:f,colorPopover:x,borderColor:z,borderColorModal:C,borderColorPopover:R,borderRadius:k,colorHover:y,colorHoverModal:_,colorHoverPopover:$}}=m.value;return{"--n-font-size":h,"--n-bezier":p,"--n-text-color":u,"--n-color":g,"--n-border-radius":k,"--n-border-color":z,"--n-border-color-modal":C,"--n-border-color-popover":R,"--n-color-modal":f,"--n-color-popover":x,"--n-color-hover":y,"--n-color-hover-modal":_,"--n-color-hover-popover":$}}),i=r?I("list",void 0,c,e):void 0;return{mergedClsPrefix:o,rtlEnabled:b,cssVars:r?void 0:c,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var e;const{$slots:o,mergedClsPrefix:r,onRender:s}=this;return s==null||s(),a("ul",{class:[`${r}-list`,this.rtlEnabled&&`${r}-list--rtl`,this.bordered&&`${r}-list--bordered`,this.showDivider&&`${r}-list--show-divider`,this.hoverable&&`${r}-list--hoverable`,this.clickable&&`${r}-list--clickable`,this.themeClass],style:this.cssVars},o.header?a("div",{class:`${r}-list__header`},o.header()):null,(e=o.default)===null||e===void 0?void 0:e.call(o),o.footer?a("div",{class:`${r}-list__footer`},o.footer()):null)}});export{A as _,V as l};
`))]),T=Object.assign(Object.assign({},v.props),{size:{type:String,default:"medium"},bordered:Boolean,clickable:Boolean,hoverable:Boolean,showDivider:{type:Boolean,default:!0}}),V=L("n-list"),A=B({name:"List",props:T,setup(e){const{mergedClsPrefixRef:o,inlineThemeDisabled:r,mergedRtlRef:s}=j(e),b=D("List",s,o),m=v("List","-list",O,K,e,o);E(V,{showDividerRef:M(e,"showDivider"),mergedClsPrefixRef:o});const c=H(()=>{const{common:{cubicBezierEaseInOut:p},self:{fontSize:h,textColor:u,color:g,colorModal:f,colorPopover:x,borderColor:z,borderColorModal:C,borderColorPopover:R,borderRadius:k,colorHover:y,colorHoverModal:_,colorHoverPopover:$}}=m.value;return{"--n-font-size":h,"--n-bezier":p,"--n-text-color":u,"--n-color":g,"--n-border-radius":k,"--n-border-color":z,"--n-border-color-modal":C,"--n-border-color-popover":R,"--n-color-modal":f,"--n-color-popover":x,"--n-color-hover":y,"--n-color-hover-modal":_,"--n-color-hover-popover":$}}),i=r?I("list",void 0,c,e):void 0;return{mergedClsPrefix:o,rtlEnabled:b,cssVars:r?void 0:c,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var e;const{$slots:o,mergedClsPrefix:r,onRender:s}=this;return s==null||s(),a("ul",{class:[`${r}-list`,this.rtlEnabled&&`${r}-list--rtl`,this.bordered&&`${r}-list--bordered`,this.showDivider&&`${r}-list--show-divider`,this.hoverable&&`${r}-list--hoverable`,this.clickable&&`${r}-list--clickable`,this.themeClass],style:this.cssVars},o.header?a("div",{class:`${r}-list__header`},o.header()):null,(e=o.default)===null||e===void 0?void 0:e.call(o),o.footer?a("div",{class:`${r}-list__footer`},o.footer()):null)}});export{A as _,V as l};

@ -0,0 +1,77 @@
<<<<<<<< HEAD:web/dist/assets/List-872c113a.js
import{b as t,c as l,e as d,f as n,cI as w,cJ as P,d as B,u as j,j as D,x as v,p as E,t as M,y as H,A as I,h as a,n as L,cK as K}from"./index-dfd5495a.js";const O=t([l("list",`
========
import{b as t,c as l,e as d,f as n,cI as w,cJ as P,d as B,u as j,j as D,x as v,p as E,t as M,y as H,A as I,h as a,n as L,cK as K}from"./index-eae02f93.js";const O=t([l("list",`
>>>>>>>> rocboss-dev:web/dist/assets/List-b09cb39c.js
--n-merged-border-color: var(--n-border-color);
--n-merged-color: var(--n-color);
--n-merged-color-hover: var(--n-color-hover);
margin: 0;
font-size: var(--n-font-size);
transition:
background-color .3s var(--n-bezier),
color .3s var(--n-bezier),
border-color .3s var(--n-bezier);
padding: 0;
list-style-type: none;
color: var(--n-text-color);
background-color: var(--n-merged-color);
`,[d("show-divider",[l("list-item",[t("&:not(:last-child)",[n("divider",`
background-color: var(--n-merged-border-color);
`)])])]),d("clickable",[l("list-item",`
cursor: pointer;
`)]),d("bordered",`
border: 1px solid var(--n-merged-border-color);
border-radius: var(--n-border-radius);
`),d("hoverable",[l("list-item",`
border-radius: var(--n-border-radius);
`,[t("&:hover",`
background-color: var(--n-merged-color-hover);
`,[n("divider",`
background-color: transparent;
`)])])]),d("bordered, hoverable",[l("list-item",`
padding: 12px 20px;
`),n("header, footer",`
padding: 12px 20px;
`)]),n("header, footer",`
padding: 12px 0;
box-sizing: border-box;
transition: border-color .3s var(--n-bezier);
`,[t("&:not(:last-child)",`
border-bottom: 1px solid var(--n-merged-border-color);
`)]),l("list-item",`
position: relative;
padding: 12px 0;
box-sizing: border-box;
display: flex;
flex-wrap: nowrap;
align-items: center;
transition:
background-color .3s var(--n-bezier),
border-color .3s var(--n-bezier);
`,[n("prefix",`
margin-right: 20px;
flex: 0;
`),n("suffix",`
margin-left: 20px;
flex: 0;
`),n("main",`
flex: 1;
`),n("divider",`
height: 1px;
position: absolute;
bottom: 0;
left: 0;
right: 0;
background-color: transparent;
transition: background-color .3s var(--n-bezier);
pointer-events: none;
`)])]),w(l("list",`
--n-merged-color-hover: var(--n-color-hover-modal);
--n-merged-color: var(--n-color-modal);
--n-merged-border-color: var(--n-border-color-modal);
`)),P(l("list",`
--n-merged-color-hover: var(--n-color-hover-popover);
--n-merged-color: var(--n-color-popover);
--n-merged-border-color: var(--n-border-color-popover);
`))]),T=Object.assign(Object.assign({},v.props),{size:{type:String,default:"medium"},bordered:Boolean,clickable:Boolean,hoverable:Boolean,showDivider:{type:Boolean,default:!0}}),V=L("n-list"),A=B({name:"List",props:T,setup(e){const{mergedClsPrefixRef:o,inlineThemeDisabled:r,mergedRtlRef:s}=j(e),b=D("List",s,o),m=v("List","-list",O,K,e,o);E(V,{showDividerRef:M(e,"showDivider"),mergedClsPrefixRef:o});const c=H(()=>{const{common:{cubicBezierEaseInOut:p},self:{fontSize:h,textColor:u,color:g,colorModal:f,colorPopover:x,borderColor:z,borderColorModal:C,borderColorPopover:R,borderRadius:k,colorHover:y,colorHoverModal:_,colorHoverPopover:$}}=m.value;return{"--n-font-size":h,"--n-bezier":p,"--n-text-color":u,"--n-color":g,"--n-border-radius":k,"--n-border-color":z,"--n-border-color-modal":C,"--n-border-color-popover":R,"--n-color-modal":f,"--n-color-popover":x,"--n-color-hover":y,"--n-color-hover-modal":_,"--n-color-hover-popover":$}}),i=r?I("list",void 0,c,e):void 0;return{mergedClsPrefix:o,rtlEnabled:b,cssVars:r?void 0:c,themeClass:i==null?void 0:i.themeClass,onRender:i==null?void 0:i.onRender}},render(){var e;const{$slots:o,mergedClsPrefix:r,onRender:s}=this;return s==null||s(),a("ul",{class:[`${r}-list`,this.rtlEnabled&&`${r}-list--rtl`,this.bordered&&`${r}-list--bordered`,this.showDivider&&`${r}-list--show-divider`,this.hoverable&&`${r}-list--hoverable`,this.clickable&&`${r}-list--clickable`,this.themeClass],style:this.cssVars},o.header?a("div",{class:`${r}-list__header`},o.header()):null,(e=o.default)===null||e===void 0?void 0:e.call(o),o.footer?a("div",{class:`${r}-list__footer`},o.footer()):null)}});export{A as _,V as l};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
.message-item[data-v-4a0e27fa]{padding:16px}.message-item.unread[data-v-4a0e27fa]{background:#fcfffc}.message-item .sender-wrap[data-v-4a0e27fa]{display:flex;align-items:center}.message-item .sender-wrap .username[data-v-4a0e27fa]{opacity:.75;font-size:14px}.message-item .timestamp[data-v-4a0e27fa]{opacity:.75;font-size:12px;display:flex;align-items:center}.message-item .timestamp .timestamp-txt[data-v-4a0e27fa]{margin-left:6px}.message-item .brief-wrap[data-v-4a0e27fa]{margin-top:10px}.message-item .brief-wrap .brief-content[data-v-4a0e27fa],.message-item .brief-wrap .whisper-content-wrap[data-v-4a0e27fa],.message-item .brief-wrap .requesting-friend-wrap[data-v-4a0e27fa]{display:flex;width:100%}.message-item .view-link[data-v-4a0e27fa]{margin-left:8px;display:flex;align-items:center}.message-item .status-info[data-v-4a0e27fa]{margin-left:8px;align-items:center}.dark .message-item[data-v-4a0e27fa]{background-color:#101014bf}.dark .message-item.unread[data-v-4a0e27fa]{background:#0f180b}.dark .message-item .brief-wrap[data-v-4a0e27fa]{background-color:#18181c}.skeleton-item[data-v-01d2e871]{padding:12px;display:flex}.skeleton-item .content[data-v-01d2e871]{width:100%}.dark .skeleton-item[data-v-01d2e871]{background-color:#101014bf}.pagination-wrap[data-v-4e7b1342]{padding:10px;display:flex;justify-content:center;overflow:hidden}.dark .empty-wrap[data-v-4e7b1342],.dark .messages-wrap[data-v-4e7b1342],.dark .pagination-wrap[data-v-4e7b1342]{background-color:#101014bf}

File diff suppressed because one or more lines are too long

@ -1 +0,0 @@
.message-item[data-v-00f99473]{padding:16px}.message-item.unread[data-v-00f99473]{background:#fcfffc}.message-item .sender-wrap[data-v-00f99473]{display:flex;align-items:center}.message-item .sender-wrap .username[data-v-00f99473]{opacity:.75;font-size:14px}.message-item .timestamp[data-v-00f99473]{opacity:.75;font-size:12px;display:flex;align-items:center}.message-item .timestamp .timestamp-txt[data-v-00f99473]{margin-left:6px}.message-item .brief-wrap[data-v-00f99473]{margin-top:10px}.message-item .brief-wrap .brief-content[data-v-00f99473],.message-item .brief-wrap .whisper-content-wrap[data-v-00f99473],.message-item .brief-wrap .requesting-friend-wrap[data-v-00f99473]{display:flex;width:100%}.message-item .view-link[data-v-00f99473]{margin-left:8px;display:flex;align-items:center}.message-item .status-info[data-v-00f99473]{margin-left:8px;align-items:center}.dark .message-item.unread[data-v-00f99473]{background:#0f180b}.skeleton-item[data-v-2eda9fa4]{padding:12px;display:flex}.skeleton-item .content[data-v-2eda9fa4]{width:100%}.pagination-wrap[data-v-14709a1d]{padding:10px;display:flex;justify-content:center;overflow:hidden}

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

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

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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +0,0 @@
.reply-compose-wrap .reply-switch[data-v-e5019121]{text-align:right;font-size:12px;margin:10px 0}.reply-compose-wrap .reply-switch .show[data-v-e5019121]{color:#18a058;cursor:pointer}.reply-compose-wrap .reply-switch .hide[data-v-e5019121]{opacity:.75;cursor:pointer}.reply-item[data-v-25221b2c]{display:flex;flex-direction:column;font-size:12px;padding:8px;border-bottom:1px solid #f3f3f3}.reply-item .header-wrap[data-v-25221b2c]{display:flex;align-items:center;justify-content:space-between}.reply-item .header-wrap .username[data-v-25221b2c]{max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-item .header-wrap .username .reply-name[data-v-25221b2c]{margin:0 3px;opacity:.75}.reply-item .header-wrap .timestamp[data-v-25221b2c]{opacity:.75;text-align:right;display:flex;align-items:center;max-width:50%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reply-item .base-wrap[data-v-25221b2c]{display:flex}.reply-item .base-wrap .content[data-v-25221b2c]{width:calc(100% - 40px);margin-top:4px;font-size:12px;text-align:justify;line-height:2}.reply-item .base-wrap .reply-switch[data-v-25221b2c]{width:40px;text-align:right;font-size:12px;margin:10px 0 0}.reply-item .base-wrap .reply-switch .show[data-v-25221b2c]{color:#18a058;cursor:pointer}.reply-item .base-wrap .reply-switch .hide[data-v-25221b2c]{opacity:.75;cursor:pointer}.dark .reply-item[data-v-25221b2c]{border-bottom:1px solid #262628}.comment-item[data-v-d4d44282]{width:100%;padding:16px;box-sizing:border-box}.comment-item .nickname-wrap[data-v-d4d44282]{font-size:14px}.comment-item .username-wrap[data-v-d4d44282]{font-size:14px;opacity:.75}.comment-item .opt-wrap[data-v-d4d44282]{display:flex;align-items:center}.comment-item .opt-wrap .timestamp[data-v-d4d44282]{opacity:.75;font-size:12px}.comment-item .opt-wrap .del-btn[data-v-d4d44282]{margin-left:4px}.comment-item .comment-text[data-v-d4d44282]{display:block;text-align:justify;overflow:hidden;white-space:pre-wrap;word-break:break-all}.comment-item .opt-item[data-v-d4d44282]{display:flex;align-items:center;opacity:.7}.comment-item .opt-item .opt-item-icon[data-v-d4d44282]{margin-right:10px}.reply-wrap[data-v-d4d44282]{margin-top:10px;border-radius:5px;background:#fafafc}.reply-wrap .reply-item[data-v-d4d44282]:last-child{border-bottom:none}.dark .reply-wrap[data-v-d4d44282]{background:#18181c}.compose-wrap[data-v-f617ba05]{width:100%;padding:16px;box-sizing:border-box}.compose-wrap .compose-line[data-v-f617ba05]{display:flex;flex-direction:row}.compose-wrap .compose-line .compose-user[data-v-f617ba05]{width:42px;height:42px;display:flex;align-items:center}.compose-wrap .compose-line.compose-options[data-v-f617ba05]{margin-top:6px;padding-left:42px;display:flex;justify-content:space-between}.compose-wrap .compose-line.compose-options .submit-wrap[data-v-f617ba05]{display:flex;align-items:center}.compose-wrap .compose-line.compose-options .submit-wrap .cancel-btn[data-v-f617ba05]{margin-right:8px}.compose-wrap .login-wrap[data-v-f617ba05]{display:flex;justify-content:center;width:100%}.compose-wrap .login-wrap .login-banner[data-v-f617ba05]{margin-bottom:12px;opacity:.8}.compose-wrap .login-wrap button[data-v-f617ba05]{margin:0 4px}.attachment[data-v-f617ba05]{display:flex;align-items:center}.attachment .text-statistic[data-v-f617ba05]{margin-left:8px;width:18px;height:18px;transform:rotate(180deg)}.attachment-list-wrap[data-v-f617ba05]{margin-top:12px;margin-left:42px}.attachment-list-wrap .n-upload-file-info__thumbnail[data-v-f617ba05]{overflow:hidden}.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-9f8ff949]{min-height:100px}.comment-opts-wrap[data-v-9f8ff949]{margin-top:6px}.comment-opts-wrap .comment-opt-item[data-v-9f8ff949]{display:flex;padding-left:16px;padding-right:16px;align-items:center;opacity:.75}.comment-opts-wrap .comment-title-item[data-v-9f8ff949]{padding-left:16px;padding-top:4px;font-size:16px;text-align:center;opacity:.75}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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

@ -1 +0,0 @@
.profile-baseinfo[data-v-9040c022]{display:flex;padding:16px}.profile-baseinfo .avatar[data-v-9040c022]{width:55px}.profile-baseinfo .base-info[data-v-9040c022]{position:relative;width:calc(100% - 55px)}.profile-baseinfo .base-info .username[data-v-9040c022]{line-height:16px;font-size:16px}.profile-baseinfo .base-info .uid[data-v-9040c022]{font-size:14px;line-height:14px;margin-top:10px;opacity:.75}.profile-tabs-wrap[data-v-9040c022]{padding:0 16px}.pagination-wrap[data-v-9040c022]{padding:10px;display:flex;justify-content:center;overflow:hidden}

@ -0,0 +1 @@
.profile-baseinfo[data-v-1d87d974]{display:flex;padding:16px}.profile-baseinfo .avatar[data-v-1d87d974]{width:55px}.profile-baseinfo .base-info[data-v-1d87d974]{position:relative;width:calc(100% - 55px)}.profile-baseinfo .base-info .username[data-v-1d87d974]{line-height:16px;font-size:16px}.profile-baseinfo .base-info .uid[data-v-1d87d974]{font-size:14px;line-height:14px;margin-top:10px;opacity:.75}.profile-tabs-wrap[data-v-1d87d974]{padding:0 16px}.pagination-wrap[data-v-1d87d974]{padding:10px;display:flex;justify-content:center;overflow:hidden}.dark .profile-baseinfo[data-v-1d87d974]{background-color:#18181c}.dark .profile-wrap[data-v-1d87d974],.dark .pagination-wrap[data-v-1d87d974]{background-color:#101014bf}

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

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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1 +0,0 @@
.setting-card[data-v-3f84f089]{margin-top:-1px;border-radius:0}.setting-card .form-submit-wrap[data-v-3f84f089]{display:flex;justify-content:flex-end}.setting-card .base-line[data-v-3f84f089]{line-height:2;display:flex;align-items:center}.setting-card .base-line .base-label[data-v-3f84f089]{opacity:.75;margin-right:12px}.setting-card .base-line .nickname-input[data-v-3f84f089]{margin-right:10px;width:120px}.setting-card .avatar[data-v-3f84f089]{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:20px}.setting-card .avatar .avatar-img[data-v-3f84f089]{margin-bottom:10px}.setting-card .hash-link[data-v-3f84f089]{margin-left:12px}.setting-card .phone-bind-wrap[data-v-3f84f089]{margin-top:20px}.setting-card .phone-bind-wrap .captcha-img-wrap[data-v-3f84f089]{width:100%;display:flex;align-items:center}.setting-card .phone-bind-wrap .captcha-img[data-v-3f84f089]{width:125px;height:34px;border-radius:3px;margin-left:10px;overflow:hidden;cursor:pointer}.setting-card .phone-bind-wrap .captcha-img img[data-v-3f84f089]{width:100%;height:100%}

@ -0,0 +1 @@
.setting-card[data-v-a681720e]{margin-top:-1px;border-radius:0}.setting-card .form-submit-wrap[data-v-a681720e]{display:flex;justify-content:flex-end}.setting-card .base-line[data-v-a681720e]{line-height:2;display:flex;align-items:center}.setting-card .base-line .base-label[data-v-a681720e]{opacity:.75;margin-right:12px}.setting-card .base-line .nickname-input[data-v-a681720e]{margin-right:10px;width:120px}.setting-card .avatar[data-v-a681720e]{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:20px}.setting-card .avatar .avatar-img[data-v-a681720e]{margin-bottom:10px}.setting-card .hash-link[data-v-a681720e]{margin-left:12px}.setting-card .phone-bind-wrap[data-v-a681720e]{margin-top:20px}.setting-card .phone-bind-wrap .captcha-img-wrap[data-v-a681720e]{width:100%;display:flex;align-items:center}.setting-card .phone-bind-wrap .captcha-img[data-v-a681720e]{width:125px;height:34px;border-radius:3px;margin-left:10px;overflow:hidden;cursor:pointer}.setting-card .phone-bind-wrap .captcha-img img[data-v-a681720e]{width:100%;height:100%}.dark .setting-card[data-v-a681720e]{background-color:#101014bf}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,4 +1,8 @@
import{c as r,f as d,b as c,d as $,u as b,x as u,bE as y,i as E,y as S,A as w,h as i,ab as z}from"./index-c17d3913.js";const C=r("thing",`
<<<<<<<< HEAD:web/dist/assets/Thing-7c7318d4.js
import{c as r,f as d,b as c,d as $,u as b,x as u,bE as y,j as E,y as S,A as w,h as i,ab as z}from"./index-dfd5495a.js";const C=r("thing",`
========
import{c as r,f as d,b as c,d as $,u as b,x as u,bE as y,j as E,y as S,A as w,h as i,ab as z}from"./index-eae02f93.js";const C=r("thing",`
>>>>>>>> rocboss-dev:web/dist/assets/Thing-fd33e8eb.js
display: flex;
transition: color .3s var(--n-bezier);
font-size: var(--n-font-size);

@ -0,0 +1,38 @@
<<<<<<<< HEAD:web/dist/assets/Thing-7c7318d4.js
import{c as r,f as d,b as c,d as $,u as b,x as u,bE as y,j as E,y as S,A as w,h as i,ab as z}from"./index-dfd5495a.js";const C=r("thing",`
========
import{c as r,f as d,b as c,d as $,u as b,x as u,bE as y,j as E,y as S,A as w,h as i,ab as z}from"./index-eae02f93.js";const C=r("thing",`
>>>>>>>> rocboss-dev:web/dist/assets/Thing-fd33e8eb.js
display: flex;
transition: color .3s var(--n-bezier);
font-size: var(--n-font-size);
color: var(--n-text-color);
`,[r("thing-avatar",`
margin-right: 12px;
margin-top: 2px;
`),r("thing-avatar-header-wrapper",`
display: flex;
flex-wrap: nowrap;
`,[r("thing-header-wrapper",`
flex: 1;
`)]),r("thing-main",`
flex-grow: 1;
`,[r("thing-header",`
display: flex;
margin-bottom: 4px;
justify-content: space-between;
align-items: center;
`,[d("title",`
font-size: 16px;
font-weight: var(--n-title-font-weight);
transition: color .3s var(--n-bezier);
color: var(--n-title-text-color);
`)]),d("description",[c("&:not(:last-child)",`
margin-bottom: 4px;
`)]),d("content",[c("&:not(:first-child)",`
margin-top: 12px;
`)]),d("footer",[c("&:not(:first-child)",`
margin-top: 12px;
`)]),d("action",[c("&:not(:first-child)",`
margin-top: 12px;
`)])])]),R=Object.assign(Object.assign({},u.props),{title:String,titleExtra:String,description:String,descriptionStyle:[String,Object],content:String,contentStyle:[String,Object],contentIndented:Boolean}),j=$({name:"Thing",props:R,setup(t,{slots:e}){const{mergedClsPrefixRef:h,inlineThemeDisabled:o,mergedRtlRef:f}=b(t),m=u("Thing","-thing",C,y,t,h),v=E("Thing",f,h),x=S(()=>{const{self:{titleTextColor:l,textColor:n,titleFontWeight:g,fontSize:s},common:{cubicBezierEaseInOut:_}}=m.value;return{"--n-bezier":_,"--n-font-size":s,"--n-text-color":n,"--n-title-font-weight":g,"--n-title-text-color":l}}),a=o?w("thing",void 0,x,t):void 0;return()=>{var l;const{value:n}=h,g=v?v.value:!1;return(l=a==null?void 0:a.onRender)===null||l===void 0||l.call(a),i("div",{class:[`${n}-thing`,a==null?void 0:a.themeClass,g&&`${n}-thing--rtl`],style:o?void 0:x.value},e.avatar&&t.contentIndented?i("div",{class:`${n}-thing-avatar`},e.avatar()):null,i("div",{class:`${n}-thing-main`},!t.contentIndented&&(e.header||t.title||e["header-extra"]||t.titleExtra||e.avatar)?i("div",{class:`${n}-thing-avatar-header-wrapper`},e.avatar?i("div",{class:`${n}-thing-avatar`},e.avatar()):null,e.header||t.title||e["header-extra"]||t.titleExtra?i("div",{class:`${n}-thing-header-wrapper`},i("div",{class:`${n}-thing-header`},e.header||t.title?i("div",{class:`${n}-thing-header__title`},e.header?e.header():t.title):null,e["header-extra"]||t.titleExtra?i("div",{class:`${n}-thing-header__extra`},e["header-extra"]?e["header-extra"]():t.titleExtra):null),e.description||t.description?i("div",{class:`${n}-thing-main__description`,style:t.descriptionStyle},e.description?e.description():t.description):null):null):i(z,null,e.header||t.title||e["header-extra"]||t.titleExtra?i("div",{class:`${n}-thing-header`},e.header||t.title?i("div",{class:`${n}-thing-header__title`},e.header?e.header():t.title):null,e["header-extra"]||t.titleExtra?i("div",{class:`${n}-thing-header__extra`},e["header-extra"]?e["header-extra"]():t.titleExtra):null):null,e.description||t.description?i("div",{class:`${n}-thing-main__description`,style:t.descriptionStyle},e.description?e.description():t.description):null),e.default||t.content?i("div",{class:`${n}-thing-main__content`,style:t.contentStyle},e.default?e.default():t.content):null,e.footer?i("div",{class:`${n}-thing-main__footer`},e.footer()):null,e.action?i("div",{class:`${n}-thing-main__action`},e.action()):null))}}});export{j as _};

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

@ -0,0 +1 @@
.tags-wrap[data-v-c1908b4e]{padding:20px}.tags-wrap .tag-item .tag-hot[data-v-c1908b4e]{margin-left:12px;font-size:12px;opacity:.75}.dark .tags-wrap[data-v-c1908b4e]{background-color:#101014bf}

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

@ -1 +0,0 @@
.tags-wrap[data-v-76c2a584]{padding:20px}.tags-wrap .tag-item .tag-hot[data-v-76c2a584]{margin-left:12px;font-size:12px;opacity:.75}

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

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
.whisper-wrap .whisper-line[data-v-0cbfe47c]{margin-top:10px}.whisper-wrap .whisper-line.send-wrap .n-button[data-v-0cbfe47c]{width:100%}.dark .whisper-wrap[data-v-0cbfe47c]{background-color:#101014bf}.whisper-wrap .whisper-line[data-v-60be56a2]{margin-top:10px}.whisper-wrap .whisper-line.send-wrap .n-button[data-v-60be56a2]{width:100%}.dark .whisper-wrap[data-v-60be56a2]{background-color:#101014bf}.profile-tabs-wrap[data-v-46a0183a]{padding:0 16px}.profile-baseinfo[data-v-46a0183a]{display:flex;padding:16px}.profile-baseinfo .avatar[data-v-46a0183a]{width:55px}.profile-baseinfo .base-info[data-v-46a0183a]{position:relative;width:calc(100% - 55px)}.profile-baseinfo .base-info .username[data-v-46a0183a]{line-height:16px;font-size:16px}.profile-baseinfo .base-info .uid[data-v-46a0183a]{font-size:14px;line-height:14px;margin-top:10px;opacity:.75}.profile-baseinfo .base-info .top-tag[data-v-46a0183a]{transform:scale(.75)}.profile-baseinfo .user-opts[data-v-46a0183a]{position:absolute;top:16px;right:16px;opacity:.75}.pagination-wrap[data-v-46a0183a]{padding:10px;display:flex;justify-content:center;overflow:hidden}.dark .profile-baseinfo[data-v-46a0183a]{background-color:#18181c}.dark .profile-wrap[data-v-46a0183a],.dark .pagination-wrap[data-v-46a0183a]{background-color:#101014bf}

File diff suppressed because one or more lines are too long

@ -1 +0,0 @@
.whisper-wrap .whisper-line[data-v-b5f47c62]{margin-top:10px}.whisper-wrap .whisper-line.send-wrap .n-button[data-v-b5f47c62]{width:100%}.whisper-wrap .whisper-line[data-v-f53aca56]{margin-top:10px}.whisper-wrap .whisper-line.send-wrap .n-button[data-v-f53aca56]{width:100%}.profile-tabs-wrap[data-v-8cd7572c]{padding:0 16px}.profile-baseinfo[data-v-8cd7572c]{display:flex;padding:16px}.profile-baseinfo .avatar[data-v-8cd7572c]{width:55px}.profile-baseinfo .base-info[data-v-8cd7572c]{position:relative;width:calc(100% - 55px)}.profile-baseinfo .base-info .username[data-v-8cd7572c]{line-height:16px;font-size:16px}.profile-baseinfo .base-info .uid[data-v-8cd7572c]{font-size:14px;line-height:14px;margin-top:10px;opacity:.75}.profile-baseinfo .base-info .top-tag[data-v-8cd7572c]{transform:scale(.75)}.profile-baseinfo .user-opts[data-v-8cd7572c]{position:absolute;top:16px;right:16px;opacity:.75}.pagination-wrap[data-v-8cd7572c]{padding:10px;display:flex;justify-content:center;overflow:hidden}

@ -0,0 +1 @@
.balance-wrap[data-v-870bd246]{padding:16px}.balance-wrap .balance-line[data-v-870bd246]{display:flex;justify-content:space-between}.balance-wrap .balance-line .balance-opts[data-v-870bd246]{display:flex;flex-direction:column}.bill-line[data-v-870bd246]{padding:16px;display:flex;justify-content:space-between}.bill-line .income[data-v-870bd246],.bill-line .out[data-v-870bd246]{font-weight:700}.bill-line .income[data-v-870bd246]{color:#18a058}.pagination-wrap[data-v-870bd246]{padding:10px;display:flex;justify-content:center;overflow:hidden}.qrcode-wrap[data-v-870bd246]{display:flex;flex-direction:column;align-items:center;justify-content:center}.qrcode-wrap .pay-tips[data-v-870bd246]{margin-top:16px}.qrcode-wrap .pay-sub-tips[data-v-870bd246]{margin-top:4px;font-size:12px;opacity:.75;display:flex;align-items:center}.dark .income[data-v-870bd246]{color:#63e2b7}.dark .main-content-wrap[data-v-870bd246]{background-color:#101014bf}

@ -1 +0,0 @@
.balance-wrap[data-v-83cd966a]{padding:16px}.balance-wrap .balance-line[data-v-83cd966a]{display:flex;justify-content:space-between}.balance-wrap .balance-line .balance-opts[data-v-83cd966a]{display:flex;flex-direction:column}.bill-line[data-v-83cd966a]{padding:16px;display:flex;justify-content:space-between}.bill-line .income[data-v-83cd966a],.bill-line .out[data-v-83cd966a]{font-weight:700}.bill-line .income[data-v-83cd966a]{color:#18a058}.pagination-wrap[data-v-83cd966a]{padding:10px;display:flex;justify-content:center;overflow:hidden}.qrcode-wrap[data-v-83cd966a]{display:flex;flex-direction:column;align-items:center;justify-content:center}.qrcode-wrap .pay-tips[data-v-83cd966a]{margin-top:16px}.qrcode-wrap .pay-sub-tips[data-v-83cd966a]{margin-top:4px;font-size:12px;opacity:.75;display:flex;align-items:center}.dark .income[data-v-83cd966a]{color:#63e2b7}

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save